--- /dev/null
+++ translate_this/js/jsapi
@@ -0,0 +1,39 @@
+if(!window['googleLT_']){window['googleLT_']=(new Date()).getTime();}if (!window['google']) {
+window['google'] = {};
+}
+if (!window['google']['loader']) {
+window['google']['loader'] = {};
+google.loader.ServiceBase = 'http://www.google.com/uds';
+google.loader.GoogleApisBase = 'http://ajax.googleapis.com/ajax';
+google.loader.ApiKey = 'notsupplied';
+google.loader.KeyVerified = true;
+google.loader.LoadFailure = false;
+google.loader.Secure = false;
+google.loader.GoogleLocale = 'www.google.com';
+google.loader.ClientLocation = null;
+google.loader.AdditionalParams = '';
+(function() {var d=encodeURIComponent,g=window,h=document;function l(a,b){return a.load=b}var m="push",n="replace",q="charAt",r="indexOf",t="ServiceBase",u="name",v="getTime",w="length",x="prototype",y="setTimeout",z="loader",A="substring",B="join",C="toLowerCase";function D(a){return a in E?E[a]:E[a]=-1!=navigator.userAgent[C]()[r](a)}var E={};function F(a,b){var c=function(){};c.prototype=b[x];a.U=b[x];a.prototype=new c}
+function G(a,b,c){var e=Array[x].slice.call(arguments,2)||[];return function(){return a.apply(b,e.concat(Array[x].slice.call(arguments)))}}function H(a){a=Error(a);a.toString=function(){return this.message};return a}function I(a,b){for(var c=a.split(/\./),e=g,f=0;f<c[w]-1;f++)e[c[f]]||(e[c[f]]={}),e=e[c[f]];e[c[c[w]-1]]=b}function J(a,b,c){a[b]=c}if(!K)var K=I;if(!L)var L=J;google[z].v={};K("google.loader.callbacks",google[z].v);var M={},N={};google[z].eval={};K("google.loader.eval",google[z].eval);
+l(google,function(a,b,c){function e(a){var b=a.split(".");if(2<b[w])throw H("Module: '"+a+"' not found!");"undefined"!=typeof b[1]&&(f=b[0],c.packages=c.packages||[],c.packages[m](b[1]))}var f=a;c=c||{};if(a instanceof Array||a&&"object"==typeof a&&"function"==typeof a[B]&&"function"==typeof a.reverse)for(var k=0;k<a[w];k++)e(a[k]);else e(a);if(a=M[":"+f]){c&&!c.language&&c.locale&&(c.language=c.locale);c&&"string"==typeof c.callback&&(k=c.callback,k.match(/^[[\]A-Za-z0-9._]+$/)&&(k=g.eval(k),c.callback=
+k));if((k=c&&null!=c.callback)&&!a.s(b))throw H("Module: '"+f+"' must be loaded before DOM onLoad!");k?a.m(b,c)?g[y](c.callback,0):a.load(b,c):a.m(b,c)||a.load(b,c)}else throw H("Module: '"+f+"' not found!");});K("google.load",google.load);
+google.T=function(a,b){b?(0==O[w]&&(P(g,"load",Q),!D("msie")&&!D("safari")&&!D("konqueror")&&D("mozilla")||g.opera?g.addEventListener("DOMContentLoaded",Q,!1):D("msie")?h.write("<script defer onreadystatechange='google.loader.domReady()' src=//:>\x3c/script>"):(D("safari")||D("konqueror"))&&g[y](S,10)),O[m](a)):P(g,"load",a)};K("google.setOnLoadCallback",google.T);
+function P(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var e=a["on"+b];a["on"+b]=null!=e?aa([c,e]):c}}function aa(a){return function(){for(var b=0;b<a[w];b++)a[b]()}}var O=[];google[z].P=function(){var a=g.event.srcElement;"complete"==a.readyState&&(a.onreadystatechange=null,a.parentNode.removeChild(a),Q())};K("google.loader.domReady",google[z].P);var ba={loaded:!0,complete:!0};function S(){ba[h.readyState]?Q():0<O[w]&&g[y](S,10)}
+function Q(){for(var a=0;a<O[w];a++)O[a]();O.length=0}google[z].d=function(a,b,c){if(c){var e;"script"==a?(e=h.createElement("script"),e.type="text/javascript",e.src=b):"css"==a&&(e=h.createElement("link"),e.type="text/css",e.href=b,e.rel="stylesheet");(a=h.getElementsByTagName("head")[0])||(a=h.body.parentNode.appendChild(h.createElement("head")));a.appendChild(e)}else"script"==a?h.write('<script src="'+b+'" type="text/javascript">\x3c/script>'):"css"==a&&h.write('<link href="'+b+'" type="text/css" rel="stylesheet"></link>')};
+K("google.loader.writeLoadTag",google[z].d);google[z].Q=function(a){N=a};K("google.loader.rfm",google[z].Q);google[z].S=function(a){for(var b in a)"string"==typeof b&&b&&":"==b[q](0)&&!M[b]&&(M[b]=new T(b[A](1),a[b]))};K("google.loader.rpl",google[z].S);google[z].R=function(a){if((a=a.specs)&&a[w])for(var b=0;b<a[w];++b){var c=a[b];"string"==typeof c?M[":"+c]=new U(c):(c=new V(c[u],c.baseSpec,c.customSpecs),M[":"+c[u]]=c)}};K("google.loader.rm",google[z].R);google[z].loaded=function(a){M[":"+a.module].l(a)};
+K("google.loader.loaded",google[z].loaded);google[z].O=function(){return"qid="+((new Date)[v]().toString(16)+Math.floor(1E7*Math.random()).toString(16))};K("google.loader.createGuidArg_",google[z].O);I("google_exportSymbol",I);I("google_exportProperty",J);google[z].a={};K("google.loader.themes",google[z].a);google[z].a.I="//www.google.com/cse/style/look/bubblegum.css";L(google[z].a,"BUBBLEGUM",google[z].a.I);google[z].a.K="//www.google.com/cse/style/look/greensky.css";L(google[z].a,"GREENSKY",google[z].a.K);
+google[z].a.J="//www.google.com/cse/style/look/espresso.css";L(google[z].a,"ESPRESSO",google[z].a.J);google[z].a.M="//www.google.com/cse/style/look/shiny.css";L(google[z].a,"SHINY",google[z].a.M);google[z].a.L="//www.google.com/cse/style/look/minimalist.css";L(google[z].a,"MINIMALIST",google[z].a.L);google[z].a.N="//www.google.com/cse/style/look/v2/default.css";L(google[z].a,"V2_DEFAULT",google[z].a.N);function U(a){this.b=a;this.o=[];this.n={};this.e={};this.f={};this.j=!0;this.c=-1}
+U[x].g=function(a,b){var c="";void 0!=b&&(void 0!=b.language&&(c+="&hl="+d(b.language)),void 0!=b.nocss&&(c+="&output="+d("nocss="+b.nocss)),void 0!=b.nooldnames&&(c+="&nooldnames="+d(b.nooldnames)),void 0!=b.packages&&(c+="&packages="+d(b.packages)),null!=b.callback&&(c+="&async=2"),void 0!=b.style&&(c+="&style="+d(b.style)),void 0!=b.noexp&&(c+="&noexp=true"),void 0!=b.other_params&&(c+="&"+b.other_params));if(!this.j){google[this.b]&&google[this.b].JSHash&&(c+="&sig="+d(google[this.b].JSHash));
+var e=[],f;for(f in this.n)":"==f[q](0)&&e[m](f[A](1));for(f in this.e)":"==f[q](0)&&this.e[f]&&e[m](f[A](1));c+="&have="+d(e[B](","))}return google[z][t]+"/?file="+this.b+"&v="+a+google[z].AdditionalParams+c};U[x].t=function(a){var b=null;a&&(b=a.packages);var c=null;if(b)if("string"==typeof b)c=[a.packages];else if(b[w])for(c=[],a=0;a<b[w];a++)"string"==typeof b[a]&&c[m](b[a][n](/^\s*|\s*$/,"")[C]());c||(c=["default"]);b=[];for(a=0;a<c[w];a++)this.n[":"+c[a]]||b[m](c[a]);return b};
+l(U[x],function(a,b){var c=this.t(b),e=b&&null!=b.callback;if(e)var f=new W(b.callback);for(var k=[],p=c[w]-1;0<=p;p--){var s=c[p];e&&f.B(s);if(this.e[":"+s])c.splice(p,1),e&&this.f[":"+s][m](f);else k[m](s)}if(c[w]){b&&b.packages&&(b.packages=c.sort()[B](","));for(p=0;p<k[w];p++)s=k[p],this.f[":"+s]=[],e&&this.f[":"+s][m](f);if(b||null==N[":"+this.b]||null==N[":"+this.b].versions[":"+a]||google[z].AdditionalParams||!this.j)b&&b.autoloaded||google[z].d("script",this.g(a,b),e);else{c=N[":"+this.b];
+google[this.b]=google[this.b]||{};for(var R in c.properties)R&&":"==R[q](0)&&(google[this.b][R[A](1)]=c.properties[R]);google[z].d("script",google[z][t]+c.path+c.js,e);c.css&&google[z].d("css",google[z][t]+c.path+c.css,e)}this.j&&(this.j=!1,this.c=(new Date)[v](),1!=this.c%100&&(this.c=-1));for(p=0;p<k[w];p++)s=k[p],this.e[":"+s]=!0}});
+U[x].l=function(a){-1!=this.c&&(X("al_"+this.b,"jl."+((new Date)[v]()-this.c),!0),this.c=-1);this.o=this.o.concat(a.components);google[z][this.b]||(google[z][this.b]={});google[z][this.b].packages=this.o.slice(0);for(var b=0;b<a.components[w];b++){this.n[":"+a.components[b]]=!0;this.e[":"+a.components[b]]=!1;var c=this.f[":"+a.components[b]];if(c){for(var e=0;e<c[w];e++)c[e].C(a.components[b]);delete this.f[":"+a.components[b]]}}};U[x].m=function(a,b){return 0==this.t(b)[w]};U[x].s=function(){return!0};
+function W(a){this.F=a;this.q={};this.r=0}W[x].B=function(a){this.r++;this.q[":"+a]=!0};W[x].C=function(a){this.q[":"+a]&&(this.q[":"+a]=!1,this.r--,0==this.r&&g[y](this.F,0))};function V(a,b,c){this.name=a;this.D=b;this.p=c;this.u=this.h=!1;this.k=[];google[z].v[this[u]]=G(this.l,this)}F(V,U);l(V[x],function(a,b){var c=b&&null!=b.callback;c?(this.k[m](b.callback),b.callback="google.loader.callbacks."+this[u]):this.h=!0;b&&b.autoloaded||google[z].d("script",this.g(a,b),c)});V[x].m=function(a,b){return b&&null!=b.callback?this.u:this.h};V[x].l=function(){this.u=!0;for(var a=0;a<this.k[w];a++)g[y](this.k[a],0);this.k=[]};
+var Y=function(a,b){return a.string?d(a.string)+"="+d(b):a.regex?b[n](/(^.*$)/,a.regex):""};V[x].g=function(a,b){return this.G(this.w(a),a,b)};
+V[x].G=function(a,b,c){var e="";a.key&&(e+="&"+Y(a.key,google[z].ApiKey));a.version&&(e+="&"+Y(a.version,b));b=google[z].Secure&&a.ssl?a.ssl:a.uri;if(null!=c)for(var f in c)a.params[f]?e+="&"+Y(a.params[f],c[f]):"other_params"==f?e+="&"+c[f]:"base_domain"==f&&(b="http://"+c[f]+a.uri[A](a.uri[r]("/",7)));google[this[u]]={};-1==b[r]("?")&&e&&(e="?"+e[A](1));return b+e};V[x].s=function(a){return this.w(a).deferred};V[x].w=function(a){if(this.p)for(var b=0;b<this.p[w];++b){var c=this.p[b];if(RegExp(c.pattern).test(a))return c}return this.D};function T(a,b){this.b=a;this.i=b;this.h=!1}F(T,U);l(T[x],function(a,b){this.h=!0;google[z].d("script",this.g(a,b),!1)});T[x].m=function(){return this.h};T[x].l=function(){};T[x].g=function(a,b){if(!this.i.versions[":"+a]){if(this.i.aliases){var c=this.i.aliases[":"+a];c&&(a=c)}if(!this.i.versions[":"+a])throw H("Module: '"+this.b+"' with version '"+a+"' not found!");}return google[z].GoogleApisBase+"/libs/"+this.b+"/"+a+"/"+this.i.versions[":"+a][b&&b.uncompressed?"uncompressed":"compressed"]};
+T[x].s=function(){return!1};var ca=!1,Z=[],da=(new Date)[v](),fa=function(){ca||(P(g,"unload",ea),ca=!0)},ga=function(a,b){fa();if(!(google[z].Secure||google[z].Options&&!1!==google[z].Options.csi)){for(var c=0;c<a[w];c++)a[c]=d(a[c][C]()[n](/[^a-z0-9_.]+/g,"_"));for(c=0;c<b[w];c++)b[c]=d(b[c][C]()[n](/[^a-z0-9_.]+/g,"_"));g[y](G($,null,"//gg.google.com/csi?s=uds&v=2&action="+a[B](",")+"&it="+b[B](",")),1E4)}},X=function(a,b,c){c?ga([a],[b]):(fa(),Z[m]("r"+Z[w]+"="+d(a+(b?"|"+b:""))),g[y](ea,5<Z[w]?0:15E3))},ea=function(){if(Z[w]){var a=
+google[z][t];0==a[r]("http:")&&(a=a[n](/^http:/,"https:"));$(a+"/stats?"+Z[B]("&")+"&nc="+(new Date)[v]()+"_"+((new Date)[v]()-da));Z.length=0}},$=function(a){var b=new Image,c=$.H++;$.A[c]=b;b.onload=b.onerror=function(){delete $.A[c]};b.src=a;b=null};$.A={};$.H=0;I("google.loader.recordCsiStat",ga);I("google.loader.recordStat",X);I("google.loader.createImageForLogging",$);
+
+}) ();google.loader.rm({"specs":["feeds","spreadsheets","gdata","visualization",{"name":"sharing","baseSpec":{"uri":"http://www.google.com/s2/sharing/js","ssl":null,"key":{"string":"key"},"version":{"string":"v"},"deferred":false,"params":{"language":{"string":"hl"}}}},"search","orkut","ads","elements",{"name":"books","baseSpec":{"uri":"http://books.google.com/books/api.js","ssl":"https://encrypted.google.com/books/api.js","key":{"string":"key"},"version":{"string":"v"},"deferred":true,"params":{"callback":{"string":"callback"},"language":{"string":"hl"}}}},{"name":"friendconnect","baseSpec":{"uri":"http://www.google.com/friendconnect/script/friendconnect.js","ssl":"https://www.google.com/friendconnect/script/friendconnect.js","key":{"string":"key"},"version":{"string":"v"},"deferred":false,"params":{}}},"identitytoolkit","ima",{"name":"maps","baseSpec":{"uri":"http://maps.google.com/maps?file\u003dgoogleapi","ssl":"https://maps-api-ssl.google.com/maps?file\u003dgoogleapi","key":{"string":"key"},"version":{"string":"v"},"deferred":true,"params":{"callback":{"regex":"callback\u003d$1\u0026async\u003d2"},"language":{"string":"hl"}}},"customSpecs":[{"uri":"http://maps.googleapis.com/maps/api/js","ssl":"https://maps.googleapis.com/maps/api/js","version":{"string":"v"},"deferred":true,"params":{"callback":{"string":"callback"},"language":{"string":"hl"}},"pattern":"^(3|3..*)$"}]},"payments","wave","annotations_v2","earth","language",{"name":"annotations","baseSpec":{"uri":"http://www.google.com/reviews/scripts/annotations_bootstrap.js","ssl":null,"key":{"string":"key"},"version":{"string":"v"},"deferred":true,"params":{"callback":{"string":"callback"},"language":{"string":"hl"},"country":{"string":"gl"}}}},"picker"]});
+google.loader.rfm({":search":{"versions":{":1":"1",":1.0":"1"},"path":"/api/search/1.0/ee93f9aae9c9e9dba5eea831d506e69a/","js":"default+en.I.js","css":"default+en.css","properties":{":JSHash":"ee93f9aae9c9e9dba5eea831d506e69a",":NoOldNames":false,":Version":"1.0"}},":language":{"versions":{":1":"1",":1.0":"1"},"path":"/api/language/1.0/aa67524fe978e85d12a837b6f572142f/","js":"default+en.I.js","properties":{":JSHash":"aa67524fe978e85d12a837b6f572142f",":Version":"1.0"}},":feeds":{"versions":{":1":"1",":1.0":"1"},"path":"/api/feeds/1.0/482f2817cdf8982edf2e5669f9e3a627/","js":"default+en.I.js","css":"default+en.css","properties":{":JSHash":"482f2817cdf8982edf2e5669f9e3a627",":Version":"1.0"}},":spreadsheets":{"versions":{":0":"1",":0.4":"1"},"path":"/api/spreadsheets/0.4/87ff7219e9f8a8164006cbf28d5e911a/","js":"default.I.js","properties":{":JSHash":"87ff7219e9f8a8164006cbf28d5e911a",":Version":"0.4"}},":ima":{"versions":{":3":"1",":3.0":"1"},"path":"/api/ima/3.0/28a914332232c9a8ac0ae8da68b1006e/","js":"default.I.js","properties":{":JSHash":"28a914332232c9a8ac0ae8da68b1006e",":Version":"3.0"}},":wave":{"versions":{":1":"1",":1.0":"1"},"path":"/api/wave/1.0/3b6f7573ff78da6602dda5e09c9025bf/","js":"default.I.js","properties":{":JSHash":"3b6f7573ff78da6602dda5e09c9025bf",":Version":"1.0"}},":earth":{"versions":{":1":"1",":1.0":"1"},"path":"/api/earth/1.0/db22e5693e0a8de1f62f3536f5a8d7d3/","js":"default.I.js","properties":{":JSHash":"db22e5693e0a8de1f62f3536f5a8d7d3",":Version":"1.0"}},":annotations":{"versions":{":1":"1",":1.0":"1"},"path":"/api/annotations/1.0/bacce7b6155a1bbadda3c05d65391b22/","js":"default+en.I.js","properties":{":JSHash":"bacce7b6155a1bbadda3c05d65391b22",":Version":"1.0"}},":picker":{"versions":{":1":"1",":1.0":"1"},"path":"/api/picker/1.0/1c635e91b9d0c082c660a42091913907/","js":"default.I.js","css":"default.css","properties":{":JSHash":"1c635e91b9d0c082c660a42091913907",":Version":"1.0"}}});
+google.loader.rpl({":scriptaculous":{"versions":{":1.8.3":{"uncompressed":"scriptaculous.js","compressed":"scriptaculous.js"},":1.9.0":{"uncompressed":"scriptaculous.js","compressed":"scriptaculous.js"},":1.8.2":{"uncompressed":"scriptaculous.js","compressed":"scriptaculous.js"},":1.8.1":{"uncompressed":"scriptaculous.js","compressed":"scriptaculous.js"}},"aliases":{":1.8":"1.8.3",":1":"1.9.0",":1.9":"1.9.0"}},":yui":{"versions":{":2.6.0":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.9.0":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.7.0":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.8.0r4":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.8.2r1":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.8.1":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":3.3.0":{"uncompressed":"build/yui/yui.js","compressed":"build/yui/yui-min.js"}},"aliases":{":3":"3.3.0",":2":"2.9.0",":2.7":"2.7.0",":2.8.2":"2.8.2r1",":2.6":"2.6.0",":2.9":"2.9.0",":2.8":"2.8.2r1",":2.8.0":"2.8.0r4",":3.3":"3.3.0"}},":swfobject":{"versions":{":2.1":{"uncompressed":"swfobject_src.js","compressed":"swfobject.js"},":2.2":{"uncompressed":"swfobject_src.js","compressed":"swfobject.js"}},"aliases":{":2":"2.2"}},":ext-core":{"versions":{":3.1.0":{"uncompressed":"ext-core-debug.js","compressed":"ext-core.js"},":3.0.0":{"uncompressed":"ext-core-debug.js","compressed":"ext-core.js"}},"aliases":{":3":"3.1.0",":3.0":"3.0.0",":3.1":"3.1.0"}},":webfont":{"versions":{":1.0.28":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.27":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.29":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.12":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.13":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.14":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.15":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.10":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.11":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.2":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.1":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.0":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.6":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.19":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.5":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.18":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.4":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.17":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.3":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.16":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.9":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.21":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.22":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.25":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.26":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.23":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.24":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"}},"aliases":{":1":"1.0.29",":1.0":"1.0.29"}},":mootools":{"versions":{":1.3.1":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.1.1":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.3.0":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.3.2":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.1.2":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.3":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.4":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.1":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.2":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.5":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.4.0":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.4.1":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.4.2":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"}},"aliases":{":1":"1.1.2",":1.11":"1.1.1",":1.4":"1.4.2",":1.3":"1.3.2",":1.2":"1.2.5",":1.1":"1.1.2"}},":jqueryui":{"versions":{":1.8.0":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.2":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.1":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.15":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.14":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.13":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.12":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.11":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.10":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.17":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.16":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.6.0":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.9":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.7":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.8":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.2":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.5":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.3":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.6":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.0":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.1":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.4":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.5.3":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.5.2":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"}},"aliases":{":1.8":"1.8.17",":1.7":"1.7.3",":1.6":"1.6.0",":1":"1.8.17",":1.5":"1.5.3",":1.8.3":"1.8.4"}},":chrome-frame":{"versions":{":1.0.2":{"uncompressed":"CFInstall.js","compressed":"CFInstall.min.js"},":1.0.1":{"uncompressed":"CFInstall.js","compressed":"CFInstall.min.js"},":1.0.0":{"uncompressed":"CFInstall.js","compressed":"CFInstall.min.js"}},"aliases":{":1":"1.0.2",":1.0":"1.0.2"}},":dojo":{"versions":{":1.3.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.3.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.6.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.1.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.3.2":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.6.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.2.3":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.7.2":{"uncompressed":"dojo/dojo.js.uncompressed.js","compressed":"dojo/dojo.js"},":1.7.0":{"uncompressed":"dojo/dojo.js.uncompressed.js","compressed":"dojo/dojo.js"},":1.7.1":{"uncompressed":"dojo/dojo.js.uncompressed.js","compressed":"dojo/dojo.js"},":1.4.3":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.5.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.5.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.2.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.4.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.4.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"}},"aliases":{":1.7":"1.7.2",":1":"1.6.1",":1.6":"1.6.1",":1.5":"1.5.1",":1.4":"1.4.3",":1.3":"1.3.2",":1.2":"1.2.3",":1.1":"1.1.1"}},":jquery":{"versions":{":1.6.2":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.3.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.6.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.3.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.6.4":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.6.3":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.3.2":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.6.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.2.3":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.7.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.7.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.2.6":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.3":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.4":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.5.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.5.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.5.2":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.2":{"uncompressed":"jquery.js","compressed":"jquery.min.js"}},"aliases":{":1.7":"1.7.1",":1.6":"1.6.4",":1":"1.7.1",":1.5":"1.5.2",":1.4":"1.4.4",":1.3":"1.3.2",":1.2":"1.2.6"}},":prototype":{"versions":{":1.7.0.0":{"uncompressed":"prototype.js","compressed":"prototype.js"},":1.6.0.2":{"uncompressed":"prototype.js","compressed":"prototype.js"},":1.6.1.0":{"uncompressed":"prototype.js","compressed":"prototype.js"},":1.6.0.3":{"uncompressed":"prototype.js","compressed":"prototype.js"}},"aliases":{":1.7":"1.7.0.0",":1.6.1":"1.6.1.0",":1":"1.7.0.0",":1.6":"1.6.1.0",":1.7.0":"1.7.0.0",":1.6.0":"1.6.0.3"}}});
+}
--- /dev/null
+++ translate_this/js/translate-this.js
@@ -0,0 +1 @@
+(function(){function e(e){var t={host:TTBND[2],l:{},cGA:[],vSa:[],Pxj:[],fiF:[],YAZ:0,ol:0,all:0,tr:0,IXl:0,topBarElement:!1,reparseTimer:0,reparseBody:"",text:{isNodeUpdated:function(e){function n(e){function i(e,n,i,s){var o=t.tc.t5V(n);if(!o[1])return;if(t.indexOf(t.fiF,n)!=-1)return;r++}if(t.hasClass(e,"notranslate")||t.hasClass(e,"socketio"))return;switch(e.nodeType){case 1:if(e.tagName=="SCRIPT"||e.tagName=="STYLE"||e.tagName=="OBJECT"||!e.innerHTML)return;for(var s=e.childNodes,o=0;o<s.length;o++)n(s[o]);break;case 3:var u=e.nodeValue,a=u.length;if(u.indexOf("<")!=-1&&u.indexOf(">")!=-1)return;i(e,u,a,0)}}var r=0;return n(e),r}},tc:{kGJ:"",P9p:{b:"tt",u:!0,h:!1},data:{ohT:[],uBP:[],s4W:[],toh:[]},f8y:{oA0:-1,akR:0,D6i:0,d49:0,faq:!1,aAE:!1},KD1:{jlk:0,tJj:[]},obj:{},VEq:0,OrW:0,YGM:[],xlN:[9000,9030],port:!1,Bkt:"85.17.190.170",fZC:"",currentLang:"",w7j:function(e){if(e=="start")t.tc.KD1.jlk=(new Date).getTime();else{if(e=="get"){t.tc.w7j("completed");var n=t.tc.KD1.tJj;return t.tc.KD1.jlk=0,t.tc.KD1.tJj=[],n}var r=((new Date).getTime()-t.tc.KD1.jlk).toString();t.tc.KD1.tJj.push([r,e])}},rk:function(e){var t=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9"],n=t.length,r="";for(var i=0;i<e;i++)r+=t[Math.floor(Math.random()*n)];return r},NyB:function(e,t){var n={},r={},i,s={},o={},u={},a={};s[0]="HTML_SPECIALCHARS",s[1]="HTML_ENTITIES",o[0]="ENT_NOQUOTES",o[2]="ENT_COMPAT",o[3]="ENT_QUOTES",u=isNaN(e)?e?e.toUpperCase():"HTML_SPECIALCHARS":s[e],a=isNaN(t)?t?t.toUpperCase():"ENT_COMPAT":o[t];if(u!=="HTML_SPECIALCHARS"&&u!=="HTML_ENTITIES")throw new Error("Table: "+u+" not supported");n[38]="&",u==="HTML_ENTITIES"&&(n[160]="&nbsp;",n[161]="&iexcl;",n[162]="&cent;",n[163]="&pound;",n[164]="&curren;",n[165]="&yen;",n[166]="&brvbar;",n[167]="&sect;",n[168]="&uml;",n[169]="&copy;",n[170]="&ordf;",n[171]="&laquo;",n[172]="&not;",n[173]="&shy;",n[174]="&reg;",n[175]="&macr;",n[176]="&deg;",n[177]="&plusmn;",n[178]="&sup2;",n[179]="&sup3;",n[180]="&acute;",n[181]="&micro;",n[182]="&para;",n[183]="&middot;",n[184]="&cedil;",n[185]="&sup1;",n[186]="&ordm;",n[187]="&raquo;",n[188]="&frac14;",n[189]="&frac12;",n[190]="&frac34;",n[191]="&iquest;",n[192]="&Agrave;",n[193]="&Aacute;",n[194]="&Acirc;",n[195]="&Atilde;",n[196]="&Auml;",n[197]="&Aring;",n[198]="&AElig;",n[199]="&Ccedil;",n[200]="&Egrave;",n[201]="&Eacute;",n[202]="&Ecirc;",n[203]="&Euml;",n[204]="&Igrave;",n[205]="&Iacute;",n[206]="&Icirc;",n[207]="&Iuml;",n[208]="&ETH;",n[209]="&Ntilde;",n[210]="&Ograve;",n[211]="&Oacute;",n[212]="&Ocirc;",n[213]="&Otilde;",n[214]="&Ouml;",n[215]="&times;",n[216]="&Oslash;",n[217]="&Ugrave;",n[218]="&Uacute;",n[219]="&Ucirc;",n[220]="&Uuml;",n[221]="&Yacute;",n[222]="&THORN;",n[223]="&szlig;",n[224]="&agrave;",n[225]="&aacute;",n[226]="&acirc;",n[227]="&atilde;",n[228]="&auml;",n[229]="&aring;",n[230]="&aelig;",n[231]="&ccedil;",n[232]="&egrave;",n[233]="&eacute;",n[234]="&ecirc;",n[235]="&euml;",n[236]="&igrave;",n[237]="&iacute;",n[238]="&icirc;",n[239]="&iuml;",n[240]="&eth;",n[241]="&ntilde;",n[242]="&ograve;",n[243]="&oacute;",n[244]="&ocirc;",n[245]="&otilde;",n[246]="&ouml;",n[247]="&divide;",n[248]="&oslash;",n[249]="&ugrave;",n[250]="&uacute;",n[251]="&ucirc;",n[252]="&uuml;",n[253]="&yacute;",n[254]="&thorn;",n[255]="&yuml;"),a!=="ENT_NOQUOTES"&&(n[34]="&quot;"),a==="ENT_QUOTES"&&(n[39]="&#39;"),n[60]="&lt;",n[62]="&gt;";for(i in n){if(typeof n[i]=="function")continue;n.hasOwnProperty(i)&&(r[String.fromCharCode(i)]=n[i])}return r},YTA:function(e,n){var r={},i="",s="",o="";s=e.toString();if(!1===(r=t.tc.NyB("HTML_ENTITIES","ENT_QUOTES")))return!1;delete r["&"],r["&"]="&";for(i in r){if(typeof r[i]=="function")continue;o=r[i],s=s.split(o).join(i)}return s=s.split("&#039;").join("'"),s},pdj:function(){io!=""&&(clearInterval(t.tc.Fzcr),t.tc.Fzcr=0,t.tc.ioLoaded())},LlZ:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},t5V:function(e){if(typeof e!="string")return;var t=-1,n=e.length;while(e.charCodeAt(--n)<65);while(e.charCodeAt(++t)<65);var r=e.slice(0,t),i=e.slice(t,n+1),s=e.slice(n+1,e.length);return[r,i,s]},pending:function(e,n){typeof t.tc.obj[t.tc.VEq]=="object"&&t.tc.VEq++,t.tc.obj[t.tc.VEq]={},t.tc.obj[t.tc.VEq].associated=[],t.tc.obj[t.tc.VEq].translate=[];for(var r in e){if(typeof e[r]=="function"||typeof e[r]=="object")continue;var i=t.tc.t5V(e[r]);t.tc.obj[t.tc.VEq].to=t.tc.fZC,t.tc.obj[t.tc.VEq].associated[r]=i,t.tc.obj[t.tc.VEq].translate[r]=i[1],t.tc.obj[t.tc.VEq].callback=n}},completed:function(){var e=t.tc.w7j("get"),n=t.tc.YGM,r=window.location.href||document.location.href||document.URL;t.tc.send("complete",{b:e,d:n,url:r.split("://")[1],unique:t.tc.f8y.aAE}),t.tc.obj={},t.tc.VEq=0,t.tc.f8y.oA0=-1,t.tc.f8y.aAE=!1,t.tc.currentLang=t.tc.fZC},wQJ:function(){if(t.tc.f8y.oA0!=1)return;t.tc.f8y.oA0=2;for(var e=0,n=0;!n;e++){var r="";for(var i in t.tc.obj){if(typeof t.tc.obj[i]=="function")continue;for(var s in t.tc.obj[i].translate)if(typeof t.tc.obj[i].translate[s]=="string"){var o=t.tc.t5V(t.tc.obj[i].translate[s]),u=o[1].split(" ").length;if(e==1||u>3)r+=o[1],u>3?r+=". ":r+=" "}}if(r.length>500||e==1)n=1}r=r.substr(0,t.o.maxLength);var a=window.location.href||document.location.href||document.URL;if(a.match("/^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2}).){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$/")){alert("Using the button on IP addresses is currently not supported.");return}if(a.split("://")[1].substr(0,1)=="/"){alert("The TranslateThis Button currently only supports live websites.");return}if(a.split("://")[1].split(":")[0]=="localhost"||a.indexOf(".")==-1){alert("The TranslateThis Button currently only supports live websites.");return}t.tc.send("unique",{url:a.split("://")[1],to:t.tc.fZC,data:r,id:t.o.id})},ioLoaded:function(){t.tc.kGJ=io.connect("http://"+t.tc.Bkt+":"+t.tc.port),t.tc.send=function(e,n){t.tc.kGJ.emit(e,n)},t.tc.kGJ.on("connect",function(){t.tc.w7j("socket connected to http://"+t.tc.Bkt+":"+t.tc.port),t.tc.wQJ()}),t.tc.kGJ.on("cancel",function(e){t.removeTopBar(),t.trans(0)}),t.tc.kGJ.on("gs",function(e){t.setCookie("",-1);var n=window.location.href||document.location.href||document.URL;window.location.href="http://translate.google.com/translate?sl=auto&tl="+t.tc.fZC+"&u="+n}),t.tc.kGJ.on("unique",function(e){t.tc.w7j("received unique"),t.tc.f8y.aAE=e.data;var n=0,r=window.location.href||document.location.href||document.URL;for(var i in t.tc.obj){if(typeof t.tc.obj[i]=="function")continue;t.tc.send("translate",{unique:e.data,id:n,data:t.tc.obj[i].translate,to:t.tc.obj[i].to,url:r.split("://")[1]}),n++}}),t.tc.kGJ.on("translated",function(e){typeof e.data=="string"&&(e.data=JSON.parse(e.data)),t.tc.w7j("received translation");var n=[];for(var r=0;r<t.tc.obj[e.id].associated.length;r++){if(typeof t.tc.obj[e.id].associated[r]=="function")continue;if(e.data[r].indexOf("text-align:right;direction:rtl")!=-1)continue;t.tc.obj[e.id].associated[r][0]==t.tc.obj[e.id].associated[r][2]&&!t.tc.YTA(e.data[r])?n.push(t.tc.obj[e.id].associated[r][0]):n.push(t.tc.obj[e.id].associated[r][0]+t.tc.YTA(e.data[r])+t.tc.obj[e.id].associated[r][2])}var i={Aec:n};t.tc.obj[e.id].callback(i)})},i:function(){typeof t.tc.kGJ=="object"?t.tc.wQJ():t.tc.f8y.d49==0&&(t.tc.f8y.d49=1,t.tc.port||(t.tc.port=Math.floor(Math.random()*(t.tc.xlN[1]-t.tc.xlN[0]+1)+t.tc.xlN[0])),t.tc.Fzcr=setInterval(function(){t.tc.pdj()},25))}},Gn1:function(e,t,n){e.attachEvent?(e["e"+t+n]=n,e[t+n]=function(){e["e"+t+n](window.event)},e.attachEvent("on"+t,e[t+n])):e.addEventListener(t,n,!1)},tvU:function(e){e&&e.tvUentDefault?e.tvUentDefault():window.event&&window.event.returnValue&&(window.event.returnValue=!1)},trans:function(e,n){function r(e){function n(e,n,r,s){var o=t.tc.t5V(n);if(!o[1])return;if(t.indexOf(t.fiF,o[1])!=-1)return;p+=r;if(p>=d||h.length>128)i(),f(r);l.push(e),c.push(s),h.push(n)}if(t.hasClass(e,"notranslate")||t.hasClass(e,"socketio"))return;switch(e.nodeType){case 1:switch(e.tagName){case"SCRIPT":case"STYLE":case"OBJECT":return}if(!e.innerHTML)return;var s=e.childNodes;for(var o=0,u=s.length;o<u;o++)r(s[o]);break;case 3:var a=e.nodeValue,v=a.length;if(a.indexOf("<")!=-1&&a.indexOf(">")!=-1)return;if(v<d)n(e,a,v,0);else for(var m=0;a.length;m++)n(e,a.substr(0,d),a.length,m?1:0),a=a.substr(d)}}function i(){var e={nodes:l,appends:c,html:h};e.html.length>0&&(t.Pxj.push(e),s(e))}function s(e){if(!e.html.length)return;t.YAZ++,t.tc.pending(e.html,function(n){if(t.cancel)return;n.error||o(e,n.Aec),t.YAZ--,t.YAZ||u(0)})}function o(e,n){var r=e.nodes;for(var i=0,s=n.length;i<s;i++){var o=r[i],u=n[i];if(typeof o=="undefined")return;t.fiF.push(u),o.nodeValue=u}}function u(r){t.wrap=document.getElementById(t.o.wrapper);var i=t.fCTA();t.bCTA(i);if(!r){t.o.autoReparse&&(t.o.autoReparse&&(t.o.autoReparse=500),t.reparseBody=document.body.innerHTML,t.reparseTimer=setInterval(function(){t.reparseBody!=document.body.innerHTML&&(t.text.isNodeUpdated(document.body)&&t.trans(t.tc.fZC,1),t.reparseBody=document.body.innerHTML)},t.o.autoReparse)),t.o.cookie&&t.setCookie(e,30),typeof t.o.onComplete=="function"&&t.o.onComplete(e);if(t.o.IXlTime>=0&&n==0){var s=document.createElement("a"),o=t.o.doneText+" - ";try{s.href="#"}catch(u){}s.innerHTML=t.o.IXlText,s.onclick=function(e){t.tvU(e),t.removeTopBar(),t.trans(0);return},t.topBar(o,t.o.IXlTime),t.topBarElement.appendChild(s)}}t.tc.completed()}function a(){var e=document.createElement("div"),n=document.createElement("a");return e.className="ttb-translating notranslate",e.innerHTML=t.o.YAZText+"<br />",n.innerHTML=t.o.cancelText,n.href="#cancel",n.onclick=function(e){t.tvU(e),t.trans(0)},e.appendChild(n),document.body.appendChild(e),e}function f(e){l=[],c=[],h=[],p=e}var n=n||0;t.reparseTimer&&(clearInterval(t.reparseTimer),t.reparseTimer=0),t.tc.fZC=e,t.dd&&(t.rem(t.dd),t.dd=0,t.cGA=[]),t.all&&(t.rem(t.all),t.all=0,t.vSa=[]),t.YAZ=1,e&&t.topBarElement&&t.removeTopBar(),e?(t.o.IXlTime>=0&&n==0&&t.topBar(),t.tc.f8y.faq=t.l[e]):(t.tc.f8y.faq=!1,t.tc.f8y.aAE=!1);var l,c,h,p;f(0);var d=t.o.maxLength;if(e&&e!=t.o.fromLang){t.cancel=0,t.tc.f8y.oA0=1;if(!t.Pxj.length||t.o.reparse||t.o.autoReparse&&t.tc.fZC==t.tc.currentLang)r(t.o.scope?document.getElementById(t.o.scope):document.body),i();else{var v=t.Pxj;for(var m in v)s(v[m])}t.tc.i(),t.YAZ--,t.YAZ||u(0),typeof t.o.onClick=="function"&&t.o.onClick()}else if(!t.cancel){t.cancel=1,t.setCookie("",-1);var v=t.Pxj;for(var m=0,g=v.length;m<g;m++)o(v[m],v[m].html);t.Pxj=[],t.fiF=[],t.Gbx(0),t.YAZ=0,t.removeTopBar(),u(1)}},b:function(){function e(){var e=document.createElement("style"),n="display:block;overflow:hidden;text-indent:-2000px;",r="background:#FFF;border:1px solid #BBB;font-family:Arial;color:#555;",i=".ttb-panel{display:none;position:absolute;z-index:2147483647;font-size:12px;text-align:left;"+r+"} .ttb-panel .ttb-column{width:118px;float:left;margin:0 3px 0 0;} .ttb-panel a{color:#555}";t.o.noBtn||(i+=" #"+t.o.wrapper+" ."+TTBND[1]+"-button{background:url('"+t.o.btnImg+"') no-repeat;visibility:visible;position:relative;width:"+t.o.btnWidth+"px;height:"+t.o.btnHeight+"px;float:left;"+n+"}"),i+=" .ttb-more{float:right;padding:4px;} .ttb-close{display:block;position:absolute;top:3px;right:3px;height:16px;width:16px;}",i+=" .ttb-cta{display:block;padding:4px 5px;text-decoration:none;cursor:pointer;} .ttb-cta:hover{background:#EEE;outline:1px solid #DDD;text-decoration:underline;}",i+=" .translate-flag{background:url('"+t.o.bgImg+"') no-repeat;height:"+t.o.imgHeight+"px;width:"+t.o.imgWidth+"px;margin:0 6px 0 0;float:left;"+n+"}",i+=" .ttb-overlay{position:absolute;top:0;left:0;z-index:2147483645;background:#222;filter:alpha(opacity=80);opacity:.8;} .ttb-translating{position:absolute;z-index:3500;height:80px;width:200px;font-size:16px;text-align:center;line-height:40px;"+r+"} .ttb-translating a{font-size:.8em;}",i+=" .ttb-topbar{position:absolute;width:100%;z-index:2147483646;top:0;left:0;padding:5px 0;text-align:center;font-size:13px;font-family:Arial;color:#444;border:0;box-shadow:0px 4px 15px #222222;-moz-box-shadow:0px 4px 15px #222222;-webkit-box-shadow:0px 4px 15px #222222; background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjk2Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlNWU1ZTUiIHN0b3Atb3BhY2l0eT0iMC45NiIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background: -moz-linear-gradient(top,  rgba(255,255,255,0.98) 0%, rgba(229,229,229,0.96) 100%);background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.98)), color-stop(100%,rgba(229,229,229,0.96)));background: -webkit-linear-gradient(top,  rgba(255,255,255,0.96) 0%,rgba(229,229,229,0.98) 100%);background: -o-linear-gradient(top,  rgba(255,255,255,0.96) 0%,rgba(229,229,229,0.96) 100%);background: -ms-linear-gradient(top,  rgba(255,255,255,0.98) 0%,rgba(229,229,229,0.96) 100%);background: linear-gradient(top,  rgba(255,255,255,0.96) 0%,rgba(229,229,229,0.98) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5ffffff', endColorstr='#f5e5e5e5',GradientType=0 ); }",i+=" .ttb-paneltop {background:#EEE;border-bottom:1px solid #DDD;padding:6px 5px 3px 5px;text-align:center;}",e.type="text/css",e.styleSheet?e.styleSheet.cssText=i:e.appendChild(document.createTextNode(i)),document.getElementsByTagName("head")[0].appendChild(e)}t.parseId(),t.wrap=document.getElementById(t.o.wrapper);if(!t.wrap)return;var n=t.fCTA();if((!n||t.lynx.toLowerCase()!=n.href.toLowerCase().substr(0,t.lynx.length)&&t.lynx2.toLowerCase()!=n.href.toLowerCase().substr(0,t.lynx2.length))&&t.tc.P9p.u)return;t.tc.YGM={h:n.href,a:n.innerHTML};try{n.href="#translate"}catch(r){}if(t.o.cookie&&!t.YAZ){var i=t.getCookie();i&&t.trans(i)}e(),t.wrap.style.height=t.o.btnHeight+"px",t.bCTA(n),t.appendClear(t.wrap,1),typeof t.o.onLoad=="function"&&t.o.onLoad()},bFlag:function(e){var n=document.createElement("a");n.className="translate-"+e+" ttb-cta",n.title="Translate into "+t.l[e],n.href="#translate-"+e;var r=document.createElement("span");r.className="translate-label",r.innerHTML=t.l[e];if(t.o.noImg)return n.appendChild(r),n;var i=document.createElement("span");return i.className="translate-flag",i.style.backgroundPosition="0 "+t.o.imgMap[e]*t.o.imgHeight*-1+"px",n.appendChild(i),n.appendChild(r),n},fCTA:function(){var e=t.wrap.childNodes;for(var n=0;n<e.length;n++)if(e[n].className==TTBND[1]+"-button")return e[n];return!1},bCTA:function(e){function n(){t.dd=t.bPanel(1),t.dd.style.width="250px",t.dd.onmouseover=r,t.dd.onmouseout=i}function r(){if(o){clearTimeout(o);return}t.dd||n();var r=t.gPos(e);t.dd.style.top="-1000px",t.dd.style.display="block";var i=t.dd.offsetWidth;t.dd.style.left=r[0]+(document.body.offsetWidth-r[0]>i?0:e.offsetWidth-i)+"px";var s=t.dd.offsetHeight;t.dd.style.top=r[1]+(Math.max(t.wY(),document.body.offsetHeight)-r[1]>s?e.offsetHeight:-1*s)+"px"}function i(){o=setTimeout(s,500)}function s(){o=0,t.dd.style&&(t.dd.style.display="none")}var o=0;e.onclick=t.o.onlyDD?t.tvU:t.showAll,e.onmouseover=r,e.onmouseout=i},bPanel:function(e){function n(e,n,r){var i=document.createElement("a");i.href=t.lynx,i.title=n,i.target="_blank",i.innerHTML=e,r&&(i.style.cssFloat="right",i.style.styleFloat="right"),d.appendChild(i)}function r(e){t.tvU(e);var n=t.gTar(e.target||e.srcElement);return t.hasClass(n,"ttb-cta")?t.flagClick(e,n,i,s):t.hasClass(n,"ttb-more")?t.showAll():t.hasClass(n,"ttb-close")&&t.hideAll(),!1}t.tc.f8y.d49==0&&t.tc.i();if(e)var i=t.cGA,s=t.o.ddLangs,o=2,u=0;else var i=t.vSa,s=t.o.allLangs,o=4,u="5px";var a=document.createElement("div");a.className="ttb-panel notranslate";if(t.tc.f8y.faq)var f='<div class="ttb-paneltop" id="ttb-paneltop">'+t.tc.f8y.faq+" - </div>";else var f='<div class="ttb-paneltop" id="ttb-paneltop"><b>'+t.o.panelText+"</b></div>";a.innerHTML="<div>"+f+'</div><div style="padding:5px 0 '+u+' 5px;"></div><div style="background:#EEE;border-top:1px solid #DDD;font-size:10px;padding:1px 5px;"></div>',document.body.appendChild(a);if(t.tc.f8y.faq){var l=document.createElement("a");try{l.href="#"}catch(c){}l.innerHTML=t.o.IXlText,l.onclick=function(e){t.tvU(e),t.removeTopBar(),t.trans(0);return},document.getElementById("ttb-paneltop").appendChild(l)}var h=a.childNodes[1],p=[],d=a.childNodes[2];for(var v=0;v<o;v++)p[v]=document.createElement("div"),p[v].className="ttb-column",h.appendChild(p[v]);var m=0;for(var v=0;v<s.length;v++){var g=t.bFlag(s[v]);v>=s.length/o*(m+1)&&m++,p[m].appendChild(g),e?t.cGA.push(g):t.vSa.push(g)}t.Gn1(h,"click",r),t.tc.P9p.b!="none"&&(n("TranslateThis Button","Get your own TranslateThis Button",!e),e||n("What's This?","What is the TranslateThis Button?",0));if(!e||!t.o.onlyDD){var y=document.createElement("a");y.style.cursor="pointer",e?(y.className="ttb-more",y.innerHTML=t.o.moreText):(y.className="ttb-close",t.o.noImg?y.innerHTML="X":(y.style.backgroundImage='url("'+t.o.bgImg+'")',y.style.backgroundPosition="0 -696px"),y.title="Close"),h.appendChild(y)}return t.appendClear(h,0),a},appendClear:function(e,t){var n=document.createElement("div");n.style.margin="0",n.style.padding="0",t?(n.style.width="100%",n.style.height="1px"):n.style.clear="both",e.appendChild(n)},gPos:function(e){var t=curtop=0;if(e.offsetParent){do t+=e.offsetLeft,curtop+=e.offsetTop;while(e=e.offsetParent);return[t,curtop]}},gTar:function(e){return e.tagName!="A"&&(e=e.parentNode),e},flagClick:function(e,n,r,i){function s(e,t){for(var n=0;n<t.length;n++)if(e==t[n])return n}t.hideAll(e);var o=s(n,r);t.trans(i[o])},removeTopBar:function(){if(t.topBarElement==0)return;t.rem(t.topBarElement),t.topBarElement=!1,t.topBarTimer&&(clearTimeout(t.topBarTimer),t.topBarTimer=!1)},topBar:function(e,n){function r(){t.topBarPx--,t.topBarPx>-35?(t.topBarElement.style.top=t.topBarPx+"px",setTimeout(r,12)):t.removeTopBar()}if(e=="hide")r();else if(e)t.topBarElement.innerHTML=e;else{var i=document.createElement("div"),s=document.createElement("a");i.className="ttb-topbar notranslate",i.innerHTML=t.o.YAZText+" ",s.innerHTML=t.o.cancelText;try{s.href="#"}catch(o){}s.onclick=function(e){t.tvU(e),hideTopBar(),t.trans(0)},s.style.display="none",i.appendChild(s),document.body.appendChild(i),t.topBarElement=i}n&&(t.topBarTimer=setTimeout(function(){t.topBarPx=0,r()},n))},showOL:function(){function e(){var e=document.createElement("div");return e.className="ttb-overlay",document.body.appendChild(e),e.onclick=function(e){t.hideAll(e)},window.onresize=function(e){t.resize=setTimeout(n,80)},e}function n(){if(!t.olShow)return;var e=document,n=Math.max(Math.max(e.body.scrollWidth,e.documentElement.scrollWidth),Math.max(e.body.offsetWidth,e.documentElement.offsetWidth),Math.max(e.body.clientWidth,e.documentElement.clientWidth)),r=Math.max(Math.max(e.body.scrollHeight,e.documentElement.scrollHeight),Math.max(e.body.offsetHeight,e.documentElement.offsetHeight),Math.max(e.body.clientHeight,e.documentElement.clientHeight));t.ol.style.width=n+"px",t.ol.style.height=r+"px"}t.olShow=1,t.ol||(t.ol=e()),n(),t.ol.style.display="block",t.dd&&(t.dd.style.display="none")},hideOL:function(){t.ol.style.display="none",t.olShow=0},showAll:function(e){function n(){var e=t.bPanel(0);return e.style.width="492px",e}t.tvU(e),t.showOL(),t.all||(t.all=n()),t.centerXY(t.all,246,190),t.all.style.display="block"},hideAll:function(e){t.tvU(e);if(!t.all)return;t.all.style.display="none",t.hideOL()},centerXY:function(e,n,r){var i=0,s=0;typeof window.pageYOffset=="number"?(s=window.pageYOffset,i=window.pageXOffset):document.body&&(document.body.scrollLeft||document.body.scrollTop)?(s=document.body.scrollTop,i=document.body.scrollLeft):document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)&&(s=document.documentElement.scrollTop,i=document.documentElement.scrollLeft),i+=t.wX()/2-n,s+=t.wY()/2-r,e.style.top=s+"px",e.style.left=i+"px"},wX:function(){return window.innerWidth?window.innerWidth:document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.clientWidth},wY:function(){return window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight},rem:function(e){e.parentNode.removeChild(e)},setCookie:function(e,n){var r=new Date;r.setTime(r.getTime()+n*864e4),document.cookie=t.o.cookie+"="+e+"; expires="+r.toGMTString()+"; path=/"},getCookie:function(){var e=t.o.cookie+"=",n=document.cookie.split(";");for(var r=0;r<n.length;r++){var i=n[r];while(i.charAt(0)==" ")i=i.substring(1,i.length);if(i.indexOf(e)==0)return i.substring(e.length,i.length)}return null},Gbx:function(e){t.o.GA&&e!="init"&&typeof pageTracker!="undefined"&&pageTracker._trackPageview("TranslateThis-"+e);if("https:"==document.location.protocol)return},indexOf:function(e,t){for(var n=0;n<e.length;n++)if(e[n]==t)return n;return-1},hasClass:function(e,t){var n=" "+t+" ";return(" "+e.className+" ").replace(/[\n\t]/g," ").indexOf(n)>-1?!0:!1},parseId:function(){if(t.o.id==0)return;var e=t.o.id.split(".")[1];if(!e)return;e.indexOf("b")!==!1&&(t.tc.P9p.b="none"),e.indexOf("u")!==!1&&(t.tc.P9p.u=!1)},demoteFlash:function(){var e=document.getElementsByTagName("embed");for(var t=0;t<e.length;t++)e[t].setAttribute("wmode","opaque");var n=document.getElementsByTagName("object"),r=[];for(var t=0;t<n.length;t++)r[t]=n[t];for(var t=0;t<r.length;t++){var i=document.createElement("param");i.setAttribute("name","wmode"),i.setAttribute("value","opaque"),r[t].appendChild(i);var s=document.createElement("div");r[t].parentNode.appendChild(s);if(r[t].outerHTML){var o=r[t].outerHTML;r[t].parentNode.removeChild(r[t]),s.innerHTML=o}else r[t].parentNode.removeChild(r[t]),s.appendChild(r[t])}}};t.lynx="http://translateTH.IS/",t.lynx2="http://www.translatecompany.com/";var e=e||[];e.wrapper=e.wrapper||TTBND[1],e.scope=e.scope||!1,e.bgImg=e.bgImg||"http://"+t.host+"/tt-sprite3.png",e.fromLang=e.fromLang||"",e.flags=e.flags||[];if(e.fromLang==""||e.fromLang=="en")var n=["fr","es","ar","zh-CN","ko","it","cs","iw","de","pt-PT","ru","ja","vi","el","hi","tr"];else var n=["en","fr","es","ar","zh-CN","ko","it","iw","de","pt-PT","ru","ja","vi","el","hi","tr"];e.ddLangs=e.ddLangs||n,e.imgMap=e.imgMap||{af:10,sq:11,ar:6,be:12,bg:13,ca:50,"zh-CN":7,"zh-TW":14,hr:15,cs:16,da:17,nl:18,en:19,et:21,fi:22,fr:0,gl:51,de:1,el:23,iw:24,hi:25,hu:26,is:27,id:28,ga:29,it:4,ja:8,ko:9,lv:30,lt:31,mk:32,ms:33,mt:34,no:35,fa:36,pl:37,"pt-PT":3,ro:38,ru:5,sr:39,sk:40,sl:41,es:2,sw:42,sv:43,tl:44,th:45,tr:46,uk:47,vi:48,cy:49,yi:24},e.allLangs===undefined&&(e.allLangs=["af","sq","ar","be","bg","ca","zh-CN","zh-TW","hr","cs","da","nl","en","et","fi","fr","gl","de","el","iw","hi","hu","is","id","ga","it","ja","ko","lv","lt","mk","ms","mt","no","fa","pl","pt-PT","ro","ru","sr","sk","sl","es","sw","sv","tl","th","tr","uk","vi","cy","yi"]),e.noBtn=e.noBtn||!1,e.btnWidth=e.btnWidth||180,e.btnHeight=e.btnHeight||18,e.noImg=e.noImg||!1,e.imgHeight=e.imgHeight||12,e.imgWidth=e.imgWidth||18,e.maxLength=4500,e.onlyDD=e.onlyDD||!1,e.IXlTime===undefined&&(e.IXlTime=-1),e.onLoad=e.onLoad||null,e.onClick=e.onClick||null,e.onComplete=e.onComplete||null,e.GA=e.GA||!1,e.cookie=e.cookie!==undefined?e.cookie:"tt-lang",e.IXlText=e.IXlText||"Undo &raquo;",e.panelText=e.panelText||"Translate Into",e.moreText=e.moreText||e.allLangs.length-e.ddLangs.length+" More Languages &raquo;",e.YAZText=e.YAZText||"Translating Page...",e.cancelText=e.cancelText||"cancel",e.doneText=e.doneText||"Translation Complete",e.msie=/(msie) ([\w.]+)/.exec(navigator.userAgent.toLowerCase())||!1,e.btnImg=e.btnImg||"http://"+t.host+"/tt-btn1.png",e.id=e.id||!1,e.autoReparse=e.autoReparse||!1,t.o=e;var r={AFRIKAANS:"af",ALBANIAN:"sq",AMHARIC:"am",ARABIC:"ar",ARMENIAN:"hy",AZERBAIJANI:"az",BASQUE:"eu",BELARUSIAN:"be",BENGALI:"bn",BIHARI:"bh",BULGARIAN:"bg",BURMESE:"my",BRETON:"br",CATALAN:"ca",CHEROKEE:"chr",CHINESE:"zh",CHINESE_SIMPLIFIED:"zh-CN",CHINESE_TRADITIONAL:"zh-TW",CORSICAN:"co",CROATIAN:"hr",CZECH:"cs",DANISH:"da",DHIVEHI:"dv",DUTCH:"nl",ENGLISH:"en",ESPERANTO:"eo",ESTONIAN:"et",FAROESE:"fo",FILIPINO:"tl",FINNISH:"fi",FRENCH:"fr",FRISIAN:"fy",GALICIAN:"gl",GEORGIAN:"ka",GERMAN:"de",GREEK:"el",GUJARATI:"gu",HAITIAN_CREOLE:"ht",HEBREW:"iw",HINDI:"hi",HUNGARIAN:"hu",ICELANDIC:"is",INDONESIAN:"id",INUKTITUT:"iu",IRISH:"ga",ITALIAN:"it",JAPANESE:"ja",JAVANESE:"jw",KANNADA:"kn",KAZAKH:"kk",KHMER:"km",KOREAN:"ko",KURDISH:"ku",KYRGYZ:"ky",LAO:"lo",LAOTHIAN:"lo",LATIN:"la",LATVIAN:"lv",LITHUANIAN:"lt",LUXEMBOURGISH:"lb",MACEDONIAN:"mk",MALAY:"ms",MALAYALAM:"ml",MALTESE:"mt",MAORI:"mi",MARATHI:"mr",MONGOLIAN:"mn",NEPALI:"ne",NORWEGIAN:"no",OCCITAN:"oc",ORIYA:"or",PASHTO:"ps",PERSIAN:"fa",POLISH:"pl",PORTUGUESE:"pt",PORTUGUESE_PORTUGAL:"pt-PT",PUNJABI:"pa",QUECHUA:"qu",ROMANIAN:"ro",RUSSIAN:"ru",SANSKRIT:"sa",SCOTS_GAELIC:"gd",SERBIAN:"sr",SINDHI:"sd",SINHALESE:"si",SLOVAK:"sk",SLOVENIAN:"sl",SPANISH:"es",SUNDANESE:"su",SWAHILI:"sw",SWEDISH:"sv",SYRIAC:"syr",TAJIK:"tg",TAMIL:"ta",TAGALOG:"tl",TATAR:"tt",TELUGU:"te",THAI:"th",TIBETAN:"bo",TONGA:"to",TURKISH:"tr",UKRAINIAN:"uk",URDU:"ur",UZBEK:"uz",UIGHUR:"ug",VIETNAMESE:"vi",WELSH:"cy",YIDDISH:"yi",YORUBA:"yo",UNKNOWN:""};for(l in r){var i=r[l],s=l.replace("_"," ").toLowerCase();s=s.charAt(0).toUpperCase()+s.substr(1,s.length),t.l[i]=s}t.l["zh-CN"]="Chinese",t.l["zh-TW"]="Chinese (trad.)",t.l["pt-PT"]="Portuguese";var o=window.onload?window.onload:function(){};window.onload=function(){o(),new t.b}}window.TTBND=["TranslateThis","translate-this","x.translateth.is"],window[TTBND[0]]=e})();var io="undefined"===typeof module?{}:module.exports;(function(){(function(e,t){var n=e;n.version="0.9.16";n.protocol=1;n.transports=[];n.j=[];n.sockets={};n.connect=function(e,r){var i=n.util.parseUri(e),s,o;if(t&&t.location){i.protocol=i.protocol||t.location.protocol.slice(0,-1);i.host=i.host||(t.document?t.document.domain:t.location.hostname);i.port=i.port||t.location.port}s=n.util.uniqueUri(i);var u={host:i.host,secure:"https"==i.protocol,port:i.port||("https"==i.protocol?443:80),query:i.query||""};n.util.merge(u,r);if(u["force new connection"]||!n.sockets[s]){o=new n.Socket(u)}if(!u["force new connection"]&&o){n.sockets[s]=o}o=o||n.sockets[s];return o.of(i.path.length>1?i.path:"")}})("object"===typeof module?module.exports:this.io={},this);(function(e,t){var n=e.util={};var r=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/;var i=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];n.parseUri=function(e){var t=r.exec(e||""),n={},s=14;while(s--){n[i[s]]=t[s]||""}return n};n.uniqueUri=function(e){var n=e.protocol,r=e.host,i=e.port;if("document"in t){r=r||document.domain;i=i||(n=="https"&&document.location.protocol!=="https:"?443:document.location.port)}else{r=r||"localhost";if(!i&&n=="https"){i=443}}return(n||"http")+"://"+r+":"+(i||80)};n.query=function(e,t){var r=n.chunkQuery(e||""),i=[];n.merge(r,n.chunkQuery(t||""));for(var s in r){if(r.hasOwnProperty(s)){i.push(s+"="+r[s])}}return i.length?"?"+i.join("&"):""};n.chunkQuery=function(e){var t={},n=e.split("&"),r=0,i=n.length,s;for(;r<i;++r){s=n[r].split("=");if(s[0]){t[s[0]]=s[1]}}return t};var s=false;n.load=function(e){if("document"in t&&document.readyState==="complete"||s){return e()}n.on(t,"load",e,false)};n.on=function(e,t,n,r){if(e.attachEvent){e.attachEvent("on"+t,n)}else if(e.addEventListener){e.addEventListener(t,n,r)}};n.request=function(e){if(e&&"undefined"!=typeof XDomainRequest&&!n.ua.hasCORS){return new XDomainRequest}if("undefined"!=typeof XMLHttpRequest&&(!e||n.ua.hasCORS)){return new XMLHttpRequest}if(!e){try{return new(window[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}return null};if("undefined"!=typeof window){n.load(function(){s=true})}n.defer=function(e){if(!n.ua.webkit||"undefined"!=typeof importScripts){return e()}n.load(function(){setTimeout(e,100)})};n.merge=function(t,r,i,s){var o=s||[],u=typeof i=="undefined"?2:i,a;for(a in r){if(r.hasOwnProperty(a)&&n.indexOf(o,a)<0){if(typeof t[a]!=="object"||!u){t[a]=r[a];o.push(r[a])}else{n.merge(t[a],r[a],u-1,o)}}}return t};n.mixin=function(e,t){n.merge(e.prototype,t.prototype)};n.inherit=function(e,t){function n(){}n.prototype=t.prototype;e.prototype=new n};n.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};n.intersect=function(e,t){var r=[],i=e.length>t.length?e:t,s=e.length>t.length?t:e;for(var o=0,u=s.length;o<u;o++){if(~n.indexOf(i,s[o]))r.push(s[o])}return r};n.indexOf=function(e,t,n){for(var r=e.length,n=n<0?n+r<0?0:n+r:n||0;n<r&&e[n]!==t;n++){}return r<=n?-1:n};n.toArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)t.push(e[n]);return t};n.ua={};n.ua.hasCORS="undefined"!=typeof XMLHttpRequest&&function(){try{var e=new XMLHttpRequest}catch(t){return false}return e.withCredentials!=undefined}();n.ua.webkit="undefined"!=typeof navigator&&/webkit/i.test(navigator.userAgent);n.ua.iDevice="undefined"!=typeof navigator&&/iPad|iPhone|iPod/i.test(navigator.userAgent)})("undefined"!=typeof io?io:module.exports,this);(function(e,t){function n(){}e.EventEmitter=n;n.prototype.on=function(e,n){if(!this.$events){this.$events={}}if(!this.$events[e]){this.$events[e]=n}else if(t.util.isArray(this.$events[e])){this.$events[e].push(n)}else{this.$events[e]=[this.$events[e],n]}return this};n.prototype.addListener=n.prototype.on;n.prototype.once=function(e,t){function r(){n.removeListener(e,r);t.apply(this,arguments)}var n=this;r.listener=t;this.on(e,r);return this};n.prototype.removeListener=function(e,n){if(this.$events&&this.$events[e]){var r=this.$events[e];if(t.util.isArray(r)){var i=-1;for(var s=0,o=r.length;s<o;s++){if(r[s]===n||r[s].listener&&r[s].listener===n){i=s;break}}if(i<0){return this}r.splice(i,1);if(!r.length){delete this.$events[e]}}else if(r===n||r.listener&&r.listener===n){delete this.$events[e]}}return this};n.prototype.removeAllListeners=function(e){if(e===undefined){this.$events={};return this}if(this.$events&&this.$events[e]){this.$events[e]=null}return this};n.prototype.listeners=function(e){if(!this.$events){this.$events={}}if(!this.$events[e]){this.$events[e]=[]}if(!t.util.isArray(this.$events[e])){this.$events[e]=[this.$events[e]]}return this.$events[e]};n.prototype.emit=function(e){if(!this.$events){return false}var n=this.$events[e];if(!n){return false}var r=Array.prototype.slice.call(arguments,1);if("function"==typeof n){n.apply(this,r)}else if(t.util.isArray(n)){var i=n.slice();for(var s=0,o=i.length;s<o;s++){i[s].apply(this,r)}}else{return false}return true}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(exports,nativeJSON){"use strict";function f(e){return e<10?"0"+e:e}function date(e,t){return isFinite(e.valueOf())?e.getUTCFullYear()+"-"+f(e.getUTCMonth()+1)+"-"+f(e.getUTCDate())+"T"+f(e.getUTCHours())+":"+f(e.getUTCMinutes())+":"+f(e.getUTCSeconds())+"Z":null}function quote(e){escapable.lastIndex=0;return escapable.test(e)?'"'+e.replace(escapable,function(e){var t=meta[e];return typeof t==="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function str(e,t){var n,r,i,s,o=gap,u,a=t[e];if(a instanceof Date){a=date(e)}if(typeof rep==="function"){a=rep.call(t,e,a)}switch(typeof a){case"string":return quote(a);case"number":return isFinite(a)?String(a):"null";case"boolean":case"null":return String(a);case"object":if(!a){return"null"}gap+=indent;u=[];if(Object.prototype.toString.apply(a)==="[object Array]"){s=a.length;for(n=0;n<s;n+=1){u[n]=str(n,a)||"null"}i=u.length===0?"[]":gap?"[\n"+gap+u.join(",\n"+gap)+"\n"+o+"]":"["+u.join(",")+"]";gap=o;return i}if(rep&&typeof rep==="object"){s=rep.length;for(n=0;n<s;n+=1){if(typeof rep[n]==="string"){r=rep[n];i=str(r,a);if(i){u.push(quote(r)+(gap?": ":":")+i)}}}}else{for(r in a){if(Object.prototype.hasOwnProperty.call(a,r)){i=str(r,a);if(i){u.push(quote(r)+(gap?": ":":")+i)}}}}i=u.length===0?"{}":gap?"{\n"+gap+u.join(",\n"+gap)+"\n"+o+"}":"{"+u.join(",")+"}";gap=o;return i}}if(nativeJSON&&nativeJSON.parse){return exports.JSON={parse:nativeJSON.parse,stringify:nativeJSON.stringify}}var JSON=exports.JSON={};var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","	":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;JSON.stringify=function(e,t,n){var r;gap="";indent="";if(typeof n==="number"){for(r=0;r<n;r+=1){indent+=" "}}else if(typeof n==="string"){indent=n}rep=t;if(t&&typeof t!=="function"&&(typeof t!=="object"||typeof t.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":e})};JSON.parse=function(text,reviver){function walk(e,t){var n,r,i=e[t];if(i&&typeof i==="object"){for(n in i){if(Object.prototype.hasOwnProperty.call(i,n)){r=walk(i,n);if(r!==undefined){i[n]=r}else{delete i[n]}}}}return reviver.call(e,t,i)}var j;text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}})("undefined"!=typeof io?io:module.exports,typeof JSON!=="undefined"?JSON:undefined);(function(e,t){var n=e.parser={};var r=n.packets=["disconnect","connect","heartbeat","message","json","event","ack","error","noop"];var i=n.reasons=["transport not supported","client not handshaken","unauthorized"];var s=n.advice=["reconnect"];var o=t.JSON,u=t.util.indexOf;n.encodePacket=function(e){var t=u(r,e.type),n=e.id||"",a=e.endpoint||"",f=e.ack,l=null;switch(e.type){case"error":var c=e.reason?u(i,e.reason):"",h=e.advice?u(s,e.advice):"";if(c!==""||h!=="")l=c+(h!==""?"+"+h:"");break;case"message":if(e.data!=="")l=e.data;break;case"event":var p={name:e.name};if(e.args&&e.args.length){p.args=e.args}l=o.stringify(p);break;case"json":l=o.stringify(e.data);break;case"connect":if(e.qs)l=e.qs;break;case"ack":l=e.ackId+(e.args&&e.args.length?"+"+o.stringify(e.args):"");break}var d=[t,n+(f=="data"?"+":""),a];if(l!==null&&l!==undefined)d.push(l);return d.join(":")};n.encodePayload=function(e){var t="";if(e.length==1)return e[0];for(var n=0,r=e.length;n<r;n++){var i=e[n];t+="ï¿½"+i.length+"ï¿½"+e[n]}return t};var a=/([^:]+):([0-9]+)?(\+)?:([^:]+)?:?([\s\S]*)?/;n.decodePacket=function(e){var t=e.match(a);if(!t)return{};var n=t[2]||"",e=t[5]||"",u={type:r[t[1]],endpoint:t[4]||""};if(n){u.id=n;if(t[3])u.ack="data";else u.ack=true}switch(u.type){case"error":var t=e.split("+");u.reason=i[t[0]]||"";u.advice=s[t[1]]||"";break;case"message":u.data=e||"";break;case"event":try{var f=o.parse(e);u.name=f.name;u.args=f.args}catch(l){}u.args=u.args||[];break;case"json":try{u.data=o.parse(e)}catch(l){}break;case"connect":u.qs=e||"";break;case"ack":var t=e.match(/^([0-9]+)(\+)?(.*)/);if(t){u.ackId=t[1];u.args=[];if(t[3]){try{u.args=t[3]?o.parse(t[3]):[]}catch(l){}}}break;case"disconnect":case"heartbeat":break}return u};n.decodePayload=function(e){if(e.charAt(0)=="ï¿½"){var t=[];for(var r=1,i="";r<e.length;r++){if(e.charAt(r)=="ï¿½"){t.push(n.decodePacket(e.substr(r+1).substr(0,i)));r+=Number(i)+1;i=""}else{i+=e.charAt(r)}}return t}else{return[n.decodePacket(e)]}}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(e,t){function n(e,t){this.socket=e;this.sessid=t}e.Transport=n;t.util.mixin(n,t.EventEmitter);n.prototype.heartbeats=function(){return true};n.prototype.onData=function(e){this.clearCloseTimeout();if(this.socket.connected||this.socket.connecting||this.socket.reconnecting){this.setCloseTimeout()}if(e!==""){var n=t.parser.decodePayload(e);if(n&&n.length){for(var r=0,i=n.length;r<i;r++){this.onPacket(n[r])}}}return this};n.prototype.onPacket=function(e){this.socket.setHeartbeatTimeout();if(e.type=="heartbeat"){return this.onHeartbeat()}if(e.type=="connect"&&e.endpoint==""){this.onConnect()}if(e.type=="error"&&e.advice=="reconnect"){this.isOpen=false}this.socket.onPacket(e);return this};n.prototype.setCloseTimeout=function(){if(!this.closeTimeout){var e=this;this.closeTimeout=setTimeout(function(){e.onDisconnect()},this.socket.closeTimeout)}};n.prototype.onDisconnect=function(){if(this.isOpen)this.close();this.clearTimeouts();this.socket.onDisconnect();return this};n.prototype.onConnect=function(){this.socket.onConnect();return this};n.prototype.clearCloseTimeout=function(){if(this.closeTimeout){clearTimeout(this.closeTimeout);this.closeTimeout=null}};n.prototype.clearTimeouts=function(){this.clearCloseTimeout();if(this.reopenTimeout){clearTimeout(this.reopenTimeout)}};n.prototype.packet=function(e){this.send(t.parser.encodePacket(e))};n.prototype.onHeartbeat=function(e){this.packet({type:"heartbeat"})};n.prototype.onOpen=function(){this.isOpen=true;this.clearCloseTimeout();this.socket.onOpen()};n.prototype.onClose=function(){var e=this;this.isOpen=false;this.socket.onClose();this.onDisconnect()};n.prototype.prepareUrl=function(){var e=this.socket.options;return this.scheme()+"://"+e.host+":"+e.port+"/"+e.resource+"/"+t.protocol+"/"+this.name+"/"+this.sessid};n.prototype.ready=function(e,t){t.call(this)}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(e,t,n){function r(e){this.options={port:80,secure:false,document:"document"in n?document:false,resource:"socket.io",transports:t.transports,"connect timeout":1e4,"try multiple transports":true,reconnect:true,"reconnection delay":500,"reconnection limit":Infinity,"reopen delay":3e3,"max reconnection attempts":10,"sync disconnect on unload":false,"auto connect":true,"flash policy port":10843,manualFlush:false};t.util.merge(this.options,e);this.connected=false;this.open=false;this.connecting=false;this.reconnecting=false;this.namespaces={};this.buffer=[];this.doBuffer=false;if(this.options["sync disconnect on unload"]&&(!this.isXDomain()||t.util.ua.hasCORS)){var r=this;t.util.on(n,"beforeunload",function(){r.disconnectSync()},false)}if(this.options["auto connect"]){this.connect()}}function i(){}e.Socket=r;t.util.mixin(r,t.EventEmitter);r.prototype.of=function(e){if(!this.namespaces[e]){this.namespaces[e]=new t.SocketNamespace(this,e);if(e!==""){this.namespaces[e].packet({type:"connect"})}}return this.namespaces[e]};r.prototype.publish=function(){this.emit.apply(this,arguments);var e;for(var t in this.namespaces){if(this.namespaces.hasOwnProperty(t)){e=this.of(t);e.$emit.apply(e,arguments)}}};r.prototype.handshake=function(e){function s(t){if(t instanceof Error){n.connecting=false;n.onError(t.message)}else{e.apply(null,t.split(":"))}}var n=this,r=this.options;var o=["http"+(r.secure?"s":"")+":/",r.host+":"+r.port,r.resource,t.protocol,t.util.query(this.options.query,"t="+ +(new Date))].join("/");if(this.isXDomain()&&!t.util.ua.hasCORS){var u=document.getElementsByTagName("script")[0],a=document.createElement("script");a.src=o+"&jsonp="+t.j.length;u.parentNode.insertBefore(a,u);t.j.push(function(e){s(e);a.parentNode.removeChild(a)})}else{var f=t.util.request();f.open("GET",o,true);if(this.isXDomain()){f.withCredentials=true}f.onreadystatechange=function(){if(f.readyState==4){f.onreadystatechange=i;if(f.status==200){s(f.responseText)}else if(f.status==403){n.onError(f.responseText)}else{n.connecting=false;!n.reconnecting&&n.onError(f.responseText)}}};f.send(null)}};r.prototype.getTransport=function(e){var n=e||this.transports,r;for(var i=0,s;s=n[i];i++){if(t.Transport[s]&&t.Transport[s].check(this)&&(!this.isXDomain()||t.Transport[s].xdomainCheck(this))){return new t.Transport[s](this,this.sessionid)}}return null};r.prototype.connect=function(e){if(this.connecting){return this}var n=this;n.connecting=true;this.handshake(function(r,i,s,o){function u(e){if(n.transport)n.transport.clearTimeouts();n.transport=n.getTransport(e);if(!n.transport)return n.publish("connect_failed");n.transport.ready(n,function(){n.connecting=true;n.publish("connecting",n.transport.name);n.transport.open();if(n.options["connect timeout"]){n.connectTimeoutTimer=setTimeout(function(){if(!n.connected){n.connecting=false;if(n.options["try multiple transports"]){var e=n.transports;while(e.length>0&&e.splice(0,1)[0]!=n.transport.name){}if(e.length){u(e)}else{n.publish("connect_failed")}}}},n.options["connect timeout"])}})}n.sessionid=r;n.closeTimeout=s*1e3;n.heartbeatTimeout=i*1e3;if(!n.transports)n.transports=n.origTransports=o?t.util.intersect(o.split(","),n.options.transports):n.options.transports;n.setHeartbeatTimeout();u(n.transports);n.once("connect",function(){clearTimeout(n.connectTimeoutTimer);e&&typeof e=="function"&&e()})});return this};r.prototype.setHeartbeatTimeout=function(){clearTimeout(this.heartbeatTimeoutTimer);if(this.transport&&!this.transport.heartbeats())return;var e=this;this.heartbeatTimeoutTimer=setTimeout(function(){e.transport.onClose()},this.heartbeatTimeout)};r.prototype.packet=function(e){if(this.connected&&!this.doBuffer){this.transport.packet(e)}else{this.buffer.push(e)}return this};r.prototype.setBuffer=function(e){this.doBuffer=e;if(!e&&this.connected&&this.buffer.length){if(!this.options["manualFlush"]){this.flushBuffer()}}};r.prototype.flushBuffer=function(){this.transport.payload(this.buffer);this.buffer=[]};r.prototype.disconnect=function(){if(this.connected||this.connecting){if(this.open){this.of("").packet({type:"disconnect"})}this.onDisconnect("booted")}return this};r.prototype.disconnectSync=function(){var e=t.util.request();var n=["http"+(this.options.secure?"s":"")+":/",this.options.host+":"+this.options.port,this.options.resource,t.protocol,"",this.sessionid].join("/")+"/?disconnect=1";e.open("GET",n,false);e.send(null);this.onDisconnect("booted")};r.prototype.isXDomain=function(){var e=n.location.port||("https:"==n.location.protocol?443:80);return this.options.host!==n.location.hostname||this.options.port!=e};r.prototype.onConnect=function(){if(!this.connected){this.connected=true;this.connecting=false;if(!this.doBuffer){this.setBuffer(false)}this.emit("connect")}};r.prototype.onOpen=function(){this.open=true};r.prototype.onClose=function(){this.open=false;clearTimeout(this.heartbeatTimeoutTimer)};r.prototype.onPacket=function(e){this.of(e.endpoint).onPacket(e)};r.prototype.onError=function(e){if(e&&e.advice){if(e.advice==="reconnect"&&(this.connected||this.connecting)){this.disconnect();if(this.options.reconnect){this.reconnect()}}}this.publish("error",e&&e.reason?e.reason:e)};r.prototype.onDisconnect=function(e){var t=this.connected,n=this.connecting;this.connected=false;this.connecting=false;this.open=false;if(t||n){this.transport.close();this.transport.clearTimeouts();if(t){this.publish("disconnect",e);if("booted"!=e&&this.options.reconnect&&!this.reconnecting){this.reconnect()}}}};r.prototype.reconnect=function(){function i(){if(e.connected){for(var t in e.namespaces){if(e.namespaces.hasOwnProperty(t)&&""!==t){e.namespaces[t].packet({type:"connect"})}}e.publish("reconnect",e.transport.name,e.reconnectionAttempts)}clearTimeout(e.reconnectionTimer);e.removeListener("connect_failed",s);e.removeListener("connect",s);e.reconnecting=false;delete e.reconnectionAttempts;delete e.reconnectionDelay;delete e.reconnectionTimer;delete e.redoTransports;e.options["try multiple transports"]=n}function s(){if(!e.reconnecting){return}if(e.connected){return i()}if(e.connecting&&e.reconnecting){return e.reconnectionTimer=setTimeout(s,1e3)}if(e.reconnectionAttempts++>=t){if(!e.redoTransports){e.on("connect_failed",s);e.options["try multiple transports"]=true;e.transports=e.origTransports;e.transport=e.getTransport();e.redoTransports=true;e.connect()}else{e.publish("reconnect_failed");i()}}else{if(e.reconnectionDelay<r){e.reconnectionDelay*=2}e.connect();e.publish("reconnecting",e.reconnectionDelay,e.reconnectionAttempts);e.reconnectionTimer=setTimeout(s,e.reconnectionDelay)}}this.reconnecting=true;this.reconnectionAttempts=0;this.reconnectionDelay=this.options["reconnection delay"];var e=this,t=this.options["max reconnection attempts"],n=this.options["try multiple transports"],r=this.options["reconnection limit"];this.options["try multiple transports"]=false;this.reconnectionTimer=setTimeout(s,this.reconnectionDelay);this.on("connect",s)}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);(function(e,t){function n(e,t){this.socket=e;this.name=t||"";this.flags={};this.json=new r(this,"json");this.ackPackets=0;this.acks={}}function r(e,t){this.namespace=e;this.name=t}e.SocketNamespace=n;t.util.mixin(n,t.EventEmitter);n.prototype.$emit=t.EventEmitter.prototype.emit;n.prototype.of=function(){return this.socket.of.apply(this.socket,arguments)};n.prototype.packet=function(e){e.endpoint=this.name;this.socket.packet(e);this.flags={};return this};n.prototype.send=function(e,t){var n={type:this.flags.json?"json":"message",data:e};if("function"==typeof t){n.id=++this.ackPackets;n.ack=true;this.acks[n.id]=t}return this.packet(n)};n.prototype.emit=function(e){var t=Array.prototype.slice.call(arguments,1),n=t[t.length-1],r={type:"event",name:e};if("function"==typeof n){r.id=++this.ackPackets;r.ack="data";this.acks[r.id]=n;t=t.slice(0,t.length-1)}r.args=t;return this.packet(r)};n.prototype.disconnect=function(){if(this.name===""){this.socket.disconnect()}else{this.packet({type:"disconnect"});this.$emit("disconnect")}return this};n.prototype.onPacket=function(e){function r(){n.packet({type:"ack",args:t.util.toArray(arguments),ackId:e.id})}var n=this;switch(e.type){case"connect":this.$emit("connect");break;case"disconnect":if(this.name===""){this.socket.onDisconnect(e.reason||"booted")}else{this.$emit("disconnect",e.reason)}break;case"message":case"json":var i=["message",e.data];if(e.ack=="data"){i.push(r)}else if(e.ack){this.packet({type:"ack",ackId:e.id})}this.$emit.apply(this,i);break;case"event":var i=[e.name].concat(e.args);if(e.ack=="data")i.push(r);this.$emit.apply(this,i);break;case"ack":if(this.acks[e.ackId]){this.acks[e.ackId].apply(this,e.args);delete this.acks[e.ackId]}break;case"error":if(e.advice){this.socket.onError(e)}else{if(e.reason=="unauthorized"){this.$emit("connect_failed",e.reason)}else{this.$emit("error",e.reason)}}break}};r.prototype.send=function(){this.namespace.flags[this.name]=true;this.namespace.send.apply(this.namespace,arguments)};r.prototype.emit=function(){this.namespace.flags[this.name]=true;this.namespace.emit.apply(this.namespace,arguments)}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(e,t,n){function r(e){t.Transport.apply(this,arguments)}e.websocket=r;t.util.inherit(r,t.Transport);r.prototype.name="websocket";r.prototype.open=function(){var e=t.util.query(this.socket.options.query),r=this,i;if(!i){i=n.MozWebSocket||n.WebSocket}this.websocket=new i(this.prepareUrl()+e);this.websocket.onopen=function(){r.onOpen();r.socket.setBuffer(false)};this.websocket.onmessage=function(e){r.onData(e.data)};this.websocket.onclose=function(){r.onClose();r.socket.setBuffer(true)};this.websocket.onerror=function(e){r.onError(e)};return this};if(t.util.ua.iDevice){r.prototype.send=function(e){var t=this;setTimeout(function(){t.websocket.send(e)},0);return this}}else{r.prototype.send=function(e){this.websocket.send(e);return this}}r.prototype.payload=function(e){for(var t=0,n=e.length;t<n;t++){this.packet(e[t])}return this};r.prototype.close=function(){this.websocket.close();return this};r.prototype.onError=function(e){this.socket.onError(e)};r.prototype.scheme=function(){return this.socket.options.secure?"wss":"ws"};r.check=function(){return"WebSocket"in n&&!("__addTask"in WebSocket)||"MozWebSocket"in n};r.xdomainCheck=function(){return true};t.transports.push("websocket")})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);(function(e,t,n){function r(e){if(!e)return;t.Transport.apply(this,arguments);this.sendBuffer=[]}function i(){}e.XHR=r;t.util.inherit(r,t.Transport);r.prototype.open=function(){this.socket.setBuffer(false);this.onOpen();this.get();this.setCloseTimeout();return this};r.prototype.payload=function(e){var n=[];for(var r=0,i=e.length;r<i;r++){n.push(t.parser.encodePacket(e[r]))}this.send(t.parser.encodePayload(n))};r.prototype.send=function(e){this.post(e);return this};r.prototype.post=function(e){function r(){if(this.readyState==4){this.onreadystatechange=i;t.posting=false;if(this.status==200){t.socket.setBuffer(false)}else{t.onClose()}}}function s(){this.onload=i;t.socket.setBuffer(false)}var t=this;this.socket.setBuffer(true);this.sendXHR=this.request("POST");if(n.XDomainRequest&&this.sendXHR instanceof XDomainRequest){this.sendXHR.onload=this.sendXHR.onerror=s}else{this.sendXHR.onreadystatechange=r}this.sendXHR.send(e)};r.prototype.close=function(){this.onClose();return this};r.prototype.request=function(e){var n=t.util.request(this.socket.isXDomain()),r=t.util.query(this.socket.options.query,"t="+ +(new Date));n.open(e||"GET",this.prepareUrl()+r,true);if(e=="POST"){try{if(n.setRequestHeader){n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}else{n.contentType="text/plain"}}catch(i){}}return n};r.prototype.scheme=function(){return this.socket.options.secure?"https":"http"};r.check=function(e,r){try{var i=t.util.request(r),s=n.XDomainRequest&&i instanceof XDomainRequest,o=e&&e.options&&e.options.secure?"https:":"http:",u=n.location&&o!=n.location.protocol;if(i&&!(s&&u)){return true}}catch(a){}return false};r.xdomainCheck=function(e){return r.check(e,true)}})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);(function(e,t){function n(e){t.Transport.XHR.apply(this,arguments)}e.htmlfile=n;t.util.inherit(n,t.Transport.XHR);n.prototype.name="htmlfile";n.prototype.get=function(){this.doc=new(window[["Active"].concat("Object").join("X")])("htmlfile");this.doc.open();this.doc.write("<html></html>");this.doc.close();this.doc.parentWindow.s=this;var e=this.doc.createElement("div");e.className="socketio";this.doc.body.appendChild(e);this.iframe=this.doc.createElement("iframe");e.appendChild(this.iframe);var n=this,r=t.util.query(this.socket.options.query,"t="+ +(new Date));this.iframe.src=this.prepareUrl()+r;t.util.on(window,"unload",function(){n.destroy()})};n.prototype._=function(e,t){e=e.replace(/\\\//g,"/");this.onData(e);try{var n=t.getElementsByTagName("script")[0];n.parentNode.removeChild(n)}catch(r){}};n.prototype.destroy=function(){if(this.iframe){try{this.iframe.src="about:blank"}catch(e){}this.doc=null;this.iframe.parentNode.removeChild(this.iframe);this.iframe=null;CollectGarbage()}};n.prototype.close=function(){this.destroy();return t.Transport.XHR.prototype.close.call(this)};n.check=function(e){if(typeof window!="undefined"&&["Active"].concat("Object").join("X")in window){try{var n=new(window[["Active"].concat("Object").join("X")])("htmlfile");return n&&t.Transport.XHR.check(e)}catch(r){}}return false};n.xdomainCheck=function(){return false};t.transports.push("htmlfile")})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(e,t,n){function r(){t.Transport.XHR.apply(this,arguments)}function i(){}e["xhr-polling"]=r;t.util.inherit(r,t.Transport.XHR);t.util.merge(r,t.Transport.XHR);r.prototype.name="xhr-polling";r.prototype.heartbeats=function(){return false};r.prototype.open=function(){var e=this;t.Transport.XHR.prototype.open.call(e);return false};r.prototype.get=function(){function t(){if(this.readyState==4){this.onreadystatechange=i;if(this.status==200){e.onData(this.responseText);e.get()}else{e.onClose()}}}function r(){this.onload=i;this.onerror=i;e.retryCounter=1;e.onData(this.responseText);e.get()}function s(){e.retryCounter++;if(!e.retryCounter||e.retryCounter>3){e.onClose()}else{e.get()}}if(!this.isOpen)return;var e=this;this.xhr=this.request();if(n.XDomainRequest&&this.xhr instanceof XDomainRequest){this.xhr.onload=r;this.xhr.onerror=s}else{this.xhr.onreadystatechange=t}this.xhr.send(null)};r.prototype.onClose=function(){t.Transport.XHR.prototype.onClose.call(this);if(this.xhr){this.xhr.onreadystatechange=this.xhr.onload=this.xhr.onerror=i;try{this.xhr.abort()}catch(e){}this.xhr=null}};r.prototype.ready=function(e,n){var r=this;t.util.defer(function(){n.call(r)})};t.transports.push("xhr-polling")})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);(function(e,t,n){function i(e){t.Transport["xhr-polling"].apply(this,arguments);this.index=t.j.length;var n=this;t.j.push(function(e){n._(e)})}var r=n.document&&"MozAppearance"in n.document.documentElement.style;e["jsonp-polling"]=i;t.util.inherit(i,t.Transport["xhr-polling"]);i.prototype.name="jsonp-polling";i.prototype.post=function(e){function a(){f();n.socket.setBuffer(false)}function f(){if(n.iframe){n.form.removeChild(n.iframe)}try{u=document.createElement('<iframe name="'+n.iframeId+'">')}catch(e){u=document.createElement("iframe");u.name=n.iframeId}u.id=n.iframeId;n.form.appendChild(u);n.iframe=u}var n=this,r=t.util.query(this.socket.options.query,"t="+ +(new Date)+"&i="+this.index);if(!this.form){var i=document.createElement("form"),s=document.createElement("textarea"),o=this.iframeId="socketio_iframe_"+this.index,u;i.className="socketio";i.style.position="absolute";i.style.top="0px";i.style.left="0px";i.style.display="none";i.target=o;i.method="POST";i.setAttribute("accept-charset","utf-8");s.name="d";i.appendChild(s);document.body.appendChild(i);this.form=i;this.area=s}this.form.action=this.prepareUrl()+r;f();this.area.value=t.JSON.stringify(e);try{this.form.submit()}catch(l){}if(this.iframe.attachEvent){u.onreadystatechange=function(){if(n.iframe.readyState=="complete"){a()}}}else{this.iframe.onload=a}this.socket.setBuffer(true)};i.prototype.get=function(){var e=this,n=document.createElement("script"),i=t.util.query(this.socket.options.query,"t="+ +(new Date)+"&i="+this.index);if(this.script){this.script.parentNode.removeChild(this.script);this.script=null}n.async=true;n.src=this.prepareUrl()+i;n.onerror=function(){e.onClose()};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(n,s);this.script=n;if(r){setTimeout(function(){var e=document.createElement("iframe");document.body.appendChild(e);document.body.removeChild(e)},100)}};i.prototype._=function(e){this.onData(e);if(this.isOpen){this.get()}return this};i.prototype.ready=function(e,n){var i=this;if(!r)return n.call(this);t.util.load(function(){n.call(i)})};i.check=function(){return"document"in n};i.xdomainCheck=function(){return true};t.transports.push("jsonp-polling")})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);if(typeof define==="function"&&define.amd){define([],function(){return io})}})()
--- translate_this/translate_this.module
+++ translate_this/translate_this.module
@@ -28,12 +28,12 @@ function translate_this_menu() {
   $items = array();
 
   $items['admin/config/regional/translate_this'] = array(
-    'title' => 'TranslateThis Button',
-    'description' => 'Configure the TranslateThis button.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('translate_this_admin_settings'),
-    'access arguments' => array('administer site configuration'),
-    'file' => 'translate_this.admin.inc',
+      'title' => 'TranslateThis Button',
+      'description' => 'Configure the TranslateThis button.',
+      'page callback' => 'drupal_get_form',
+      'page arguments' => array('translate_this_admin_settings'),
+      'access arguments' => array('administer site configuration'),
+      'file' => 'translate_this.admin.inc',
   );
 
   return $items;
@@ -66,29 +66,27 @@ function translate_this_display_button() {
 
   $protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
   $content['#attached']['js'][] = array(
-    'type' => 'external',
-    'data' => $protocol . '://x.translateth.is/translate-this.js',
+    'data' => drupal_get_path('module', 'translate_this').'/js/translate-this.js',
   );
   $content['#attached']['js'][] = array(
-    'type' => 'external',
-    'data' => 'http://www.google.com/jsapi',
+    'data' => drupal_get_path('module', 'translate_this').'/js/jsapi',
   );
   $content['#attached']['js'][] = array(
-    'type' => 'inline',
-    'data' => 'TranslateThis({
+    'type' => 'inline',
+    'data' => 'TranslateThis({
       ' . translate_this_js_options() . '
     });',
   );
   $content['button'] = array(
-    '#prefix' => '<div id="translate-this">',
-    '#suffix' => '</div>',
-    '#markup' => l(t('Translate'), 'http://translateth.is/', array(
-      'attributes' => array(
-        'class' => array(
-          'translate-this-button',
-        ),
-      ),
-    )),
+    '#prefix' => '<div id="translate-this">',
+    '#suffix' => '</div>',
+    '#markup' => l(t('Translate'), 'http://translateth.is/', array(
+      'attributes' => array(
+        'class' => array(
+        'translate-this-button',
+       ),
+      ),
+    )),
   );
 
   return $content;
@@ -165,57 +165,57 @@ function translate_this_js_options() {
  */
 function translate_this_languages() {
   return array(
-    'af' => 'Afrikaans',
-    'sq' => 'Albanian',
-    'ar' => 'Arabic',
-    'be' => 'Belarusian',
-    'bg' => 'Bulgarian',
-    'ca' => 'Catalan',
-    'zh-CN' => 'Chinese simplified',
-    'zh-TW' => 'Chinese traditional',
-    'hr' => 'Croatian',
-    'cs' => 'Czech',
-    'da' => 'Danish',
-    'nl' => 'Dutch',
-    'en' => 'English',
-    'et' => 'Estonian',
-    'fi' => 'Finnish',
-    'fr' => 'French',
-    'gl' => 'Gallician',
-    'de' => 'German',
-    'el' => 'Greek',
-    'iw' => 'Hebrew',
-    'hi' => 'Hindi',
-    'hu' => 'Hungarian',
-    'is' => 'Icelandic',
-    'id' => 'Indonesian',
-    'ga' => 'Irish',
-    'it' => 'Italian',
-    'ja' => 'Japanese',
-    'ko' => 'Korean',
-    'lv' => 'Latvian',
-    'lt' => 'Lithuanian',
-    'mk' => 'Macedonian',
-    'ms' => 'Malay',
-    'mt' => 'Maltese',
-    'no' => 'Norwegian',
-    'fa' => 'Persian',
-    'pl' => 'Polish',
-    'pt-PT' => 'Portuguese',
-    'ro' => 'Romanian',
-    'ru' => 'Russian',
-    'sr' => 'Serbian',
-    'sk' => 'Slovak',
-    'sl' => 'Slovenian',
-    'es' => 'Spanish',
-    'sw' => 'Swahili',
-    'sv' => 'Swedish',
-    'tl' => 'Tagalog (Filipino)',
-    'th' => 'Thai',
-    'tr' => 'Turkish',
-    'uk' => 'Ukranian',
-    'vi' => 'Vietnamese',
-    'cy' => 'Welsh',
-    'yi' => 'Yiddish',
+      'af' => 'Afrikaans',
+      'sq' => 'Albanian',
+      'ar' => 'Arabic',
+      'be' => 'Belarusian',
+      'bg' => 'Bulgarian',
+      'ca' => 'Catalan',
+      'zh-CN' => 'Chinese simplified',
+      'zh-TW' => 'Chinese traditional',
+      'hr' => 'Croatian',
+      'cs' => 'Czech',
+      'da' => 'Danish',
+      'nl' => 'Dutch',
+      'en' => 'English',
+      'et' => 'Estonian',
+      'fi' => 'Finnish',
+      'fr' => 'French',
+      'gl' => 'Gallician',
+      'de' => 'German',
+      'el' => 'Greek',
+      'iw' => 'Hebrew',
+      'hi' => 'Hindi',
+      'hu' => 'Hungarian',
+      'is' => 'Icelandic',
+      'id' => 'Indonesian',
+      'ga' => 'Irish',
+      'it' => 'Italian',
+      'ja' => 'Japanese',
+      'ko' => 'Korean',
+      'lv' => 'Latvian',
+      'lt' => 'Lithuanian',
+      'mk' => 'Macedonian',
+      'ms' => 'Malay',
+      'mt' => 'Maltese',
+      'no' => 'Norwegian',
+      'fa' => 'Persian',
+      'pl' => 'Polish',
+      'pt-PT' => 'Portuguese',
+      'ro' => 'Romanian',
+      'ru' => 'Russian',
+      'sr' => 'Serbian',
+      'sk' => 'Slovak',
+      'sl' => 'Slovenian',
+      'es' => 'Spanish',
+      'sw' => 'Swahili',
+      'sv' => 'Swedish',
+      'tl' => 'Tagalog (Filipino)',
+      'th' => 'Thai',
+      'tr' => 'Turkish',
+      'uk' => 'Ukranian',
+      'vi' => 'Vietnamese',
+      'cy' => 'Welsh',
+      'yi' => 'Yiddish',
   );
 }
