(function() {var h,aa=aa||{},l=this,m=function(a){return void 0!==a},ba=function(){},ca=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!= typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},n=function(a){return"array"==ca(a)},da=function(a){var b=ca(a);return"array"==b||"object"==b&&"number"==typeof a.length},p=function(a){return"string"==typeof a},q=function(a){return"number"==typeof a},r=function(a){return"function"==ca(a)},t=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b},ea="closure_uid_"+ (1E9*Math.random()>>>0),fa=0,ga=function(a,b,c){return a.call.apply(a.bind,arguments)},ha=function(a,b,c){if(!a)throw Error();if(2")&&(a=a.replace(Fa,">"));-1!=a.indexOf('"')&&(a=a.replace(Ga,"""));-1!=a.indexOf("'")&& (a=a.replace(Ha,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(Ia,"�"));return a},Da=/&/g,Ea=//g,Ga=/"/g,Ha=/'/g,Ia=/\x00/g,Ca=/[\x00&<>"']/,Ka=function(a,b){return ab?1:0};var La=function(a,b){b.unshift(a);x.call(this,za.apply(null,b));b.shift()};w(La,x);La.prototype.name="AssertionError"; var Ma=function(a,b,c,d){var e="Assertion failed";if(c)var e=e+(": "+c),f=d;else a&&(e+=": "+a,f=b);throw new La(""+e,f||[]);},y=function(a,b,c){a||Ma("",null,b,Array.prototype.slice.call(arguments,2));return a},Na=function(a,b){throw new La("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));},Oa=function(a,b,c){r(a)||Ma("Expected function but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2))};var Pa=Array.prototype.indexOf?function(a,b,c){y(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(p(a))return p(b)&&1==b.length?a.indexOf(b,c):-1;for(;cc&&(c=Math.max(0,a.length+c));if(p(a))return p(b)&&1== b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1},Ra=Array.prototype.forEach?function(a,b,c){y(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;fb?null:p(a)?a.charAt(b):a[b]},Ya=function(a){if(!n(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0},$a=function(a,b){var c=Pa(a,b),d;(d=0<=c)&&Za(a,c);return d},Za=function(a,b){y(null!=a.length); Array.prototype.splice.call(a,b,1)},ab=function(a){return Array.prototype.concat.apply(Array.prototype,arguments)},bb=function(a){var b=a.length;if(0=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a, b,c)},eb=function(a){for(var b={},c=0,d=0;dparseFloat(a))?String(b):a}(),zb={},Ab=function(a){var b;if(!(b=zb[a])){b=0;for(var c=Ba(String(yb)).split("."),d=Ba(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f");c=c.join("")}c=a.createElement(c);d&&(p(d)?c.className=d:n(d)?c.className=d.join(" "):Gb(c,d));2=b.Ab&&b.cancel())}this.xc?this.xc.call(this.jc,this):this.Yb=!0;this.oa||tc(this,new uc)}};sc.prototype.hc=function(a,b){this.zb=!1;vc(this,a,b)}; var vc=function(a,b,c){a.oa=!0;a.W=c;a.Ea=!b;wc(a)},yc=function(a){if(a.oa){if(!a.Yb)throw new xc;a.Yb=!1}},tc=function(a,b){yc(a);zc(b);vc(a,!1,b)},zc=function(a){y(!(a instanceof sc),"An execution sequence may not be initiated with a blocking Deferred.")},Ac=function(a,b,c){y(!a.ec,"Blocking Deferreds can not be re-used");a.nb.push([b,c,void 0]);a.oa&&wc(a)}; sc.prototype.then=function(a,b,c){var d,e,f=new ec(function(a,b){d=a;e=b});Ac(this,d,function(a){a instanceof uc?f.cancel():e(a)});return f.then(a,b,c)};ac(sc); var Bc=function(a){return Ua(a.nb,function(a){return r(a[1])})},wc=function(a){if(a.sb&&a.oa&&Bc(a)){var b=a.sb,c=Cc[b];c&&(l.clearTimeout(c.V),delete Cc[b]);a.sb=0}a.h&&(a.h.Ab--,delete a.h);for(var b=a.W,d=c=!1;a.nb.length&&!a.zb;){var e=a.nb.shift(),f=e[0],g=e[1],e=e[2];if(f=a.Ea?g:f)try{var k=f.call(e||a.jc,b);m(k)&&(a.Ea=a.Ea&&(k==b||k instanceof Error),a.W=b=k);if(bc(b)||"function"===typeof l.Promise&&b instanceof l.Promise)d=!0,a.zb=!0}catch(D){b=D,a.Ea=!0,Bc(a)||(c=!0)}}a.W=b;d&&(k=u(a.hc, a,!0),d=u(a.hc,a,!1),b instanceof sc?(Ac(b,k,d),b.ec=!0):b.then(k,d));c&&(b=new Dc(b),Cc[b.V]=b,a.sb=b.V)},xc=function(){x.call(this)};w(xc,x);xc.prototype.message="Deferred has already fired";xc.prototype.name="AlreadyCalledError";var uc=function(){x.call(this)};w(uc,x);uc.prototype.message="Deferred was canceled";uc.prototype.name="CanceledError";var Dc=function(a){this.V=l.setTimeout(u(this.Jd,this),0);this.Wa=a}; Dc.prototype.Jd=function(){y(Cc[this.V],"Cannot throw an error that is not scheduled.");delete Cc[this.V];throw this.Wa;};var Cc={};var Ic=function(a){var b={},c=b.document||document,d=document.createElement("SCRIPT"),e={Ec:d,Ma:void 0},f=new sc(Ec,e),g=null,k=null!=b.timeout?b.timeout:5E3;0=a.keyCode)a.keyCode=-1}catch(b){}};var Pc="closure_listenable_"+(1E6*Math.random()|0),Qc=function(a){return!(!a||!a[Pc])},Rc=0;var Sc=function(a,b,c,d,e){this.listener=a;this.jb=null;this.src=b;this.type=c;this.Ta=!!d;this.$a=e;this.key=++Rc;this.ta=this.Sa=!1},Tc=function(a){a.ta=!0;a.listener=null;a.jb=null;a.src=null;a.$a=null};var Uc=function(a){this.src=a;this.A={};this.Na=0};Uc.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.A[f];a||(a=this.A[f]=[],this.Na++);var g=Vc(a,b,d,e);-1e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(D){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);for(var f=a.type,g=e.length-1;!c.sa&&0<=g;g--){c.currentTarget=e[g];var k=kd(e[g],f,!0,c),d=d&&k}for(g=0;!c.sa&&g>>0),ad=function(a){y(a,"Listener can not be null.");if(r(a))return a;y(a.handleEvent,"An object listener must have handleEvent method.");a[ld]||(a[ld]=function(b){return a.handleEvent(b)});return a[ld]};var B=function(){Jc.call(this);this.O=new Uc(this);this.Mc=this;this.Vb=null};w(B,Jc);B.prototype[Pc]=!0;h=B.prototype;h.addEventListener=function(a,b,c,d){$c(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){hd(this,a,b,c,d)}; h.dispatchEvent=function(a){md(this);var b,c=this.Vb;if(c){b=[];for(var d=1;c;c=c.Vb)b.push(c),y(1E3>++d,"infinite loop")}c=this.Mc;d=a.type||a;if(p(a))a=new Kc(a,c);else if(a instanceof Kc)a.target=a.target||c;else{var e=a;a=new Kc(d,c);xa(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.sa&&0<=g;g--)f=a.currentTarget=b[g],e=nd(f,d,!0,a)&&e;a.sa||(f=a.currentTarget=c,e=nd(f,d,!0,a)&&e,a.sa||(e=nd(f,d,!1,a)&&e));if(b)for(g=0;!a.sa&&g=a.length)throw od;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");},rd=function(a,b){if(da(a))try{Ra(a,b,void 0)}catch(c){if(c!==od)throw c;}else{a=qd(a);try{for(;;)b.call(void 0,a.next(),void 0,a)}catch(c){if(c!==od)throw c;}}};var sd=function(a,b){this.j={};this.c=[];this.Oa=this.f=0;var c=arguments.length;if(12*this.f&&td(this),!0):!1};var td=function(a){if(a.f!=a.c.length){for(var b=0,c=0;b=d.c.length)throw od;var e=d.c[b++];return a?e:d.j[e]};return e};var ud=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var vd=function(a){if(a.v&&"function"==typeof a.v)return a.v();if(p(a))return a.split("");if(da(a)){for(var b=[],c=a.length,d=0;d=Gd(this).value)for(r(b)&&(b=b()),a=new zd(a,String(b),this.wd),c&&(a.lc=c),c="log:"+a.vd,l.console&&(l.console.timeStamp?l.console.timeStamp(c):l.console.markTimeline&&l.console.markTimeline(c)),l.msWriteProfilerMark&&l.msWriteProfilerMark(c),c=this;c;){b=c;var d=a;if(b.pc)for(var e=0,f=void 0;f=b.pc[e];e++)f(d);c=c.getParent()}}; var Hd={},Id=null,Jd=function(a){Id||(Id=new Bd(""),Hd[""]=Id,Id.Gc(Ed));var b;if(!(b=Hd[a])){b=new Bd(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=Jd(a.substr(0,c));c.nc()[d]=b;b.h=c;Hd[a]=b}return b};var Kd=function(a,b){a&&a.log(Fd,b,void 0)};var Ld=function(a,b,c){if(r(a))c&&(a=u(a,c));else if(a&&"function"==typeof a.handleEvent)a=u(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647b)throw Error("Bad port number "+b);a.qa=b}else a.qa=null};ie.prototype.getPath=function(){return this.ib};ie.prototype.setPath=function(a,b){ke(this);this.ib=b?ne(a,!0):a;return this}; var me=function(a,b,c){ke(a);b instanceof oe?(a.R=b,a.R.Xb(a.I)):(c||(b=pe(b,ue)),a.R=new oe(b,0,a.I))},ve=function(a){return a.R},ke=function(a){if(a.od)throw Error("Tried to modify a read-only Uri");};ie.prototype.Xb=function(a){this.I=a;this.R&&this.R.Xb(a);return this}; var we=function(a){return a instanceof ie?a.clone():new ie(a,void 0)},ne=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""},pe=function(a,b,c){return p(a)?(a=encodeURI(a).replace(b,xe),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},xe=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},qe=/[#\/\?@]/g,se=/[\#\?:]/g,re=/[\#\?]/g,ue=/[\#\?@]/g,te=/#/g,oe=function(a,b,c){this.f=this.g=null;this.C=a||null;this.I=!!c},ye=function(a){a.g|| (a.g=new sd,a.f=0,a.C&&Nd(a.C,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))};h=oe.prototype;h.u=function(){ye(this);return this.f};h.add=function(a,b){ye(this);this.C=null;a=ze(this,a);var c=this.g.get(a);c||this.g.set(a,c=[]);c.push(b);this.f++;return this};h.remove=function(a){ye(this);a=ze(this,a);return this.g.X(a)?(this.C=null,this.f-=this.g.get(a).length,this.g.remove(a)):!1};h.clear=function(){this.g=this.C=null;this.f=0};h.isEmpty=function(){ye(this);return 0==this.f}; h.X=function(a){ye(this);a=ze(this,a);return this.g.X(a)};h.K=function(){ye(this);for(var a=this.g.v(),b=this.g.K(),c=[],d=0;db&&(b+=e);return[Ke,"map",a.mapid,d,b,c].join("/")+"?token="+a.token});var Pe=function(a,b){a=ua(a);return F("/value",G(a),b)};v("ee.data.getValue",Pe); var Qe=function(a,b){a=ua(a);n(a.size)&&(a.size=a.size.join("x"));var c=G(a).add("getid","1");return F("/thumb",c,b)};v("ee.data.getThumbId",Qe);var Re=function(a){return Ke+"/api/thumb?thumbid="+a.thumbid+"&token="+a.token};v("ee.data.makeThumbUrl",Re);var Se=function(a,b){a=ua(a);return F("/download",G(a),b)};v("ee.data.getDownloadId",Se);var Te=function(a){return Ke+"/api/download?docid="+a.docid+"&token="+a.token};v("ee.data.makeDownloadUrl",Te); var Ue=function(a,b){a=ua(a);return F("/table",G(a),b)};v("ee.data.getTableDownloadId",Ue);var Ve=function(a){return Ke+"/api/table?docid="+a.docid+"&token="+a.token};v("ee.data.makeTableDownloadUrl",Ve);v("ee.data.withProfiling",function(a,b,c){var d=We;try{return We=a,b.call(c)}finally{We=d}});v("ee.data.newTaskId",function(a,b){var c={};q(a)&&(c.count=a);return F("/newtaskid",G(c),b)}); v("ee.data.getTaskStatus",function(a,b){if(p(a))a=[a];else if(!n(a))throw Error("Invalid taskId: expected a string or an array of strings.");return F("/taskstatus?q="+a.join(),null,b,"GET")});v("ee.data.getTaskList",function(a){return F("/tasklist",null,a,"GET")});v("ee.data.cancelTask",function(a,b){return Xe(a,"CANCEL",b)}); var Xe=function(a,b,c){if(p(a))a=[a];else if(!n(a))throw Error("Invalid taskId: expected a string or an array of strings.");var d;a:{d=Ye;for(var e in d)if(d[e]==b){d=!0;break a}d=!1}if(!d)throw Error("Invalid action: "+b);return F("/updatetask",G({id:a,action:b}),c,"POST")};v("ee.data.updateTask",Xe);v("ee.data.prepareValue",function(a,b,c){b=ua(b);b.tid=a;return F("/prepare",G(b),c)});v("ee.data.startProcessing",function(a,b,c){b=ua(b);b.id=a;return F("/processingrequest",G(b),c)}); v("ee.data.startIngestion",function(a,b,c){a={id:a,request:kb(b)};return F("/ingestionrequest",G(a),c)});v("ee.data.getInfo",function(a,b){return F("/info",(new oe).add("id",a),b)});v("ee.data.getList",function(a,b){var c=G(a);return F("/list",c,b)});v("ee.data.getAssetRoots",function(a){return F("/buckets",null,a,"GET")});v("ee.data.createAssetHome",function(a,b){var c=G({id:a});F("/createbucket",c,b)}); v("ee.data.createAsset",function(a,b,c,d){p(a)||(a=kb(a));a={value:a};void 0!==b&&(a.id=b);a.force=c||!1;return F("/create",G(a),d)});v("ee.data.createFolder",function(a,b,c){return F("/createfolder",G({id:a,force:b||!1}),c)});v("ee.data.getAssetAcl",function(a,b){return F("/getacl",G({id:a}),b,"GET")});v("ee.data.setAssetAcl",function(a,b,c){a={id:a,value:kb(b)};F("/setacl",G(a),c)}); var Ye={Qd:"CANCEL",Td:"UPDATE"},F=function(a,b,c,d){Me();d=d||"POST";var e={"Content-Type":"application/x-www-form-urlencoded"};null!=Ce&&(e.Authorization=Ce);b=b?b.clone():new oe;var f;We&&(b.add("profiling","1"),f=We);b=Ne(b,a);null!=Le&&(e["X-XSRF-Token"]=Le);var g=function(a,b,c,d){var e=b("X-Earth-Engine-Computation-Profile");e&&f&&f(e);var g,k,Aa;b=(b=b("Content-Type"))?b.replace(/;.*/,""):"application/json";if("application/json"==b||"text/json"==b)try{g=hb(c),k=g.data}catch(wh){Aa="Invalid JSON: "+ c}else Aa="Response was unexpectedly not JSON, but "+b;if(t(g))"error"in g&&"message"in g.error?Aa=g.error.message:"data"in g||(Aa="Malformed response: "+c);else if(200>a||300<=a)Aa="Server returned HTTP code: "+a;if(d)return d(k,Aa),null;if(!Aa)return k;throw Error(Aa);};b=b?b.toString():"";"GET"!=d||/^[\s\xa0]*$/.test(b)||(a+=-1!=a.indexOf("?")?"&":"?",a+=b,b=null);a=Ie+a;if(c)return Yd(a,function(a){a=a.target;var b=a.getStatus(),d=u(a.getResponseHeader,a),e;try{e=a.a?a.a.responseText:""}catch(f){Kd(a.B, "Can not get responseText: "+f.message),e=""}return g(b,d,e,c)},d,b,e),null;var k=C();k.open(d,a,!1);ka(e,function(a,b){k.setRequestHeader(b,a)});k.send(b);return g(k.status,function(a){try{return k.getResponseHeader(a)}catch(b){return null}},k.responseText,null)},De=function(a){var b=function(){l.gapi.config.update("client/cors",!0);He||(He=l.gapi.auth.authorize);a()};if(t(l.gapi)&&t(l.gapi.auth)&&r(l.gapi.auth.authorize))b();else{for(var c=ja().toString(36);c in l;)c+="_";l[c]=function(){delete l[c]; b()};Ic("https://apis.google.com/js/client.js?onload="+c)}},Ge=function(a,b,c){if(c.access_token){var d=c.token_type+" "+c.access_token;isFinite(c.expires_in)&&(b=1E3*c.expires_in,setTimeout(Ee,.5*b),setTimeout(function(){Ce==d&&(Ce=null)},.95*b));Ce=d;a&&a()}else b&&b(c.error||"Unknown error.")},G=function(a){var b=new oe,c;for(c in a)b.set(c,a[c]);return b},Ie=null,Ke=null,Le=null,Ne=fb,Ce=null,Ae=null,Be=[],He=null,Je=!1,Xd=0,We=null;var Ze=function(){};var $e=function(){this.S=-1};var af=function(){this.S=-1;this.S=64;this.o=Array(4);this.Qc=Array(this.S);this.qb=this.za=0;this.reset()};w(af,$e);af.prototype.reset=function(){this.o[0]=1732584193;this.o[1]=4023233417;this.o[2]=2562383102;this.o[3]=271733878;this.qb=this.za=0}; var bf=function(a,b,c){c||(c=0);var d=Array(16);if(p(b))for(var e=0;16>e;++e)d[e]=b.charCodeAt(c++)|b.charCodeAt(c++)<<8|b.charCodeAt(c++)<<16|b.charCodeAt(c++)<<24;else for(e=0;16>e;++e)d[e]=b[c++]|b[c++]<<8|b[c++]<<16|b[c++]<<24;b=a.o[0];c=a.o[1];var e=a.o[2],f=a.o[3],g=0,g=b+(f^c&(e^f))+d[0]+3614090360&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[1]+3905402710&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[2]+606105819&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e& (f^b))+d[3]+3250441966&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[4]+4118548399&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[5]+1200080426&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[6]+2821735955&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[7]+4249261313&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[8]+1770035416&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[9]+2336552879&4294967295;f=b+(g<<12&4294967295|g>>>20);g= e+(c^f&(b^c))+d[10]+4294925233&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[11]+2304563134&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[12]+1804603682&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[13]+4254626195&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[14]+2792965006&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[15]+1236535329&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(e^f&(c^e))+d[1]+4129170786&4294967295;b=c+(g<<5&4294967295| g>>>27);g=f+(c^e&(b^c))+d[6]+3225465664&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[11]+643717713&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[0]+3921069994&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[5]+3593408605&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[10]+38016083&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[15]+3634488961&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[4]+3889429448&4294967295;c=e+(g<<20&4294967295| g>>>12);g=b+(e^f&(c^e))+d[9]+568446438&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[14]+3275163606&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[3]+4107603335&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[8]+1163531501&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[13]+2850285829&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[2]+4243563512&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[7]+1735328473&4294967295;e=f+(g<<14&4294967295| g>>>18);g=c+(f^b&(e^f))+d[12]+2368359562&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(c^e^f)+d[5]+4294588738&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[8]+2272392833&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[11]+1839030562&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[14]+4259657740&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[1]+2763975236&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[4]+1272893353&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^ b^c)+d[7]+4139469664&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[10]+3200236656&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[13]+681279174&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[0]+3936430074&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[3]+3572445317&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[6]+76029189&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[9]+3654602809&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[12]+3873151461&4294967295; f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[15]+530742520&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[2]+3299628645&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(e^(c|~f))+d[0]+4096336452&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[7]+1126891415&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[14]+2878612391&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[5]+4237533241&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[12]+1700485571&4294967295;b=c+ (g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[3]+2399980690&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[10]+4293915773&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[1]+2240044497&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[8]+1873313359&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[15]+4264355552&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[6]+2734768916&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[13]+1309151649&4294967295; c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[4]+4149444226&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[11]+3174756917&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[2]+718787259&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[9]+3951481745&4294967295;a.o[0]=a.o[0]+b&4294967295;a.o[1]=a.o[1]+(e+(g<<21&4294967295|g>>>11))&4294967295;a.o[2]=a.o[2]+e&4294967295;a.o[3]=a.o[3]+f&4294967295}; af.prototype.update=function(a,b){m(b)||(b=a.length);for(var c=b-this.S,d=this.Qc,e=this.za,f=0;fthis.za?this.S:2*this.S)-this.za);a[0]=128;for(var b=1;bb;++b)for(var d=0;32>d;d+=8)a[c++]=this.o[b]>>>d&255;return a};var cf=function(a){this.Pa="__ee_hash__";this.Pb=!1!==a;this.va=[];this.na={};this.cc=[]};v("ee.Serializer",cf);var df=new jb,ef=new af,gf=function(a,b){return ff(new cf(m(b)?b:!0),a)};v("ee.Serializer.encode",gf);var hf=function(a){return df.w(gf(a))};v("ee.Serializer.toJSON",hf);var jf=function(a){a=ff(new cf(!1),a);return"JSON"in l?l.JSON.stringify(a,null," "):df.w(a)};v("ee.Serializer.toReadableJSON",jf); var ff=function(a,b){var c=a.Va(b);a.Pb&&(c=t(c)&&"ValueRef"==c.type&&1==a.va.length?a.va[0][1]:{type:"CompoundValue",scope:a.va,value:c},a.va=[],Ra(a.cc,u(function(a){delete a[this.Pa]},a)),a.cc=[],a.na={});return c}; cf.prototype.Va=function(a){if(!m(a))throw Error("Can't encode an undefined value.");var b,c=t(a)?a[this.Pa]:null;if(this.Pb&&null!=c&&this.na[c])return{type:"ValueRef",value:this.na[c]};if(null===a||"boolean"==typeof a||q(a)||p(a))return a;if(t(a)&&"function"==typeof a.getFullYear)return{type:"Invocation",functionName:"Date",arguments:{value:Math.floor(a.getTime())}};if(a instanceof Ze){if(b=a.encode(u(this.Va,this)),!(n(b)||t(b)&&"ArgumentRef"!=b.type))return b}else if(n(a))b=Ta(a,function(a){return this.Va(a)}, this);else if(t(a)&&!r(a))b=oa(a,function(a){if(!r(a))return this.Va(a)},this),ta(b,this.Pa),b={type:"Dictionary",value:b};else throw Error("Can't encode object: "+a);if(this.Pb){ef.reset();ef.update(df.w(b));var c=ef.digest().toString(),d;this.na[c]?d=this.na[c]:(d=String(this.va.length),this.va.push([d,b]),this.na[c]=d);a[this.Pa]=c;this.cc.push(a);return{type:"ValueRef",value:d}}return b};var H=function(a,b,c){if(!(this instanceof H))return I(H,arguments);if(c&&(a||b))throw Error('When "opt_varName" is specified, "func" and "args" must be null.');if(a&&!b)throw Error('When "func" is specified, "args" must not be null.');this.b=a;this.i=b;this.m=c||null};w(H,Ze);v("ee.ComputedObject",H);H.prototype.D=function(a){return Pe({json:this.w()},a)};H.prototype.getInfo=H.prototype.D; H.prototype.encode=function(a){if(null===this.b&&null===this.i)return{type:"ArgumentRef",value:this.m};var b={},c;for(c in this.i)m(this.i[c])&&(b[c]=a(this.i[c]));b={type:"Invocation",arguments:b};a=a(this.b);b[p(a)?"functionName":"function"]=a;return b};H.prototype.w=function(){return hf(this)};H.prototype.serialize=H.prototype.w;H.prototype.toString=function(){return"ee."+this.name()+"("+jf(this)+")"};H.prototype.toString=H.prototype.toString;H.prototype.name=function(){return"ComputedObject"}; H.prototype.Pc=function(a,b){var c=bb(arguments);c[0]=this;a.apply(l,c);return this};H.prototype.aside=H.prototype.Pc;var kf=function(a,b){if(b instanceof a.constructor)return b;var c=function(){};c.prototype=a.constructor.prototype;c=new c;c.b=b.b;c.i=b.i;c.m=b.m;return c},I=function(a,b){function c(){return a.apply(this,b)}c.prototype=a.prototype;return new c};var lf={},mf=function(a){return a.prototype instanceof H?a.prototype.name.call(null):a==Number?"Number":a==String?"String":a==Array?"Array":a==Date?"Date":"Object"},nf=function(a,b){if(b==a)return!0;switch(a){case "Element":return"Element"==b||"Image"==b||"Feature"==b||"Collection"==b||"ImageCollection"==b||"FeatureCollection"==b;case "FeatureCollection":case "Collection":return"Collection"==b||"ImageCollection"==b||"FeatureCollection"==b;case "Object":return!0;default:return!1}},of=function(a){return q(a)|| a instanceof H&&"Number"==a.name()},pf=function(a){return p(a)||a instanceof H&&"String"==a.name()},qf=function(a){return t(a)&&!r(a)?(a=Object.getPrototypeOf(a),null!==a&&null===Object.getPrototypeOf(a)):!1};var J=function(){if(!(this instanceof J))return new J};w(J,Ze);v("ee.Function",J);var rf=fb;J.prototype.call=function(a){return this.apply(sf(this,Array.prototype.slice.call(arguments,0)))};J.prototype.call=J.prototype.call;J.prototype.apply=function(a){a=new H(this,tf(this,a));return rf(a,this.H().returns)};J.prototype.apply=J.prototype.apply; var uf=function(a,b,c){var d=m(b),e=a.H(),f=!1;if(1==c.length&&qf(c[0])){var g=e.args;d&&(g=g.slice(1));g.length&&(f=!((1==g.length||g[1].optional)&&"Dictionary"==g[0].type))}if(f){if(c=ua(c[0]),d){d=e.args[0].name;if(d in c)throw Error("Named args for "+e.name+" can't contain keyword "+d);c[d]=b}}else c=sf(a,d?[b].concat(c):c);return a.apply(c)},tf=function(a,b){for(var c=a.H().args,d={},e={},f=0;f/,"");for(var c=0;c/,"");return new K(b,a)}),a&&a())};a?F("/algorithms",null,c,"GET"):c(F("/algorithms",null,void 0,"GET"))}},M=function(a,b,c,d){yf();var e=d||"";ka(la,function(d,g){var k=g.split(".");if(2==k.length&&k[0]==b){var k=e+k[1],D=d.H();xf[g]=!0;var ma=!1; if(D.args.length)var U=D.args[0].type,ma="Object"!=U&&nf(U,c);U=ma?a.prototype:a;k in U&&!U[k].signature||(U[k]=function(a){return uf(d,ma?this:void 0,Array.prototype.slice.call(arguments,0))},U[k].toString=u(d.toString,d,k,ma),U[k].signature=D)}})},N=function(a){var b=function(a){for(var b in a)r(a[b])&&a[b].signature&&delete a[b]};b(a);b(a.prototype)};var O=function(a,b,c){H.call(this,a,b,c);Cf()};w(O,H);v("ee.Element",O);var Df=!1,Cf=function(){Df||(M(O,"Element","Element"),Df=!0)};O.prototype.name=function(){return"Element"}; O.prototype.set=function(a){var b;if(1>=arguments.length){var c=arguments[0];if(b=qf(c))a:{b=qa(c);var d=["properties"];if(da(b)&&da(d)&&b.length==d.length){for(var e=b.length,f=0;fe.length)throw Error("Geometry constructor given extra arguments.");for(var f=0;fb||4/,"");c[e]=!0}var f=l.ee,g;for(g in b)g in c&&!(g in f)&&(f[g]=$g(g),Yg.push(g),a[g]?(f[g].signature=a[g],f[g].signature.isConstructor=!0,xf[g]=!0):f[g].signature={});lf=f;ah()}catch(k){Xg(k);return}Tg="ready";for(Ug=[];0b)return $a(this.M,a);Za(this.G,b);return!0}; h.v=function(){for(var a=[],b=this.G.length-1;0<=b;--b)a.push(this.G[b]);for(var c=this.M.length,b=0;bthis.fb)throw Error("[goog.structs.Pool] Min can not be greater than max");this.P=new ih;this.$=new xd;this.Eb=0;this.Qb=null;this.Qa()};w(jh,Jc);h=jh.prototype;h.Xa=function(){var a=ja();if(!(null!=this.Qb&&a-this.Qbthis.fb&&0=a.u()){a=this.L;for(var d=0;d>1,a[d].getKey()>c.getKey())a[b]=a[d],b=d;else break;a[b]=c};h=lh.prototype; h.remove=function(){var a=this.L,b=a.length,c=a[0];if(!(0>=b)){if(1==b)Ya(a);else{a[0]=a.pop();for(var a=0,b=this.L,d=b.length,e=b[a];a>1;){var f=2*a+1,g=2*a+2,f=ge.getKey())break;b[a]=b[f];a=f}b[a]=e}return c.bc}};h.v=function(){for(var a=this.L,b=[],c=a.length,d=0;da.ud)return!1;a.dc++;hh(a.Z,a.V);setTimeout(u(a.Hd,a),0);return!0}; qh.prototype.Hd=function(){if(!this.ya){var a=u(function(a){(a=p(a)?a:a.src)&&(this.Z.Ga[this.V]={src:a,ic:m(void 0)?void 0:null});gd(this.Z,th,u(this.ld,this));this.Z.start()},this),b=this.getUrl();if(ve(we(b)).X("profiling")){var c=new E;c.Ka="blob";c.Ja("complete",u(function(){this.Bc=c.getResponseHeader("X-Earth-Engine-Computation-Profile")||null;var d;try{d=URL.createObjectURL(he(c))}catch(e){}a(d||b)},this));c.eb("ready",u(c.N,c));c.send(b,"GET")}else a(b)}};var uh=function(){this.J=!1}; w(uh,Jc);uh.prototype.setActive=function(a){this.J=a};uh.prototype.sc=function(){return this.J};var ph=function(a,b){oh.call(this,a,b)};w(ph,oh);ph.prototype.Db=function(){return new uh};ph.prototype.Ua=function(a){a.N()};ph.prototype.Tb=function(a){return!a.Y&&!a.sc()};var Z=function(a,b,c,d,e){B.call(this);this.td=b;this.Kd=c;this.minZoom=d.minZoom||0;this.maxZoom=d.maxZoom||20;if(!window.google||!window.google.maps)throw Error("Google Maps API hasn't been initialized.");this.tileSize=d.tileSize||new google.maps.Size(256,256);this.tc=m(d.tc)?d.tc:!0;this.name=d.name;this.La=[];this.ac=new xd;this.Hc=new xd;this.$b=0;this.url=a;this.Ub=1;this.ra=e||null};w(Z,B);v("ee.MapLayerOverlay",Z);Z.prototype.Nc=function(a){return $c(this,"tileevent",a)}; Z.prototype.addTileCallback=Z.prototype.Nc;Z.prototype.Ed=function(a){id(a)};Z.prototype.removeTileCallback=Z.prototype.Ed; Z.prototype.getTile=function(a,b,c){var d=1<a.y||a.y>=d)return a=c.createElement("IMG"),a.style.width="0px",a.style.height="0px",a;c=a.x%d;0>c&&(c+=d);b=[this.td,b,c,a.y].join("/");a=[this.url,b].join("/")+"?token="+this.Kd;this.ra&&this.ra.isEnabled()&&(a+="&profiling=1&no-cache=1");b=b+"/"+this.$b;this.$b+=1;d=Ib("div",{id:b});c=(new Date).getTime()/1E3;this.La.push(b);Y.oc().send(b,a,c,u(this.kd,this,d,b));this.dispatchEvent(new vh(this.La.length));return d}; Z.prototype.releaseTile=function(a){Y.oc().abort(a.id);this.ac.remove(m(a.firstElementChild)?a.firstElementChild:Lb(a.firstChild));this.Hc.remove(a.id);this.ra&&this.ra.Xd(a.id)};Z.prototype.setOpacity=function(a){this.Ub=a;var b=this.ac.la();rd(b,function(b){bh(b,a)})};Z.prototype.getTile=Z.prototype.getTile;Z.prototype.setOpacity=Z.prototype.setOpacity;Z.prototype.releaseTile=Z.prototype.releaseTile; Z.prototype.kd=function(a,b,c,d){"error"==c.type?($a(this.La,b),this.Hc.add(b),this.dispatchEvent(c)):($a(this.La,b),c.target&&"load"==c.type&&(c=c.target,this.ac.add(c),1!=this.Ub&&bh(c,this.Ub),a.appendChild(c)),this.dispatchEvent(new vh(this.La.length)));this.ra&&null!==d&&this.ra.Ud(b,d)};var vh=function(a){Kc.call(this,"tileevent");this.count=a};w(vh,Kc);})(); //@ sourceMappingURL=ee_api_js.sourcemap