<commit_before><!doctype html>
<!--[if lt IE 7]> <html class="lt-ie10 lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="lt-ie10 lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="lt-ie10 lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9]>    <html class="lt-ie10" lang="en"> <![endif]-->
<!--[if !IE]><!--><html lang="en"> <!--<![endif]-->
<head>
  <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
  <!--<script src="http://ie.microsoft.com/TestDrive/HTML5/CompatInspector/inspector.js"></script>-->  <!-- for testing IE compatibility issues -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1">

  <title>CodeCombat - Learn how to code by playing a game</title>
  <meta name="description" content="Learn programming with a multiplayer live coding strategy game. You're a wizard, and your spells are JavaScript. Free, open source HTML5 game!">

  <meta property="og:title" content="CodeCombat: Multiplayer Programming">
  <meta property="og:url" content="http://codecombat.com">
  <meta property="og:type" content="game">
  <meta property="og:image" content="http://codecombat.com/images/pages/home/front_screenshot_01.png">
  <meta property="og:site_name" content="CodeCombat">

  <meta name="twitter:card" content="summary">
  <meta name="twitter:title" content="CodeCombat: Multiplayer Programming">
  <meta name="twitter:url" content="http://codecombat.com">
  <meta name="twitter:site" content="CodeCombat">
  <meta name="twitter:image:src" content="http://codecombat.com/images/pages/base/logo_square_250.png">
  <meta name="twitter:description" content="Learn programming with a multiplayer live coding strategy game. You're a wizard, and your spells are JavaScript. Free, open source HTML5 game!">


  <link href="https://plus.google.com/115285980638641924488" rel="publisher" />

  <link rel="shortcut icon" href="/images/favicon.ico">
  <link rel="stylesheet" href="/stylesheets/app.css">
  <script src="/lib/ace/ace.js"></script>  
  <!--[if IE 9]>     <script src="/javascripts/vendor_with_box2d.js"></script> <![endif]-->
  <!--[if !IE]><!--> <script src="/javascripts/vendor.js"></script>            <!--<![endif]-->
  <script src="/javascripts/app.js"></script> <!-- it's all Backbone! -->
  
  <script>
    window.userObject = "userObjectTag";
  </script>
  
  <script>require('initialize');</script>


  <!-- begin segment.io code -->
  <script type="text/javascript">
  var analytics=analytics||[];(function(){var e=["identify","track","trackLink","trackForm","trackClick","trackSubmit","page","pageview","ab","alias","ready","group"],t=function(e){return function(){analytics.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var n=0;n<e.length;n++)analytics[e[n]]=t(e[n])})(),analytics.load=function(e){var t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=("https:"===document.location.protocol?"https://":"http://")+"d2dq2ahtl5zl1z.cloudfront.net/analytics.js/v1/"+e+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n)};
  analytics.load("jsjzx9n4d2");
  </script>
  <!-- end segment.io code -->

  <!-- begin olark code -->
  <script data-cfasync="false" type='text/javascript'>/*<![CDATA[*/window.olark||(function(c){var f=window,d=document,l=f.location.protocol=="https:"?"https:":"http:",z=c.name,r="load";var nt=function(){
    f[z]=function(){
    (a.s=a.s||[]).push(arguments)};var a=f[z]._={
    },q=c.methods.length;while(q--){(function(n){f[z][n]=function(){
    f[z]("call",n,arguments)}})(c.methods[q])}a.l=c.loader;a.i=nt;a.p={
    0:+new Date};a.P=function(u){
    a.p[u]=new Date-a.p[0]};function s(){
    a.P(r);f[z](r)}f.addEventListener?f.addEventListener(r,s,false):f.attachEvent("on"+r,s);var ld=function(){function p(hd){
    hd="head";return["<",hd,"></",hd,"><",i,' onl' + 'oad="var d=',g,";d.getElementsByTagName('head')[0].",j,"(d.",h,"('script')).",k,"='",l,"//",a.l,"'",'"',"></",i,">"].join("")}var i="body",m=d[i];if(!m){
    return setTimeout(ld,100)}a.P(1);var j="appendChild",h="createElement",k="src",n=d[h]("div"),v=n[j](d[h](z)),b=d[h]("iframe"),g="document",e="domain",o;n.style.display="none";m.insertBefore(n,m.firstChild).id=z;b.frameBorder="0";b.id=z+"-loader";if(/MSIE[ ]+6/.test(navigator.userAgent)){
    b.src="javascript:false"}b.allowTransparency="true";v[j](b);try{
    b.contentWindow[g].open()}catch(w){
    c[e]=d[e];o="javascript:var d="+g+".open();d.domain='"+d.domain+"';";b[k]=o+"void(0);"}try{
    var t=b.contentWindow[g];t.write(p());t.close()}catch(x){
    b[k]=o+'d.write("'+p().replace(/"/g,String.fromCharCode(92)+'"')+'");d.close();'}a.P(2)};ld()};nt()})({
    loader: "static.olark.com/jsclient/loader0.js",name:"olark",methods:["configure","extend","declare","identify"]});
    /* custom configuration goes here (www.olark.com/documentation) */
    olark.identify('1451-787-10-5544');/*]]>*/</script>
  <!-- end olark code -->

</head>
<body class="nano clearfix">
  <div id="fb-root"></div>

<!-- begin facebook code -->
  <script>
    // Additional JS functions here
    window.fbAsyncInit = function() {
      Backbone.Mediator.publish('fbapi-loaded');
      FB.init({
        appId      : document.location.origin === 'http://localhost:3000' ? '607435142676437' : '148832601965463', // App ID
        channelUrl : document.location.origin +'/channel.html', // Channel File
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
      });

      // This is fired for any auth related change, such as login, logout or session refresh.
      FB.Event.subscribe('auth.authResponseChange', function(response) {
        // Here we specify what we do with the response anytime this event occurs. 
        if (response.status === 'connected') {
          // They have logged in to the app.
          Backbone.Mediator.publish('facebook-logged-in', {response:response});
        } else if (response.status === 'not_authorized') {
          // The person is logged into Facebook, but not into the app.
        } else {
          // The person is not logged into Facebook
        }
      });
    };

    // Load the SDK asynchronously
    (function(d){
      var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
      if (d.getElementById(id)) {return;}
      js = d.createElement('script'); js.id = id; js.async = true;
      js.src = "//connect.facebook.net/en_US/all.js";
      //js.src = "//connect.facebook.net/en_US/all/debug.js";
      ref.parentNode.insertBefore(js, ref);
    }(document));
  </script>
  <!-- end facebook code -->


  <header class="header-container" id="header-container"></header>
  
  <div id="page-container" class="nano-content"></div>

  <div id="modal-wrapper" class="modal-content"></div>

  <!-- begin google api/plus code -->
  <script type="text/javascript">
    (function() {
      var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
      po.src = 'https://apis.google.com/js/client:plusone.js?onload=onGPlusLoaded';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    
    function onGPlusLoaded() {
      Backbone.Mediator.publish('gapi-loaded');
    }

    function signinCallback(authResult) {
      if (authResult['access_token']) {
        Backbone.Mediator.publish('gplus-logged-in', authResult)
      }
    }
  </script>
  <!-- end google api/plus code -->

  <!-- begin twitter code -->
  <script>
    (function (d,s,id) {
      var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
      if(!d.getElementById(id)) {
        js = d.createElement(s);
        js.id = id;
        js.src = p + '://platform.twitter.com/widgets.js';
        fjs.parentNode.insertBefore(js, fjs);
      }
    })(document, 'script', 'twitter-wjs');
  </script>
  <!-- end twitter code -->

  <!-- begin filepicker.io code -->
  <script type="text/javascript">
    (function(a){if(window.filepicker){return}var b=a.createElement("script");b.type="text/javascript";b.async=!0;b.src=("https:"===a.location.protocol?"https:":"http:")+"//api.filepicker.io/v1/filepicker.js";var c=a.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c);var d={};d._queue=[];var e="pick,pickMultiple,pickAndStore,read,write,writeUrl,export,convert,store,storeUrl,remove,stat,setKey,constructWidget,makeDropPane".split(",");var f=function(a,b){return function(){b.push([a,arguments])}};for(var g=0;g<e.length;g++){d[e[g]]=f(e[g],d._queue)}window.filepicker=d})(document);
  </script>
  <!-- end filepicker.io code -->

  <!-- being nanascroller code -->
  <!--<script type="text/javascript">
    function renderScrollbar(){
      $('.nano-pane').css('display','none');
      $(function(){
        $('.nano').nanoScroller();
      });
    };

    // Doesn't seem to load when you open for first time.
    $(function(){
      setTimeout(function(){
        $('.nano').nanoScroller();
      },1000);
    });
  </script>-->
  <!-- end nanoscroller code -->
</body>
</html>
<commit_msg>Removed nanoscroller code from main.html<commit_after><!doctype html>
<!--[if lt IE 7]> <html class="lt-ie10 lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="lt-ie10 lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="lt-ie10 lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9]>    <html class="lt-ie10" lang="en"> <![endif]-->
<!--[if !IE]><!--><html lang="en"> <!--<![endif]-->
<head>
  <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
  <!--<script src="http://ie.microsoft.com/TestDrive/HTML5/CompatInspector/inspector.js"></script>-->  <!-- for testing IE compatibility issues -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1">

  <title>CodeCombat - Learn how to code by playing a game</title>
  <meta name="description" content="Learn programming with a multiplayer live coding strategy game. You're a wizard, and your spells are JavaScript. Free, open source HTML5 game!">

  <meta property="og:title" content="CodeCombat: Multiplayer Programming">
  <meta property="og:url" content="http://codecombat.com">
  <meta property="og:type" content="game">
  <meta property="og:image" content="http://codecombat.com/images/pages/home/front_screenshot_01.png">
  <meta property="og:site_name" content="CodeCombat">

  <meta name="twitter:card" content="summary">
  <meta name="twitter:title" content="CodeCombat: Multiplayer Programming">
  <meta name="twitter:url" content="http://codecombat.com">
  <meta name="twitter:site" content="CodeCombat">
  <meta name="twitter:image:src" content="http://codecombat.com/images/pages/base/logo_square_250.png">
  <meta name="twitter:description" content="Learn programming with a multiplayer live coding strategy game. You're a wizard, and your spells are JavaScript. Free, open source HTML5 game!">


  <link href="https://plus.google.com/115285980638641924488" rel="publisher" />

  <link rel="shortcut icon" href="/images/favicon.ico">
  <link rel="stylesheet" href="/stylesheets/app.css">
  <script src="/lib/ace/ace.js"></script>  
  <!--[if IE 9]>     <script src="/javascripts/vendor_with_box2d.js"></script> <![endif]-->
  <!--[if !IE]><!--> <script src="/javascripts/vendor.js"></script>            <!--<![endif]-->
  <script src="/javascripts/app.js"></script> <!-- it's all Backbone! -->
  
  <script>
    window.userObject = "userObjectTag";
  </script>
  
  <script>require('initialize');</script>


  <!-- begin segment.io code -->
  <script type="text/javascript">
  var analytics=analytics||[];(function(){var e=["identify","track","trackLink","trackForm","trackClick","trackSubmit","page","pageview","ab","alias","ready","group"],t=function(e){return function(){analytics.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var n=0;n<e.length;n++)analytics[e[n]]=t(e[n])})(),analytics.load=function(e){var t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=("https:"===document.location.protocol?"https://":"http://")+"d2dq2ahtl5zl1z.cloudfront.net/analytics.js/v1/"+e+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n)};
  analytics.load("jsjzx9n4d2");
  </script>
  <!-- end segment.io code -->

  <!-- begin olark code -->
  <script data-cfasync="false" type='text/javascript'>/*<![CDATA[*/window.olark||(function(c){var f=window,d=document,l=f.location.protocol=="https:"?"https:":"http:",z=c.name,r="load";var nt=function(){
    f[z]=function(){
    (a.s=a.s||[]).push(arguments)};var a=f[z]._={
    },q=c.methods.length;while(q--){(function(n){f[z][n]=function(){
    f[z]("call",n,arguments)}})(c.methods[q])}a.l=c.loader;a.i=nt;a.p={
    0:+new Date};a.P=function(u){
    a.p[u]=new Date-a.p[0]};function s(){
    a.P(r);f[z](r)}f.addEventListener?f.addEventListener(r,s,false):f.attachEvent("on"+r,s);var ld=function(){function p(hd){
    hd="head";return["<",hd,"></",hd,"><",i,' onl' + 'oad="var d=',g,";d.getElementsByTagName('head')[0].",j,"(d.",h,"('script')).",k,"='",l,"//",a.l,"'",'"',"></",i,">"].join("")}var i="body",m=d[i];if(!m){
    return setTimeout(ld,100)}a.P(1);var j="appendChild",h="createElement",k="src",n=d[h]("div"),v=n[j](d[h](z)),b=d[h]("iframe"),g="document",e="domain",o;n.style.display="none";m.insertBefore(n,m.firstChild).id=z;b.frameBorder="0";b.id=z+"-loader";if(/MSIE[ ]+6/.test(navigator.userAgent)){
    b.src="javascript:false"}b.allowTransparency="true";v[j](b);try{
    b.contentWindow[g].open()}catch(w){
    c[e]=d[e];o="javascript:var d="+g+".open();d.domain='"+d.domain+"';";b[k]=o+"void(0);"}try{
    var t=b.contentWindow[g];t.write(p());t.close()}catch(x){
    b[k]=o+'d.write("'+p().replace(/"/g,String.fromCharCode(92)+'"')+'");d.close();'}a.P(2)};ld()};nt()})({
    loader: "static.olark.com/jsclient/loader0.js",name:"olark",methods:["configure","extend","declare","identify"]});
    /* custom configuration goes here (www.olark.com/documentation) */
    olark.identify('1451-787-10-5544');/*]]>*/</script>
  <!-- end olark code -->

</head>
<body class="nano clearfix">
  <div id="fb-root"></div>

<!-- begin facebook code -->
  <script>
    // Additional JS functions here
    window.fbAsyncInit = function() {
      Backbone.Mediator.publish('fbapi-loaded');
      FB.init({
        appId      : document.location.origin === 'http://localhost:3000' ? '607435142676437' : '148832601965463', // App ID
        channelUrl : document.location.origin +'/channel.html', // Channel File
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
      });

      // This is fired for any auth related change, such as login, logout or session refresh.
      FB.Event.subscribe('auth.authResponseChange', function(response) {
        // Here we specify what we do with the response anytime this event occurs. 
        if (response.status === 'connected') {
          // They have logged in to the app.
          Backbone.Mediator.publish('facebook-logged-in', {response:response});
        } else if (response.status === 'not_authorized') {
          // The person is logged into Facebook, but not into the app.
        } else {
          // The person is not logged into Facebook
        }
      });
    };

    // Load the SDK asynchronously
    (function(d){
      var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
      if (d.getElementById(id)) {return;}
      js = d.createElement('script'); js.id = id; js.async = true;
      js.src = "//connect.facebook.net/en_US/all.js";
      //js.src = "//connect.facebook.net/en_US/all/debug.js";
      ref.parentNode.insertBefore(js, ref);
    }(document));
  </script>
  <!-- end facebook code -->


  <header class="header-container" id="header-container"></header>
  
  <div id="page-container" class="nano-content"></div>

  <div id="modal-wrapper" class="modal-content"></div>

  <!-- begin google api/plus code -->
  <script type="text/javascript">
    (function() {
      var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
      po.src = 'https://apis.google.com/js/client:plusone.js?onload=onGPlusLoaded';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    
    function onGPlusLoaded() {
      Backbone.Mediator.publish('gapi-loaded');
    }

    function signinCallback(authResult) {
      if (authResult['access_token']) {
        Backbone.Mediator.publish('gplus-logged-in', authResult)
      }
    }
  </script>
  <!-- end google api/plus code -->

  <!-- begin twitter code -->
  <script>
    (function (d,s,id) {
      var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
      if(!d.getElementById(id)) {
        js = d.createElement(s);
        js.id = id;
        js.src = p + '://platform.twitter.com/widgets.js';
        fjs.parentNode.insertBefore(js, fjs);
      }
    })(document, 'script', 'twitter-wjs');
  </script>
  <!-- end twitter code -->

  <!-- begin filepicker.io code -->
  <script type="text/javascript">
    (function(a){if(window.filepicker){return}var b=a.createElement("script");b.type="text/javascript";b.async=!0;b.src=("https:"===a.location.protocol?"https:":"http:")+"//api.filepicker.io/v1/filepicker.js";var c=a.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c);var d={};d._queue=[];var e="pick,pickMultiple,pickAndStore,read,write,writeUrl,export,convert,store,storeUrl,remove,stat,setKey,constructWidget,makeDropPane".split(",");var f=function(a,b){return function(){b.push([a,arguments])}};for(var g=0;g<e.length;g++){d[e[g]]=f(e[g],d._queue)}window.filepicker=d})(document);
  </script>
  <!-- end filepicker.io code -->
</body>
</html>

{'fraction_non_alphanumeric': 0.2267005300353357, 'fraction_numerical': 0.014796819787985865, 'mean_word_length': 4.2078780908568145, 'pattern_counts': {'":': 6, '<': 222, '<?xml version=': 0, '>': 214, 'https://': 6, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6497737', 'n_tokens_mistral': 6438, 'n_tokens_neox': 6195, 'n_words': 1008}