Michael DeWitt 645969797a v0.1.95
2016-09-08 17:57:49 -07:00

217 lines
114 KiB
JavaScript

(function() {var h,aa=aa||{},k=this,l=function(a){return void 0!==a},ba=function(){},ca=function(){throw Error("unimplemented abstract method");},da=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},ea=function(a){return null!=a},n=function(a){return"array"==da(a)},fa=function(a){var b=da(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"==
da(a)},t=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b},ga="closure_uid_"+(1E9*Math.random()>>>0),ha=0,ia=function(a,b,c){return a.call.apply(a.bind,arguments)},ja=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},u=function(a,b,c){u=Function.prototype.bind&&
-1!=Function.prototype.bind.toString().indexOf("native code")?ia:ja;return u.apply(null,arguments)},ka=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}},la=Date.now||function(){return+new Date},w=function(a,b){var c=a.split("."),d=k;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)!c.length&&l(b)?d[e]=b:d=d[e]?d[e]:d[e]={}},x=function(a,b){function c(){}c.prototype=b.prototype;
a.w=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.pe=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};var y=function(){this.aa=this.aa;this.ub=this.ub};y.prototype.aa=!1;y.prototype.O=function(){this.aa||(this.aa=!0,this.l())};y.prototype.l=function(){if(this.ub)for(;this.ub.length;)this.ub.shift()()};var ma=function(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.za=!1;this.rd=!0};ma.prototype.preventDefault=function(){this.defaultPrevented=!0;this.rd=!1};var na=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,na);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};x(na,Error);na.prototype.name="CustomError";var oa;var pa=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")},qa=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},ya=function(a){if(!ra.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(sa,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(ta,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(ua,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(va,"&quot;"));-1!=a.indexOf("'")&&
(a=a.replace(wa,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(xa,"&#0;"));return a},sa=/&/g,ta=/</g,ua=/>/g,va=/"/g,wa=/'/g,xa=/\x00/g,ra=/[\x00&<>"']/,za=function(a,b){return a<b?-1:a>b?1:0};var Aa=function(a,b){b.unshift(a);na.call(this,pa.apply(null,b));b.shift()};x(Aa,na);Aa.prototype.name="AssertionError";
var Ba=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 Aa(""+e,f||[]);},z=function(a,b,c){a||Ba("",null,b,Array.prototype.slice.call(arguments,2));return a},Ca=function(a,b){throw new Aa("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));},Da=function(a,b,c){q(a)||Ba("Expected number but got %s: %s.",[da(a),a],b,Array.prototype.slice.call(arguments,2));return a},Ea=function(a,b,c){r(a)||Ba("Expected function but got %s: %s.",[da(a),
a],b,Array.prototype.slice.call(arguments,2))},Fa=function(a,b,c){t(a)||Ba("Expected object but got %s: %s.",[da(a),a],b,Array.prototype.slice.call(arguments,2))},Ga=function(a,b,c){n(a)||Ba("Expected array but got %s: %s.",[da(a),a],b,Array.prototype.slice.call(arguments,2))};var Ha=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)},Ia=function(a,b){var c={},d;for(d in a)b.call(void 0,a[d],d,a)&&(c[d]=a[d]);return c},Ja=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d},Ka=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b},La=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b},Ma=function(a){for(var b in a)return!1;return!0},Na=function(a,b){b in a&&delete a[b]},Oa=function(a){var b={},c;for(c in a)b[c]=a[c];return b},Pa=function(a){var b=
da(a);if("object"==b||"array"==b){if(r(a.clone))return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=Pa(a[c]);return b}return a},Qa="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Ra=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Qa.length;f++)c=Qa[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};var Sa=function(a){Sa[" "](a);return a};Sa[" "]=ba;var Ua=function(a,b){var c=Ta;return Object.prototype.hasOwnProperty.call(c,a)?c[a]:c[a]=b(a)};var Va=Array.prototype.indexOf?function(a,b,c){z(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(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},Wa=Array.prototype.lastIndexOf?function(a,b,c){z(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(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},Xa=Array.prototype.forEach?function(a,b,c){z(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;f<d;f++)f in e&&b.call(c,e[f],f,a)},Ya=Array.prototype.filter?function(a,b,c){z(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=p(a)?a.split(""):a,m=0;m<d;m++)if(m in g){var v=g[m];b.call(c,v,m,a)&&(e[f++]=
v)}return e},Za=Array.prototype.map?function(a,b,c){z(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=p(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e},$a=Array.prototype.some?function(a,b,c){z(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1},ab=Array.prototype.every?function(a,b,c){z(null!=a.length);
return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0},cb=function(a){var b;a:{b=bb;for(var c=a.length,d=p(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:p(a)?a.charAt(b):a[b]},db=function(a){if(!n(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0},fb=function(a,b){var c=Va(a,b),d;(d=0<=c)&&eb(a,c);return d},eb=function(a,b){z(null!=a.length);
Array.prototype.splice.call(a,b,1)},gb=function(a){return Array.prototype.concat.apply(Array.prototype,arguments)},hb=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]},ib=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(fa(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}},jb=function(a,b,c){z(null!=a.length);return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,
b,c)},kb=function(a){for(var b={},c=0,d=0;d<a.length;){var e=a[d++],f;f=e;f=t(f)?"o"+(f[ga]||(f[ga]=++ha)):(typeof f).charAt(0)+f;Object.prototype.hasOwnProperty.call(b,f)||(b[f]=!0,a[c++]=e)}a.length=c};var lb;a:{var mb=k.navigator;if(mb){var nb=mb.userAgent;if(nb){lb=nb;break a}}lb=""}var A=function(a){return-1!=lb.indexOf(a)};var ob=A("Opera"),pb=A("Trident")||A("MSIE"),qb=A("Edge"),rb=A("Gecko")&&!(-1!=lb.toLowerCase().indexOf("webkit")&&!A("Edge"))&&!(A("Trident")||A("MSIE"))&&!A("Edge"),sb=-1!=lb.toLowerCase().indexOf("webkit")&&!A("Edge"),tb=function(){var a=k.document;return a?a.documentMode:void 0},ub;
a:{var vb="",wb=function(){var a=lb;if(rb)return/rv\:([^\);]+)(\)|;)/.exec(a);if(qb)return/Edge\/([\d\.]+)/.exec(a);if(pb)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(sb)return/WebKit\/(\S+)/.exec(a);if(ob)return/(?:Version)[ \/]?(\S+)/.exec(a)}();wb&&(vb=wb?wb[1]:"");if(pb){var xb=tb();if(null!=xb&&xb>parseFloat(vb)){ub=String(xb);break a}}ub=vb}
var yb=ub,Ta={},zb=function(a){return Ua(a,function(){for(var b=0,c=qa(String(yb)).split("."),d=qa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",m=d[f]||"";do{g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];m=/(\d*)(\D*)(.*)/.exec(m)||["","","",""];if(0==g[0].length&&0==m[0].length)break;b=za(0==g[1].length?0:parseInt(g[1],10),0==m[1].length?0:parseInt(m[1],10))||za(0==g[2].length,0==m[2].length)||za(g[2],m[2]);g=g[3];m=m[3]}while(0==b)}return 0<=b})},Ab=k.document,
Bb=Ab&&pb?tb()||("CSS1Compat"==Ab.compatMode?parseInt(yb,10):5):void 0;var Cb=!pb||9<=Number(Bb),Db=pb&&!zb("9");!sb||zb("528");rb&&zb("1.9b")||pb&&zb("8")||ob&&zb("9.5")||sb&&zb("528");rb&&!zb("8")||pb&&zb("9");var Eb=function(a,b){ma.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.ga=this.state=null;if(a){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;var e=a.relatedTarget;if(e){if(rb){var f;a:{try{Sa(e.nodeName);f=!0;break a}catch(g){}f=
!1}f||(e=null)}}else"mouseover"==c?e=a.fromElement:"mouseout"==c&&(e=a.toElement);this.relatedTarget=e;null===d?(this.offsetX=sb||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=sb||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||
0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.state=a.state;this.ga=a;a.defaultPrevented&&this.preventDefault()}};x(Eb,ma);
Eb.prototype.preventDefault=function(){Eb.w.preventDefault.call(this);var a=this.ga;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Db)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var Fb="closure_listenable_"+(1E6*Math.random()|0),Gb=function(a){return!(!a||!a[Fb])},Hb=0;var Ib=function(a,b,c,d,e){this.listener=a;this.vb=null;this.src=b;this.type=c;this.bb=!!d;this.nb=e;this.key=++Hb;this.Aa=this.ab=!1},Jb=function(a){a.Aa=!0;a.listener=null;a.vb=null;a.src=null;a.nb=null};var Kb=function(a){this.src=a;this.D={};this.Wa=0};Kb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.D[f];a||(a=this.D[f]=[],this.Wa++);var g=Lb(a,b,d,e);-1<g?(b=a[g],c||(b.ab=!1)):(b=new Ib(b,this.src,f,!!d,e),b.ab=c,a.push(b));return b};Kb.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.D))return!1;var e=this.D[a];b=Lb(e,b,c,d);return-1<b?(Jb(e[b]),eb(e,b),0==e.length&&(delete this.D[a],this.Wa--),!0):!1};
var Mb=function(a,b){var c=b.type;c in a.D&&fb(a.D[c],b)&&(Jb(b),0==a.D[c].length&&(delete a.D[c],a.Wa--))};Kb.prototype.Ta=function(a){a=a&&a.toString();var b=0,c;for(c in this.D)if(!a||c==a){for(var d=this.D[c],e=0;e<d.length;e++)++b,Jb(d[e]);delete this.D[c];this.Wa--}return b};Kb.prototype.La=function(a,b,c,d){a=this.D[a.toString()];var e=-1;a&&(e=Lb(a,b,c,d));return-1<e?a[e]:null};var Lb=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.Aa&&f.listener==b&&f.bb==!!c&&f.nb==d)return e}return-1};var Nb="closure_lm_"+(1E6*Math.random()|0),Ob={},Pb=0,Qb=function(a,b,c,d,e){if(n(b)){for(var f=0;f<b.length;f++)Qb(a,b[f],c,d,e);return null}c=Rb(c);return Gb(a)?a.Sa(b,c,d,e):Sb(a,b,c,!1,d,e)},Sb=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=!!e,m=Tb(a);m||(a[Nb]=m=new Kb(a));c=m.add(b,c,d,e,f);if(c.vb)return c;d=Ub();c.vb=d;d.src=a;d.listener=c;if(a.addEventListener)a.addEventListener(b.toString(),d,g);else if(a.attachEvent)a.attachEvent(Vb(b.toString()),d);else throw Error("addEventListener and attachEvent are unavailable.");
Pb++;return c},Ub=function(){var a=Wb,b=Cb?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b},Xb=function(a,b,c,d,e){if(n(b)){for(var f=0;f<b.length;f++)Xb(a,b[f],c,d,e);return null}c=Rb(c);return Gb(a)?a.rb(b,c,d,e):Sb(a,b,c,!0,d,e)},Yb=function(a,b,c,d,e){if(n(b))for(var f=0;f<b.length;f++)Yb(a,b[f],c,d,e);else c=Rb(c),Gb(a)?a.Gb(b,c,d,e):a&&(a=Tb(a))&&(b=a.La(b,c,!!d,e))&&Zb(b)},Zb=function(a){if(q(a)||!a||a.Aa)return;var b=a.src;if(Gb(b)){Mb(b.P,
a);return}var c=a.type,d=a.vb;b.removeEventListener?b.removeEventListener(c,d,a.bb):b.detachEvent&&b.detachEvent(Vb(c),d);Pb--;(c=Tb(b))?(Mb(c,a),0==c.Wa&&(c.src=null,b[Nb]=null)):Jb(a)},Vb=function(a){return a in Ob?Ob[a]:Ob[a]="on"+a},ac=function(a,b,c,d){var e=!0;if(a=Tb(a))if(b=a.D[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.bb==c&&!f.Aa&&(f=$b(f,d),e=e&&!1!==f)}return e},$b=function(a,b){var c=a.listener,d=a.nb||a.src;a.ab&&Zb(a);return c.call(d,b)},Wb=function(a,b){if(a.Aa)return!0;
if(!Cb){var c;if(!(c=b))a:{c=["window","event"];for(var d=k,e;e=c.shift();)if(null!=d[e])d=d[e];else{c=null;break a}c=d}e=c;c=new Eb(e,this);d=!0;if(!(0>e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(v){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.za&&0<=g;g--){c.currentTarget=e[g];var m=ac(e[g],f,!0,c),d=d&&m}for(g=0;!c.za&&g<e.length;g++)c.currentTarget=e[g],
m=ac(e[g],f,!1,c),d=d&&m}return d}return $b(a,new Eb(b,this))},Tb=function(a){a=a[Nb];return a instanceof Kb?a:null},bc="__closure_events_fn_"+(1E9*Math.random()>>>0),Rb=function(a){z(a,"Listener can not be null.");if(r(a))return a;z(a.handleEvent,"An object listener must have handleEvent method.");a[bc]||(a[bc]=function(b){return a.handleEvent(b)});return a[bc]};var cc=function(){y.call(this);this.P=new Kb(this);this.Ad=this;this.jc=null};x(cc,y);cc.prototype[Fb]=!0;h=cc.prototype;h.addEventListener=function(a,b,c,d){Qb(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){Yb(this,a,b,c,d)};
h.dispatchEvent=function(a){dc(this);var b,c=this.jc;if(c){b=[];for(var d=1;c;c=c.jc)b.push(c),z(1E3>++d,"infinite loop")}c=this.Ad;d=a.type||a;if(p(a))a=new ma(a,c);else if(a instanceof ma)a.target=a.target||c;else{var e=a;a=new ma(d,c);Ra(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.za&&0<=g;g--)f=a.currentTarget=b[g],e=ec(f,d,!0,a)&&e;a.za||(f=a.currentTarget=c,e=ec(f,d,!0,a)&&e,a.za||(e=ec(f,d,!1,a)&&e));if(b)for(g=0;!a.za&&g<b.length;g++)f=a.currentTarget=b[g],e=ec(f,d,!1,a)&&e;return e};
h.l=function(){cc.w.l.call(this);this.P&&this.P.Ta(void 0);this.jc=null};h.Sa=function(a,b,c,d){dc(this);return this.P.add(String(a),b,!1,c,d)};h.rb=function(a,b,c,d){return this.P.add(String(a),b,!0,c,d)};h.Gb=function(a,b,c,d){return this.P.remove(String(a),b,c,d)};var ec=function(a,b,c,d){b=a.P.D[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.Aa&&g.bb==c){var m=g.listener,v=g.nb||g.src;g.ab&&Mb(a.P,g);e=!1!==m.call(v,d)&&e}}return e&&0!=d.rd};
cc.prototype.La=function(a,b,c,d){return this.P.La(String(a),b,c,d)};var dc=function(a){z(a.P,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};var fc=function(a){return a};var gc="StopIteration"in k?k.StopIteration:{message:"StopIteration",stack:""},hc=function(){};hc.prototype.next=function(){throw gc;};hc.prototype.qa=function(){return this};
var ic=function(a){if(a instanceof hc)return a;if("function"==typeof a.qa)return a.qa(!1);if(fa(a)){var b=0,c=new hc;c.next=function(){for(;;){if(b>=a.length)throw gc;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");},jc=function(a,b){if(fa(a))try{Xa(a,b,void 0)}catch(c){if(c!==gc)throw c;}else{a=ic(a);try{for(;;)b.call(void 0,a.next(),void 0,a)}catch(c){if(c!==gc)throw c;}}};var kc=function(a,b){this.o={};this.h=[];this.Xa=this.f=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};h=kc.prototype;h.B=function(){return this.f};h.s=function(){lc(this);for(var a=[],b=0;b<this.h.length;b++)a.push(this.o[this.h[b]]);return a};h.L=function(){lc(this);return this.h.concat()};h.$=function(a){return mc(this.o,a)};h.isEmpty=function(){return 0==this.f};
h.clear=function(){this.o={};this.Xa=this.f=this.h.length=0};h.remove=function(a){return mc(this.o,a)?(delete this.o[a],this.f--,this.Xa++,this.h.length>2*this.f&&lc(this),!0):!1};var lc=function(a){if(a.f!=a.h.length){for(var b=0,c=0;b<a.h.length;){var d=a.h[b];mc(a.o,d)&&(a.h[c++]=d);b++}a.h.length=c}if(a.f!=a.h.length){for(var e={},c=b=0;b<a.h.length;)d=a.h[b],mc(e,d)||(a.h[c++]=d,e[d]=1),b++;a.h.length=c}};h=kc.prototype;h.get=function(a,b){return mc(this.o,a)?this.o[a]:b};
h.set=function(a,b){mc(this.o,a)||(this.f++,this.h.push(a),this.Xa++);this.o[a]=b};h.addAll=function(a){var b;a instanceof kc?(b=a.L(),a=a.s()):(b=La(a),a=Ka(a));for(var c=0;c<b.length;c++)this.set(b[c],a[c])};h.forEach=function(a,b){for(var c=this.L(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};h.clone=function(){return new kc(this)};
h.qa=function(a){lc(this);var b=0,c=this.Xa,d=this,e=new hc;e.next=function(){if(c!=d.Xa)throw Error("The map has changed since the iterator was created");if(b>=d.h.length)throw gc;var e=d.h[b++];return a?e:d.o[e]};return e};var mc=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var nc=function(a){if(a.s&&"function"==typeof a.s)return a.s();if(p(a))return a.split("");if(fa(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return Ka(a)},oc=function(a,b){if(a.forEach&&"function"==typeof a.forEach)a.forEach(b,void 0);else if(fa(a)||p(a))Xa(a,b,void 0);else{var c;if(a.L&&"function"==typeof a.L)c=a.L();else if(a.s&&"function"==typeof a.s)c=void 0;else if(fa(a)||p(a)){c=[];for(var d=a.length,e=0;e<d;e++)c.push(e)}else c=La(a);for(var d=nc(a),e=d.length,f=0;f<e;f++)b.call(void 0,
d[f],c&&c[f],a)}};var pc=function(a){this.o=new kc;a&&this.addAll(a)},qc=function(a){var b=typeof a;return"object"==b&&a||"function"==b?"o"+(a[ga]||(a[ga]=++ha)):b.substr(0,1)+a};h=pc.prototype;h.B=function(){return this.o.B()};h.add=function(a){this.o.set(qc(a),a)};h.addAll=function(a){a=nc(a);for(var b=a.length,c=0;c<b;c++)this.add(a[c])};h.Ta=function(a){a=nc(a);for(var b=a.length,c=0;c<b;c++)this.remove(a[c])};h.remove=function(a){return this.o.remove(qc(a))};h.clear=function(){this.o.clear()};h.isEmpty=function(){return this.o.isEmpty()};
h.contains=function(a){return this.o.$(qc(a))};var rc=function(a,b){for(var c=new pc,d=nc(b),e=0;e<d.length;e++){var f=d[e];a.contains(f)&&c.add(f)}return c},sc=function(a,b){var c=a.clone();c.Ta(b);return c};pc.prototype.s=function(){return this.o.s()};pc.prototype.clone=function(){return new pc(this)};pc.prototype.qa=function(){return this.o.qa(!1)};var tc=function(a,b,c){cc.call(this);this.Ud=b;this.Bb=c;this.na=[];this.pc=new pc;this.Da=0;this.url=a};x(tc,cc);w("ee.AbstractOverlay",tc);tc.prototype.getTile=ca;var uc=function(a,b,c){var d=1<<c,e=b.x%d;0>e&&(e+=d);return[a.Ud,c,e,b.y].join("/")},vc=function(a){ma.call(this,"tileevent");this.count=a};x(vc,ma);var wc=function(a,b,c){this.Sd=c;this.Jd=a;this.ce=b;this.tb=0;this.ob=null};wc.prototype.get=function(){var a;0<this.tb?(this.tb--,a=this.ob,this.ob=a.next,a.next=null):a=this.Jd();return a};wc.prototype.put=function(a){this.ce(a);this.tb<this.Sd&&(this.tb++,a.next=this.ob,this.ob=a)};var xc=function(a){k.setTimeout(function(){throw a;},0)},yc,zc=function(){var a=k.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!A("Presto")&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow,a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host,
a=u(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!A("Trident")&&!A("MSIE")){var b=new a,c={},d=c;b.port1.onmessage=function(){if(l(c.next)){c=c.next;var a=c.Ac;c.Ac=null;a()}};return function(a){d.next={Ac:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in document.createElement("SCRIPT")?
function(a){var b=document.createElement("SCRIPT");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){k.setTimeout(a,0)}};var Ac=function(){this.Ib=this.pa=null},Cc=new wc(function(){return new Bc},function(a){a.reset()},100);Ac.prototype.add=function(a,b){var c=Cc.get();c.set(a,b);this.Ib?this.Ib.next=c:(z(!this.pa),this.pa=c);this.Ib=c};Ac.prototype.remove=function(){var a=null;this.pa&&(a=this.pa,this.pa=this.pa.next,this.pa||(this.Ib=null),a.next=null);return a};var Bc=function(){this.next=this.scope=this.Zb=null};Bc.prototype.set=function(a,b){this.Zb=a;this.scope=b;this.next=null};
Bc.prototype.reset=function(){this.next=this.scope=this.Zb=null};var Hc=function(a,b){Dc||Ec();Fc||(Dc(),Fc=!0);Gc.add(a,b)},Dc,Ec=function(){if(k.Promise&&k.Promise.resolve){var a=k.Promise.resolve(void 0);Dc=function(){a.then(Ic)}}else Dc=function(){var a=Ic;!r(k.setImmediate)||k.Window&&k.Window.prototype&&!A("Edge")&&k.Window.prototype.setImmediate==k.setImmediate?(yc||(yc=zc()),yc(a)):k.setImmediate(a)}},Fc=!1,Gc=new Ac,Ic=function(){for(var a;a=Gc.remove();){try{a.Zb.call(a.scope)}catch(b){xc(b)}Cc.put(a)}Fc=!1};var Jc=function(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0},Kc=function(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}};var Nc=function(a,b){this.H=0;this.Y=void 0;this.sa=this.U=this.j=null;this.lb=this.Vb=!1;if(a!=ba)try{var c=this;a.call(b,function(a){Lc(c,2,a)},function(a){if(!(a instanceof Mc))try{if(a instanceof Error)throw a;throw Error("Promise rejected.");}catch(e){}Lc(c,3,a)})}catch(d){Lc(this,3,d)}},Oc=function(){this.next=this.context=this.va=this.la=this.fa=null;this.$a=!1};Oc.prototype.reset=function(){this.context=this.va=this.la=this.fa=null;this.$a=!1};
var Pc=new wc(function(){return new Oc},function(a){a.reset()},100),Qc=function(a,b,c){var d=Pc.get();d.la=a;d.va=b;d.context=c;return d};Nc.prototype.then=function(a,b,c){null!=a&&Ea(a,"opt_onFulfilled should be a function.");null!=b&&Ea(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");return Rc(this,r(a)?a:null,r(b)?b:null,c)};Jc(Nc);Nc.prototype.cancel=function(a){0==this.H&&Hc(function(){var b=new Mc(a);Sc(this,b)},this)};
var Sc=function(a,b){if(0==a.H)if(a.j){var c=a.j;if(c.U){for(var d=0,e=null,f=null,g=c.U;g&&(g.$a||(d++,g.fa==a&&(e=g),!(e&&1<d)));g=g.next)e||(f=g);e&&(0==c.H&&1==d?Sc(c,b):(f?(d=f,z(c.U),z(null!=d),d.next==c.sa&&(c.sa=d),d.next=d.next.next):Tc(c),Uc(c,e,3,b)))}a.j=null}else Lc(a,3,b)},Wc=function(a,b){a.U||2!=a.H&&3!=a.H||Vc(a);z(null!=b.la);a.sa?a.sa.next=b:a.U=b;a.sa=b},Rc=function(a,b,c,d){var e=Qc(null,null,null);e.fa=new Nc(function(a,g){e.la=b?function(c){try{var e=b.call(d,c);a(e)}catch(Y){g(Y)}}:
a;e.va=c?function(b){try{var e=c.call(d,b);!l(e)&&b instanceof Mc?g(b):a(e)}catch(Y){g(Y)}}:g});e.fa.j=a;Wc(a,e);return e.fa};Nc.prototype.ge=function(a){z(1==this.H);this.H=0;Lc(this,2,a)};Nc.prototype.he=function(a){z(1==this.H);this.H=0;Lc(this,3,a)};
var Lc=function(a,b,c){if(0==a.H){a===c&&(b=3,c=new TypeError("Promise cannot resolve to itself"));a.H=1;var d;a:{var e=c,f=a.ge,g=a.he;if(e instanceof Nc)null!=f&&Ea(f,"opt_onFulfilled should be a function."),null!=g&&Ea(g,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?"),Wc(e,Qc(f||ba,g||null,a)),d=!0;else if(Kc(e))e.then(f,g,a),d=!0;else{if(t(e))try{var m=e.then;if(r(m)){Xc(e,m,f,g,a);d=!0;break a}}catch(v){g.call(a,v);d=!0;break a}d=
!1}}d||(a.Y=c,a.H=b,a.j=null,Vc(a),3!=b||c instanceof Mc||Yc(a,c))}},Xc=function(a,b,c,d,e){var f=!1,g=function(a){f||(f=!0,c.call(e,a))},m=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,g,m)}catch(v){m(v)}},Vc=function(a){a.Vb||(a.Vb=!0,Hc(a.Kd,a))},Tc=function(a){var b=null;a.U&&(b=a.U,a.U=b.next,b.next=null);a.U||(a.sa=null);null!=b&&z(null!=b.la);return b};Nc.prototype.Kd=function(){for(var a;a=Tc(this);)Uc(this,a,this.H,this.Y);this.Vb=!1};
var Uc=function(a,b,c,d){if(3==c&&b.va&&!b.$a)for(;a&&a.lb;a=a.j)a.lb=!1;if(b.fa)b.fa.j=null,Zc(b,c,d);else try{b.$a?b.la.call(b.context):Zc(b,c,d)}catch(e){$c.call(null,e)}Pc.put(b)},Zc=function(a,b,c){2==b?a.la.call(a.context,c):a.va&&a.va.call(a.context,c)},Yc=function(a,b){a.lb=!0;Hc(function(){a.lb&&$c.call(null,b)})},$c=xc,Mc=function(a){na.call(this,a)};x(Mc,na);Mc.prototype.name="cancel";var ad=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 2147483647<Number(b)?-1:k.setTimeout(a,b||0)};var bd=function(a,b,c){y.call(this);this.Td=null!=c?u(a,c):a;this.Qd=b;this.Ed=u(this.Zd,this);this.Mb=[]};x(bd,y);h=bd.prototype;h.zb=!1;h.nd=0;h.Fa=null;h.Lc=function(a){this.Mb=arguments;this.Fa||this.nd?this.zb=!0:cd(this)};h.stop=function(){this.Fa&&(k.clearTimeout(this.Fa),this.Fa=null,this.zb=!1,this.Mb=[])};h.l=function(){bd.w.l.call(this);this.stop()};h.Zd=function(){this.Fa=null;this.zb&&!this.nd&&(this.zb=!1,cd(this))};var cd=function(a){a.Fa=ad(a.Ed,a.Qd);a.Td.apply(null,a.Mb)};var dd=function(a){return/^\s*$/.test(a)?!1:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,""))},ed=function(a){a=String(a);if(dd(a))try{return eval("("+a+")")}catch(b){}throw Error("Invalid JSON string: "+a);},fd=function(a){return eval("("+a+")")},hd=function(a){return(new gd(void 0)).u(a)},
gd=function(a){this.wb=a};gd.prototype.u=function(a){var b=[];id(this,a,b);return b.join("")};
var id=function(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if(n(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f<b;f++)c.push(e),e=d[f],id(a,a.wb?a.wb.call(d,String(f),e):e,c),e=",";c.push("]");return}if(b instanceof String||b instanceof Number||b instanceof Boolean)b=b.valueOf();else{c.push("{");f="";for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(e=b[d],"function"!=typeof e&&(c.push(f),jd(d,c),c.push(":"),id(a,a.wb?a.wb.call(b,d,e):e,c),f=","));c.push("}");return}}switch(typeof b){case "string":jd(b,
c);break;case "number":c.push(isFinite(b)&&!isNaN(b)?String(b):"null");break;case "boolean":c.push(String(b));break;case "function":c.push("null");break;default:throw Error("Unknown type: "+typeof b);}}},kd={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},ld=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g,jd=function(a,b){b.push('"',a.replace(ld,function(a){var b=kd[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),
kd[a]=b);return b}),'"')};var nd=function(){this.kc="";this.zd=md};nd.prototype.toString=function(){return"TrustedResourceUrl{"+this.kc+"}"};var md={};var od=!pb||9<=Number(Bb),pd=!rb&&!pb||pb&&9<=Number(Bb)||rb&&zb("1.9.1");pb&&zb("9");var rd=function(a,b){Ha(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:qd.hasOwnProperty(d)?a.setAttribute(qd[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})},qd={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"},td=function(a,
b,c){return sd(document,arguments)},sd=function(a,b){var c=String(b[0]),d=b[1];if(!od&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',ya(d.name),'"');if(d.type){c.push(' type="',ya(d.type),'"');var e={};Ra(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(p(d)?c.className=d:n(d)?c.className=d.join(" "):rd(c,d));2<b.length&&ud(a,c,b);return c},ud=function(a,b,c){function d(c){c&&b.appendChild(p(c)?a.createTextNode(c):c)}for(var e=2;e<c.length;e++){var f=c[e];!fa(f)||
t(f)&&0<f.nodeType?d(f):Xa(vd(f)?hb(f):f,d)}},wd=function(a){for(;a&&1!=a.nodeType;)a=a.nextSibling;return a},xd=function(a){z(a,"Node cannot be null or undefined.");return 9==a.nodeType?a:a.ownerDocument||a.document},vd=function(a){if(a&&"number"==typeof a.length){if(t(a))return"function"==typeof a.item||"string"==typeof a.item;if(r(a))return"function"==typeof a.item}return!1},yd=function(a){this.fb=a||k.document||document};h=yd.prototype;h.getElementsByTagName=function(a,b){return(b||this.fb).getElementsByTagName(String(a))};
h.Id=function(a,b,c){return sd(this.fb,arguments)};h.createElement=function(a){return this.fb.createElement(String(a))};h.createTextNode=function(a){return this.fb.createTextNode(String(a))};h.appendChild=function(a,b){a.appendChild(b)};h.Oc=function(a){return pd&&void 0!=a.children?a.children:Ya(a.childNodes,function(a){return 1==a.nodeType})};
h.contains=function(a,b){if(!a||!b)return!1;if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};/*
Portions of this code are from MochiKit, received by
The Closure Authors under the MIT license. All other code is Copyright
2005-2009 The Closure Authors. All Rights Reserved.
*/
var zd=function(a,b){this.yb=[];this.jd=a;this.Ec=b||null;this.Na=this.ua=!1;this.Y=void 0;this.nc=this.yc=this.Nb=!1;this.Fb=0;this.j=null;this.Ob=0};zd.prototype.cancel=function(a){if(this.ua)this.Y instanceof zd&&this.Y.cancel();else{if(this.j){var b=this.j;delete this.j;a?b.cancel(a):(b.Ob--,0>=b.Ob&&b.cancel())}this.jd?this.jd.call(this.Ec,this):this.nc=!0;this.ua||Ad(this,new Bd)}};zd.prototype.Bc=function(a,b){this.Nb=!1;Cd(this,a,b)};
var Cd=function(a,b,c){a.ua=!0;a.Y=c;a.Na=!b;Dd(a)},Fd=function(a){if(a.ua){if(!a.nc)throw new Ed;a.nc=!1}};zd.prototype.Pb=function(a){Fd(this);Gd(a);Cd(this,!0,a)};var Ad=function(a,b){Fd(a);Gd(b);Cd(a,!1,b)},Gd=function(a){z(!(a instanceof zd),"An execution sequence may not be initiated with a blocking Deferred.")},Hd=function(a,b,c){z(!a.yc,"Blocking Deferreds can not be re-used");a.yb.push([b,c,void 0]);a.ua&&Dd(a)};
zd.prototype.then=function(a,b,c){var d,e,f=new Nc(function(a,b){d=a;e=b});Hd(this,d,function(a){a instanceof Bd?f.cancel():e(a)});return f.then(a,b,c)};Jc(zd);
var Id=function(a){return $a(a.yb,function(a){return r(a[1])})},Dd=function(a){if(a.Fb&&a.ua&&Id(a)){var b=a.Fb,c=Jd[b];c&&(k.clearTimeout(c.W),delete Jd[b]);a.Fb=0}a.j&&(a.j.Ob--,delete a.j);for(var b=a.Y,d=c=!1;a.yb.length&&!a.Nb;){var e=a.yb.shift(),f=e[0],g=e[1],e=e[2];if(f=a.Na?g:f)try{var m=f.call(e||a.Ec,b);l(m)&&(a.Na=a.Na&&(m==b||m instanceof Error),a.Y=b=m);if(Kc(b)||"function"===typeof k.Promise&&b instanceof k.Promise)d=!0,a.Nb=!0}catch(v){b=v,a.Na=!0,Id(a)||(c=!0)}}a.Y=b;d&&(m=u(a.Bc,
a,!0),d=u(a.Bc,a,!1),b instanceof zd?(Hd(b,m,d),b.yc=!0):b.then(m,d));c&&(b=new Kd(b),Jd[b.W]=b,a.Fb=b.W)},Ed=function(){na.call(this)};x(Ed,na);Ed.prototype.message="Deferred has already fired";Ed.prototype.name="AlreadyCalledError";var Bd=function(){na.call(this)};x(Bd,na);Bd.prototype.message="Deferred was canceled";Bd.prototype.name="CanceledError";var Kd=function(a){this.W=k.setTimeout(u(this.fe,this),0);this.hb=a};
Kd.prototype.fe=function(){z(Jd[this.W],"Cannot throw an error that is not scheduled.");delete Jd[this.W];throw this.hb;};var Jd={};var Md=function(a){var b=new nd;b.kc=a;Ld(b)},Ld=function(a){var b={},c=b.document||document,d;a instanceof nd&&a.constructor===nd&&a.zd===md?d=a.kc:(Ca("expected object of type TrustedResourceUrl, got '"+a+"' of type "+da(a)),d="type_error:TrustedResourceUrl");var e=document.createElement("SCRIPT");a={sd:e,Va:void 0};var f=new zd(Nd,a),g=null,m=null!=b.timeout?b.timeout:5E3;0<m&&(g=window.setTimeout(function(){Od(e,!0);Ad(f,new Pd(1,"Timeout reached for loading script "+d))},m),a.Va=g);e.onload=
e.onreadystatechange=function(){e.readyState&&"loaded"!=e.readyState&&"complete"!=e.readyState||(Od(e,b.qe||!1,g),f.Pb(null))};e.onerror=function(){Od(e,!0,g);Ad(f,new Pd(0,"Error while loading script "+d))};a=b.attributes||{};Ra(a,{type:"text/javascript",charset:"UTF-8",src:d});rd(e,a);Qd(c).appendChild(e)},Qd=function(a){var b;return(b=(a||document).getElementsByTagName("HEAD"))&&0!=b.length?b[0]:a.documentElement},Nd=function(){if(this&&this.sd){var a=this.sd;a&&"SCRIPT"==a.tagName&&Od(a,!0,this.Va)}},
Od=function(a,b,c){null!=c&&k.clearTimeout(c);a.onload=ba;a.onerror=ba;a.onreadystatechange=ba;b&&window.setTimeout(function(){a&&a.parentNode&&a.parentNode.removeChild(a)},0)},Pd=function(a,b){var c="Jsloader error (code #"+a+")";b&&(c+=": "+b);na.call(this,c);this.code=a};x(Pd,na);var Rd=function(a,b,c,d,e){this.reset(a,b,c,d,e)};Rd.prototype.Ic=null;var Sd=0;Rd.prototype.reset=function(a,b,c,d,e){"number"==typeof e||Sd++;d||la();this.Ra=a;this.Wd=b;delete this.Ic};Rd.prototype.ud=function(a){this.Ra=a};var Td=function(a){this.Xd=a;this.Sc=this.Qb=this.Ra=this.j=null},Ud=function(a,b){this.name=a;this.value=b};Ud.prototype.toString=function(){return this.name};var Vd=new Ud("SEVERE",1E3),Wd=new Ud("CONFIG",700),Xd=new Ud("FINE",500);Td.prototype.getParent=function(){return this.j};Td.prototype.Oc=function(){this.Qb||(this.Qb={});return this.Qb};Td.prototype.ud=function(a){this.Ra=a};var Yd=function(a){if(a.Ra)return a.Ra;if(a.j)return Yd(a.j);Ca("Root logger has no level set.");return null};
Td.prototype.log=function(a,b,c){if(a.value>=Yd(this).value)for(r(b)&&(b=b()),a=new Rd(a,String(b),this.Xd),c&&(a.Ic=c),c="log:"+a.Wd,k.console&&(k.console.timeStamp?k.console.timeStamp(c):k.console.markTimeline&&k.console.markTimeline(c)),k.msWriteProfilerMark&&k.msWriteProfilerMark(c),c=this;c;){b=c;var d=a;if(b.Sc)for(var e=0,f;f=b.Sc[e];e++)f(d);c=c.getParent()}};
var Zd={},$d=null,ae=function(a){$d||($d=new Td(""),Zd[""]=$d,$d.ud(Wd));var b;if(!(b=Zd[a])){b=new Td(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=ae(a.substr(0,c));c.Oc()[d]=b;b.j=c;Zd[a]=b}return b};var be=function(a,b){a&&a.log(Xd,b,void 0)};var ce=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/,de=function(a,b){if(a)for(var c=a.split("&"),d=0;d<c.length;d++){var e=c[d].indexOf("="),f,g=null;0<=e?(f=c[d].substring(0,e),g=c[d].substring(e+1)):f=c[d];b(f,g?decodeURIComponent(g.replace(/\+/g," ")):"")}};var fe=function(){};fe.prototype.zc=null;fe.prototype.cb=ca;fe.prototype.Ma=function(){return this.zc||(this.zc=this.Wc())};fe.prototype.Wc=ca;var ge=function(a,b){this.je=a;this.$d=b};x(ge,fe);ge.prototype.cb=function(){return this.je()};ge.prototype.Ma=function(){return this.$d()};var B=function(){return B.Jc.cb()};B.yd=!1;B.Ma=function(){return B.Jc.Ma()};B.se=function(a,b){B.td(new ge(z(a),z(b)))};B.td=function(a){B.Jc=a};var he=function(){};x(he,fe);he.prototype.cb=function(){var a=ie(this);return a?new ActiveXObject(a):new XMLHttpRequest};he.prototype.Wc=function(){var a={};ie(this)&&(a[0]=!0,a[1]=!0);return a};
var ie=function(a){if(B.yd)return"";if(!a.Tc&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],c=0;c<b.length;c++){var d=b[c];try{return new ActiveXObject(d),a.Tc=d}catch(e){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");}return a.Tc};B.td(new he);var C=function(a){cc.call(this);this.headers=new kc;this.Kb=a||null;this.J=!1;this.Jb=this.a=null;this.Qa=this.ad=this.qb="";this.ka=this.bc=this.pb=this.Ub=!1;this.Ea=0;this.Ab=null;this.Ua="";this.Hb=this.ae=this.xd=!1};x(C,cc);var je=C.prototype,ke=ae("goog.net.XhrIo");je.F=ke;var le=/^https?$/i,me=["POST","PUT"],ne=[];C.prototype.Gd=function(){this.O();fb(ne,this)};
C.prototype.send=function(a,b,c,d){if(this.a)throw Error("[goog.net.XhrIo] Object is active with another request="+this.qb+"; newUri="+a);b=b?b.toUpperCase():"GET";this.qb=a;this.Qa="";this.ad=b;this.Ub=!1;this.J=!0;this.a=this.Kb?this.Kb.cb():B();this.Jb=this.Kb?this.Kb.Ma():B.Ma();this.a.onreadystatechange=u(this.md,this);this.ae&&"onprogress"in this.a&&(this.a.onprogress=u(function(a){this.ld(a,!0)},this),this.a.upload&&(this.a.upload.onprogress=u(this.ld,this)));try{be(this.F,oe(this,"Opening Xhr")),
this.bc=!0,this.a.open(b,String(a),!0),this.bc=!1}catch(f){be(this.F,oe(this,"Error opening Xhr: "+f.message));this.hb(5,f);return}a=c||"";var e=this.headers.clone();d&&oc(d,function(a,b){e.set(b,a)});d=cb(e.L());c=k.FormData&&a instanceof k.FormData;!(0<=Va(me,b))||d||c||e.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");e.forEach(function(a,b){this.a.setRequestHeader(b,a)},this);this.Ua&&(this.a.responseType=this.Ua);"withCredentials"in this.a&&this.a.withCredentials!==this.xd&&
(this.a.withCredentials=this.xd);try{pe(this),0<this.Ea&&(this.Hb=qe(this.a),be(this.F,oe(this,"Will abort after "+this.Ea+"ms if incomplete, xhr2 "+this.Hb)),this.Hb?(this.a.timeout=this.Ea,this.a.ontimeout=u(this.Va,this)):this.Ab=ad(this.Va,this.Ea,this)),be(this.F,oe(this,"Sending request")),this.pb=!0,this.a.send(a),this.pb=!1}catch(f){be(this.F,oe(this,"Send error: "+f.message)),this.hb(5,f)}};
var qe=function(a){return pb&&zb(9)&&q(a.timeout)&&l(a.ontimeout)},bb=function(a){return"content-type"==a.toLowerCase()};C.prototype.Va=function(){"undefined"!=typeof aa&&this.a&&(this.Qa="Timed out after "+this.Ea+"ms, aborting",be(this.F,oe(this,this.Qa)),this.dispatchEvent("timeout"),this.abort(8))};C.prototype.hb=function(a,b){this.J=!1;this.a&&(this.ka=!0,this.a.abort(),this.ka=!1);this.Qa=b;re(this);se(this)};var re=function(a){a.Ub||(a.Ub=!0,a.dispatchEvent("complete"),a.dispatchEvent("error"))};
C.prototype.abort=function(){this.a&&this.J&&(be(this.F,oe(this,"Aborting")),this.J=!1,this.ka=!0,this.a.abort(),this.ka=!1,this.dispatchEvent("complete"),this.dispatchEvent("abort"),se(this))};C.prototype.l=function(){this.a&&(this.J&&(this.J=!1,this.ka=!0,this.a.abort(),this.ka=!1),se(this,!0));C.w.l.call(this)};C.prototype.md=function(){this.aa||(this.bc||this.pb||this.ka?te(this):this.Yd())};C.prototype.Yd=function(){te(this)};
var te=function(a){if(a.J&&"undefined"!=typeof aa)if(a.Jb[1]&&4==ue(a)&&2==a.getStatus())be(a.F,oe(a,"Local request error detected and ignored"));else if(a.pb&&4==ue(a))ad(a.md,0,a);else if(a.dispatchEvent("readystatechange"),4==ue(a)){be(a.F,oe(a,"Request complete"));a.J=!1;try{var b=a.getStatus(),c;a:switch(b){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:c=!0;break a;default:c=!1}var d;if(!(d=c)){var e;if(e=0===b){var f=String(a.qb).match(ce)[1]||null;if(!f&&k.self&&k.self.location)var g=
k.self.location.protocol,f=g.substr(0,g.length-1);e=!le.test(f?f.toLowerCase():"")}d=e}if(d)a.dispatchEvent("complete"),a.dispatchEvent("success");else{var m;try{m=2<ue(a)?a.a.statusText:""}catch(v){be(a.F,"Can not get status: "+v.message),m=""}a.Qa=m+" ["+a.getStatus()+"]";re(a)}}finally{se(a)}}};
C.prototype.ld=function(a,b){z("progress"===a.type,"goog.net.EventType.PROGRESS is of the same type as raw XHR progress.");this.dispatchEvent(ve(a,"progress"));this.dispatchEvent(ve(a,b?"downloadprogress":"uploadprogress"))};
var ve=function(a,b){return{type:b,lengthComputable:a.lengthComputable,loaded:a.loaded,total:a.total}},se=function(a,b){if(a.a){pe(a);var c=a.a,d=a.Jb[0]?ba:null;a.a=null;a.Jb=null;b||a.dispatchEvent("ready");try{c.onreadystatechange=d}catch(e){(c=a.F)&&c.log(Vd,"Problem encountered resetting onreadystatechange: "+e.message,void 0)}}},pe=function(a){a.a&&a.Hb&&(a.a.ontimeout=null);q(a.Ab)&&(k.clearTimeout(a.Ab),a.Ab=null)};C.prototype.Xc=function(){return!!this.a};
var ue=function(a){return a.a?a.a.readyState:0};C.prototype.getStatus=function(){try{return 2<ue(this)?this.a.status:-1}catch(a){return-1}};
var we=function(a){try{if(!a.a)return null;if("response"in a.a)return a.a.response;switch(a.Ua){case "":case "text":return a.a.responseText;case "arraybuffer":if("mozResponseArrayBuffer"in a.a)return a.a.mozResponseArrayBuffer}var b=a.F;b&&b.log(Vd,"Response type "+a.Ua+" is not supported on this browser",void 0);return null}catch(c){return be(a.F,"Can not get response: "+c.message),null}};C.prototype.getResponseHeader=function(a){return this.a&&4==ue(this)?this.a.getResponseHeader(a):void 0};
var oe=function(a,b){return b+" ["+a.ad+" "+a.qb+" "+a.getStatus()+"]"};var xe=function(a,b){this.V=this.oa=this.da="";this.xa=null;this.ha=this.wa="";this.I=this.Rd=!1;var c;if(a instanceof xe)this.I=l(b)?b:a.I,ye(this,a.da),c=a.oa,ze(this),this.oa=c,c=a.V,ze(this),this.V=c,Ae(this,a.xa),this.setPath(a.getPath()),Be(this,a.T.clone()),c=a.ha,ze(this),this.ha=c;else if(a&&(c=String(a).match(ce))){this.I=!!b;ye(this,c[1]||"",!0);var d=c[2]||"";ze(this);this.oa=Ce(d);d=c[3]||"";ze(this);this.V=Ce(d,!0);Ae(this,c[4]);this.setPath(c[5]||"",!0);Be(this,c[6]||"",!0);c=c[7]||
"";ze(this);this.ha=Ce(c)}else this.I=!!b,this.T=new De(null,0,this.I)};
xe.prototype.toString=function(){var a=[],b=this.da;b&&a.push(Ee(b,Fe,!0),":");var c=this.V;if(c||"file"==b)a.push("//"),(b=this.oa)&&a.push(Ee(b,Fe,!0),"@"),a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),c=this.xa,null!=c&&a.push(":",String(c));if(c=this.getPath())this.V&&"/"!=c.charAt(0)&&a.push("/"),a.push(Ee(c,"/"==c.charAt(0)?Ge:He,!0));(c=this.T.toString())&&a.push("?",c);(c=this.ha)&&a.push("#",Ee(c,Ie));return a.join("")};
xe.prototype.resolve=function(a){var b=this.clone(),c=!!a.da;c?ye(b,a.da):c=!!a.oa;if(c){var d=a.oa;ze(b);b.oa=d}else c=!!a.V;c?(d=a.V,ze(b),b.V=d):c=null!=a.xa;d=a.getPath();if(c)Ae(b,a.xa);else if(c=!!a.wa){if("/"!=d.charAt(0))if(this.V&&!this.wa)d="/"+d;else{var e=b.getPath().lastIndexOf("/");-1!=e&&(d=b.getPath().substr(0,e+1)+d)}e=d;if(".."==e||"."==e)d="";else if(-1!=e.indexOf("./")||-1!=e.indexOf("/.")){for(var d=0==e.lastIndexOf("/",0),e=e.split("/"),f=[],g=0;g<e.length;){var m=e[g++];"."==
m?d&&g==e.length&&f.push(""):".."==m?((1<f.length||1==f.length&&""!=f[0])&&f.pop(),d&&g==e.length&&f.push("")):(f.push(m),d=!0)}d=f.join("/")}else d=e}c?b.setPath(d):c=""!==a.T.toString();c?Be(b,Ce(a.T.toString())):c=!!a.ha;c&&(a=a.ha,ze(b),b.ha=a);return b};xe.prototype.clone=function(){return new xe(this)};
var ye=function(a,b,c){ze(a);a.da=c?Ce(b,!0):b;a.da&&(a.da=a.da.replace(/:$/,""))},Ae=function(a,b){ze(a);if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.xa=b}else a.xa=null};xe.prototype.getPath=function(){return this.wa};xe.prototype.setPath=function(a,b){ze(this);this.wa=b?Ce(a,!0):a;return this};var Be=function(a,b,c){ze(a);b instanceof De?(a.T=b,a.T.mc(a.I)):(c||(b=Ee(b,Je)),a.T=new De(b,0,a.I))},ze=function(a){if(a.Rd)throw Error("Tried to modify a read-only Uri");};
xe.prototype.mc=function(a){this.I=a;this.T&&this.T.mc(a);return this};
var Ke=function(a){return a instanceof xe?a.clone():new xe(a,void 0)},Ce=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""},Ee=function(a,b,c){return p(a)?(a=encodeURI(a).replace(b,Le),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},Le=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},Fe=/[#\/\?@]/g,He=/[\#\?:]/g,Ge=/[\#\?]/g,Je=/[\#\?@]/g,Ie=/#/g,De=function(a,b,c){this.f=this.i=null;this.G=a||null;this.I=!!c},Me=function(a){a.i||
(a.i=new kc,a.f=0,a.G&&de(a.G,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))};h=De.prototype;h.B=function(){Me(this);return this.f};h.add=function(a,b){Me(this);this.G=null;a=Ne(this,a);var c=this.i.get(a);c||this.i.set(a,c=[]);c.push(b);this.f=Da(this.f)+1;return this};h.remove=function(a){Me(this);a=Ne(this,a);return this.i.$(a)?(this.G=null,this.f=Da(this.f)-this.i.get(a).length,this.i.remove(a)):!1};h.clear=function(){this.i=this.G=null;this.f=0};
h.isEmpty=function(){Me(this);return 0==this.f};h.$=function(a){Me(this);a=Ne(this,a);return this.i.$(a)};h.L=function(){Me(this);for(var a=this.i.s(),b=this.i.L(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};h.s=function(a){Me(this);var b=[];if(p(a))this.$(a)&&(b=gb(b,this.i.get(Ne(this,a))));else{a=this.i.s();for(var c=0;c<a.length;c++)b=gb(b,a[c])}return b};
h.set=function(a,b){Me(this);this.G=null;a=Ne(this,a);this.$(a)&&(this.f=Da(this.f)-this.i.get(a).length);this.i.set(a,[b]);this.f=Da(this.f)+1;return this};h.get=function(a,b){var c=a?this.s(a):[];return 0<c.length?String(c[0]):b};h.setValues=function(a,b){this.remove(a);0<b.length&&(this.G=null,this.i.set(Ne(this,a),hb(b)),this.f=Da(this.f)+b.length)};
h.toString=function(){if(this.G)return this.G;if(!this.i)return"";for(var a=[],b=this.i.L(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.s(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+encodeURIComponent(String(d[f])));a.push(g)}return this.G=a.join("&")};h.clone=function(){var a=new De;a.G=this.G;this.i&&(a.i=this.i.clone(),a.f=this.f);return a};var Ne=function(a,b){var c=String(b);a.I&&(c=c.toLowerCase());return c};
De.prototype.mc=function(a){a&&!this.I&&(Me(this),this.G=null,this.i.forEach(function(a,c){var b=c.toLowerCase();c!=b&&(this.remove(c),this.setValues(b,a))},this));this.I=a};var Ue=function(a,b,c,d,e){var f=["https://www.googleapis.com/auth/earthengine"];d&&(ib(f,d),kb(f));Oe=a;Pe=f;null===a?Qe=null:Re(function(){Se(b,c,e||ka(Te,b,c))})};w("ee.data.authenticate",Ue);var Te=function(a,b){k.gapi.auth.authorize({client_id:Oe,immediate:!1,scope:Pe.join(" ")},ka(Ve,a,b))};w("ee.data.authenticateViaPopup",Te);
var We=function(a,b,c,d,e,f,g){var m=["https://www.googleapis.com/auth/earthengine"];e&&(ib(m,e),kb(m));Oe=a;Pe=m;var v={token_type:b,access_token:c,state:m.join(" "),expires_in:d};Ve(void 0,void 0,v);!1===g?f&&f():Re(function(){k.gapi.auth.setToken(v);f&&f()})};w("ee.data.setAuthToken",We);var Se=function(a,b,c){Xe&&Oe&&Xe({client_id:String(Oe),immediate:!0,scope:Pe.join(" ")},function(d){"immediate_failed"==d.error&&c?c():Ve(a,b,d)})},Ye=function(a){Xe=a};w("ee.data.setAuthTokenRefresher",Ye);
var af=function(){Ze&&0<=la()-Ze&&$e();return Qe};w("ee.data.getAuthToken",af);var $e=function(){Ze=Qe=null};w("ee.data.clearAuthToken",$e);var bf=function(){return Oe};w("ee.data.getAuthClientId",bf);var cf=function(){return Pe};w("ee.data.getAuthScopes",cf);var hf=function(a,b,c){null!=a?df=a:ef||(df="https://earthengine.googleapis.com/api");null!=b?ff=b:ef||(ff="https://earthengine.googleapis.com");l(c)&&(gf=c);ef=!0},kf=function(a){jf=a};w("ee.data.setDeadline",kf);
w("ee.data.setParamAugmenter",function(a){lf=a||fc});var mf=function(){return df};w("ee.data.getApiBaseUrl",mf);var nf=function(){return ff};w("ee.data.getTileBaseUrl",nf);var of=function(){return gf};w("ee.data.getXsrfToken",of);var pf=function(a,b){a=Oa(a);return D("/mapid",E(a),b)};w("ee.data.getMapId",pf);var qf=function(a,b,c,d){var e=Math.pow(2,d);b%=e;0>b&&(b+=e);return[ff,"map",a.mapid,d,b,c].join("/")+"?token="+a.token};w("ee.data.getTileUrl",qf);
var rf=function(a,b){a=Oa(a);return D("/value",E(a),b)};w("ee.data.getValue",rf);var sf=function(a,b){a=Oa(a);n(a.dimensions)&&(a.dimensions=a.dimensions.join("x"));var c=E(a).add("getid","1");return D("/thumb",c,b)};w("ee.data.getThumbId",sf);var tf=function(a){return ff+"/api/thumb?thumbid="+a.thumbid+"&token="+a.token};w("ee.data.makeThumbUrl",tf);var uf=function(a,b){a=Oa(a);return D("/download",E(a),b)};w("ee.data.getDownloadId",uf);
var vf=function(a){return ff+"/api/download?docid="+a.docid+"&token="+a.token};w("ee.data.makeDownloadUrl",vf);var wf=function(a,b){a=Oa(a);return D("/table",E(a),b)};w("ee.data.getTableDownloadId",wf);var xf=function(a){return ff+"/api/table?docid="+a.docid+"&token="+a.token};w("ee.data.makeTableDownloadUrl",xf);var zf=function(a,b,c){var d=yf;try{return yf=a,b.call(c)}finally{yf=d}};w("ee.data.withProfiling",zf);
w("ee.data.newTaskId",function(a,b){var c={};q(a)&&(c.count=a);return D("/newtaskid",E(c),b)});w("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 D("/taskstatus?q="+a.join(),null,b,"GET")});w("ee.data.getTaskList",function(a){return D("/tasklist",null,a,"GET")});w("ee.data.cancelTask",function(a,b){return Af(a,"CANCEL",b)});
var Af=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=Bf;for(var e in d)if(d[e]==b){d=!0;break a}d=!1}if(!d)throw Error("Invalid action: "+b);return D("/updatetask",E({id:a,action:b}),c,"POST")};w("ee.data.updateTask",Af);w("ee.data.startProcessing",function(a,b,c){b=Oa(b);b.id=a;return D("/processingrequest",E(b),c)});
w("ee.data.startIngestion",function(a,b,c){a={id:a,request:hd(b)};return D("/ingestionrequest",E(a),c)});w("ee.data.startTableIngestion",function(a,b,c){a={id:a,tableRequest:hd(b)};return D("/ingestionrequest",E(a),c)});var Cf=function(a,b){return D("/info",(new De).add("id",a),b)};w("ee.data.getInfo",Cf);var Df=function(a,b){var c=E(a);return D("/list",c,b)};w("ee.data.getList",Df);w("ee.data.getAssetRoots",function(a){return D("/buckets",null,a,"GET")});
w("ee.data.createAssetHome",function(a,b){var c=E({id:a});D("/createbucket",c,b)});w("ee.data.createAsset",function(a,b,c,d){p(a)||(a=hd(a));a={value:a};void 0!==b&&(a.id=b);a.force=c||!1;return D("/create",E(a),d)});w("ee.data.createFolder",function(a,b,c){return D("/createfolder",E({id:a,force:b||!1}),c)});w("ee.data.renameAsset",function(a,b,c){D("/rename",E({sourceId:a,destinationId:b}),c)});w("ee.data.copyAsset",function(a,b,c){D("/copy",E({sourceId:a,destinationId:b}),c)});
w("ee.data.deleteAsset",function(a,b){D("/delete",E({id:a}),b)});w("ee.data.getAssetAcl",function(a,b){return D("/getacl",E({id:a}),b,"GET")});w("ee.data.setAssetAcl",function(a,b,c){a={id:a,value:hd(b)};D("/setacl",E(a),c)});w("ee.data.setAssetProperties",function(a,b,c){a={id:a,properties:hd(b)};D("/setproperties",E(a),c)});w("ee.data.getAssetRootQuota",function(a,b){return D("/quota",E({id:a}),b,"GET")});
var Bf={ke:"CANCEL",ne:"UPDATE"},D=function(a,b,c,d){hf();var e=yf,f={"Content-Type":"application/x-www-form-urlencoded"},g=af();if(null!=g)f.Authorization=g;else if(c&&Xe&&Oe)return Se(function(){zf(e,function(){D(a,b,c,d)})}),null;g=d||"POST";b=b?b.clone():new De;e&&b.add("profiling","1");b=lf(b,a);null!=gf&&(f["X-XSRF-Token"]=gf);var m=function(a,b,c,d){var f=b("X-Earth-Engine-Computation-Profile");f&&e&&e(f);var g,m,v;b=(b=b("Content-Type"))?b.replace(/;.*/,""):"application/json";if("application/json"==
b||"text/json"==b)try{g=fd(c),m=g.data}catch(Bi){v="Invalid JSON: "+c}else v="Response was unexpectedly not JSON, but "+b;if(t(g))"error"in g&&"message"in g.error?v=g.error.message:"data"in g||(v="Malformed response: "+c);else if(0===a)v="Failed to contact Earth Engine servers. Please check your connection, firewall, or browser extension settings.";else if(200>a||300<=a)v="Server returned HTTP code: "+a;if(d)return d(m,v),null;if(!v)return m;throw Error(v);},v=b?b.toString():"";"GET"!=g||/^[\s\xa0]*$/.test(v)||
(a+=-1!=a.indexOf("?")?"&":"?",a+=v,v=null);var Y=df+a;if(c)return Ef.push({url:Y,Pb:function(a){a=a.target;var b=a.getStatus(),d=u(a.getResponseHeader,a),e;try{e=a.a?a.a.responseText:""}catch(ni){be(a.F,"Can not get responseText: "+ni.message),e=""}return m(b,d,e,c)},method:g,content:v,headers:f}),Ff.Lc(),null;var R=B();R.open(g,Y,!1);Ha(f,function(a,b){R.setRequestHeader(b,a)});R.send(v);return m(R.status,function(a){try{return R.getResponseHeader(a)}catch(Ai){return null}},R.responseText,null)},
Re=function(a){var b=function(){k.gapi.config.update("client/cors",!0);Xe||(Xe=k.gapi.auth.authorize);a()};if(t(k.gapi)&&t(k.gapi.auth)&&r(k.gapi.auth.authorize))b();else{for(var c=la().toString(36);c in k;)c+="_";k[c]=function(){delete k[c];b()};Md("https://apis.google.com/js/client.js?onload="+c)}},Ve=function(a,b,c){c.access_token?(b=c.token_type+" "+c.access_token,isFinite(c.expires_in)&&(c=900*c.expires_in,setTimeout(Se,.9*c),Ze=la()+c),Qe=b,a&&a()):b&&b(c.error||"Unknown error.")},E=function(a){var b=
new De,c;for(c in a)b.set(c,a[c]);return b},Ef=[],Ff=new bd(function(){var a=Ef.shift();if(a){var b=a.url,c=a.Pb,d=a.method,e=a.content,a=a.headers,f=jf,g=new C;ne.push(g);c&&g.Sa("complete",c);g.rb("ready",g.Gd);f&&(g.Ea=Math.max(0,f));g.send(b,d,e,a)}0==Ef.length||Ff.Lc()},350),df=null,ff=null,gf=null,lf=fc,Qe=null,Ze=null,Oe=null,Pe=[],Xe=null,ef=!1,jf=0,yf=null;var Gf=function(){};Gf.prototype.encode=ca;var Hf=function(){this.Z=-1};Hf.prototype.reset=ca;Hf.prototype.update=ca;Hf.prototype.digest=ca;var If=function(){this.Z=64;this.A=Array(4);this.Cd=Array(this.Z);this.Db=this.Ha=0;this.reset()};x(If,Hf);If.prototype.reset=function(){this.A[0]=1732584193;this.A[1]=4023233417;this.A[2]=2562383102;this.A[3]=271733878;this.Db=this.Ha=0};
var Jf=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.A[0];c=a.A[1];var e=a.A[2],f=a.A[3],g;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.A[0]=a.A[0]+b&4294967295;a.A[1]=a.A[1]+(e+(g<<21&4294967295|g>>>11))&4294967295;a.A[2]=a.A[2]+e&4294967295;a.A[3]=a.A[3]+f&4294967295};
If.prototype.update=function(a,b){l(b)||(b=a.length);for(var c=b-this.Z,d=this.Cd,e=this.Ha,f=0;f<b;){if(0==e)for(;f<=c;)Jf(this,a,f),f+=this.Z;if(p(a))for(;f<b;){if(d[e++]=a.charCodeAt(f++),e==this.Z){Jf(this,d);e=0;break}}else for(;f<b;)if(d[e++]=a[f++],e==this.Z){Jf(this,d);e=0;break}}this.Ha=e;this.Db+=b};
If.prototype.digest=function(){var a=Array((56>this.Ha?this.Z:2*this.Z)-this.Ha);a[0]=128;for(var b=1;b<a.length-8;++b)a[b]=0;for(var c=8*this.Db,b=a.length-8;b<a.length;++b)a[b]=c&255,c/=256;this.update(a);a=Array(16);for(b=c=0;4>b;++b)for(var d=0;32>d;d+=8)a[c++]=this.A[b]>>>d&255;return a};var Kf=function(a){this.Ya="__ee_hash__";this.dc=!1!==a;this.Ca=[];this.ta={};this.uc=[]};w("ee.Serializer",Kf);var Lf=new gd,Mf=new If,Of=function(a,b){return Nf(new Kf(l(b)?b:!0),a)};w("ee.Serializer.encode",Of);var Pf=function(a){return Lf.u(Of(a))};w("ee.Serializer.toJSON",Pf);var Qf=function(a){a=Nf(new Kf(!1),a);return"JSON"in k?k.JSON.stringify(a,null," "):Lf.u(a)};w("ee.Serializer.toReadableJSON",Qf);
var Nf=function(a,b){var c=a.gb(b);a.dc&&(c=t(c)&&"ValueRef"==c.type&&1==a.Ca.length?a.Ca[0][1]:{type:"CompoundValue",scope:a.Ca,value:c},a.Ca=[],Xa(a.uc,u(function(a){delete a[this.Ya]},a)),a.uc=[],a.ta={});return c};
Kf.prototype.gb=function(a){if(!l(a))throw Error("Can't encode an undefined value.");var b,c=t(a)?a[this.Ya]:null;if(this.dc&&null!=c&&this.ta[c])return{type:"ValueRef",value:this.ta[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 Gf){if(b=a.encode(u(this.gb,this)),!(n(b)||t(b)&&"ArgumentRef"!=b.type))return b}else if(n(a))b=Za(a,function(a){return this.gb(a)},
this);else if(t(a)&&!r(a))b=Ja(a,function(a){if(!r(a))return this.gb(a)},this),Na(b,this.Ya),b={type:"Dictionary",value:b};else throw Error("Can't encode object: "+a);if(this.dc){Mf.reset();Mf.update(Lf.u(b));var c=Mf.digest().toString(),d;this.ta[c]?d=this.ta[c]:(d=String(this.Ca.length),this.Ca.push([d,b]),this.ta[c]=d);a[this.Ya]=c;this.uc.push(a);return{type:"ValueRef",value:d}}return b};var F=function(a,b,c){if(!(this instanceof F))return G(F,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.c=a;this.m=b;this.v=c||null};x(F,Gf);w("ee.ComputedObject",F);F.prototype.evaluate=function(a){if(!a||!r(a))throw Error("evaluate() requires a callback function.");rf({json:this.u()},a)};F.prototype.evaluate=F.prototype.evaluate;
F.prototype.S=function(a){return rf({json:this.u()},a)};F.prototype.getInfo=F.prototype.S;F.prototype.encode=function(a){if(null===this.c&&null===this.m)return{type:"ArgumentRef",value:this.v};var b={},c;for(c in this.m)l(this.m[c])&&(b[c]=a(this.m[c]));b={type:"Invocation",arguments:b};a=a(this.c);b[p(a)?"functionName":"function"]=a;return b};F.prototype.u=function(){return Pf(this)};F.prototype.serialize=F.prototype.u;F.prototype.toString=function(){return"ee."+this.name()+"("+Qf(this)+")"};
w("ee.ComputedObject.prototype.toString",F.prototype.toString);F.prototype.name=function(){return"ComputedObject"};F.prototype.wc=function(a,b){var c=hb(arguments);c[0]=this;a.apply(k,c);return this};F.prototype.aside=F.prototype.wc;var Rf=function(a,b){if(b instanceof a.constructor)return b;var c=function(){};c.prototype=a.constructor.prototype;c=new c;c.c=b.c;c.m=b.m;c.v=b.v;return c},G=function(a,b){function c(){return a.apply(this,b)}c.prototype=a.prototype;return new c};var Sf={},Tf=function(a){return a.prototype instanceof F?a.prototype.name.call(null):a==Number?"Number":a==String?"String":a==Array?"Array":a==Date?"Date":"Object"},Uf=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}},Vf=function(a){return q(a)||
a instanceof F&&"Number"==a.name()},Wf=function(a){return p(a)||a instanceof F&&"String"==a.name()},Xf=function(a){return t(a)&&!r(a)?(a=Object.getPrototypeOf(a),null!==a&&null===Object.getPrototypeOf(a)):!1};var H=function(){if(!(this instanceof H))return new H};x(H,Gf);w("ee.Function",H);var Yf=fc;H.prototype.C=ca;H.prototype.call=function(a){return this.apply(Zf(this,Array.prototype.slice.call(arguments,0)))};H.prototype.call=H.prototype.call;H.prototype.apply=function(a){a=new F(this,$f(this,a));return Yf(a,this.C().returns)};H.prototype.apply=H.prototype.apply;
var ag=function(a,b,c){var d=l(b),e=a.C(),f=!1;if(1==c.length&&Xf(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=Oa(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=Zf(a,d?[b].concat(c):c);return a.apply(c)},$f=function(a,b){for(var c=a.C().args,d={},e={},f=0;f<c.length;f++){var g=c[f].name;if(g in b&&l(b[g]))d[g]=Yf(b[g],c[f].type);else if(!c[f].optional)throw Error("Required argument ("+
g+") missing to function: "+a);e[g]=!0}var c=[],m;for(m in b)e[m]||c.push(m);if(0<c.length)throw Error("Unrecognized arguments ("+c+") to function: "+a);return d},Zf=function(a,b){var c=a.C().args;if(c.length<b.length)throw Error("Too many ("+b.length+") arguments to function: "+a);for(var d={},e=0;e<b.length;e++)d[c[e].name]=b[e];return d};
H.prototype.toString=function(a,b){var c=this.C(),d=[];d.push(a||c.name);d.push("(");d.push(Za(c.args.slice(b?1:0),function(a){return a.name}).join(", "));d.push(")\n");d.push("\n");c.description?d.push(c.description):d.push("Undocumented.");d.push("\n");if(c.args.length){d.push("\nArgs:\n");for(var e=0;e<c.args.length;e++){b&&0==e?d.push(" this:"):d.push("\n ");var f=c.args[e];d.push(f.name);d.push(" (");d.push(f.type);f.optional&&d.push(", optional");d.push("): ");f.description?d.push(f.description):
d.push("Undocumented.")}}return d.join("")};H.prototype.u=function(){return Pf(this)};var I=function(a,b){if(!l(b))return bg(a);if(!(this instanceof I))return G(I,arguments);this.ea=Pa(b);this.ea.name=a};x(I,H);w("ee.ApiFunction",I);var J=function(a,b){return H.prototype.call.apply(bg(a),Array.prototype.slice.call(arguments,1))};w("ee.ApiFunction._call",J);var cg=function(a,b){return bg(a).apply(b)};w("ee.ApiFunction._apply",cg);I.prototype.encode=function(){return this.ea.name};I.prototype.C=function(){return this.ea};
var dg=null,eg={},gg=function(){fg();return Ja(dg,function(a){return a.C()})},hg=function(){fg();return Ia(dg,function(a,b){return!eg[b]})},bg=function(a){var b=ig(a);if(!b)throw Error("Unknown built-in function name: "+a);return b};w("ee.ApiFunction.lookup",bg);
var ig=function(a){fg();return dg[a]||null},fg=function(a,b){if(dg)a&&a();else{var c=function(c,e){e?b&&b(Error(e)):(dg=Ja(c,function(a,b){a.returns=a.returns.replace(/<.*>/,"");for(var c=0;c<a.args.length;c++)a.args[c].type=a.args[c].type.replace(/<.*>/,"");return new I(b,a)}),a&&a())};a?D("/algorithms",null,c,"GET"):c(D("/algorithms",null,void 0,"GET"))}},K=function(a,b,c,d){fg();var e=d||"";Ha(dg,function(d,g){var f=g.split(".");if(2==f.length&&f[0]==b){var f=e+f[1],v=d.C();eg[g]=!0;var Y=!1;if(v.args.length)var R=
v.args[0].type,Y="Object"!=R&&Uf(R,c);R=Y?a.prototype:a;f in R&&!R[f].signature||(R[f]=function(a){return ag(d,Y?this:void 0,Array.prototype.slice.call(arguments,0))},R[f].toString=u(d.toString,d,f,Y),R[f].signature=v)}})},L=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 M=function(a,b){var c=jg(a),d=Za(c,function(a){return a.replace(/^opt_/,"")}),e=k.Ga?k.Ga[a.toString()].name.split(".").pop()+"()":null,e=e?" to function "+e:"",f={},g=b[0],m=t(g)&&!r(g)&&!n(g)&&!(g instanceof F);if(1<b.length||!m){if(b.length>d.length)throw Error("Received too many arguments"+e+". Expected at most "+d.length+" but got "+b.length+".");for(g=0;g<b.length;g++)f[d[g]]=b[g]}else{var m=new pc(La(g)),v=new pc(d);if(rc(v,m).isEmpty())f[d[0]]=b[0];else{f=sc(m,v);if(!f.isEmpty())throw Error("Unexpected arguments"+
e+": "+f.s().join(", "));f=Oa(g)}}d=new pc(La(f));c=sc(new pc(Ya(c,function(a){return 0!=a.lastIndexOf("opt_",0)})),d);if(!c.isEmpty())throw Error("Missing required arguments"+e+": "+c.s().join(", "));return f},jg=function(a){k.Ga?(a=k.Ga[a.toString()],Fa(a),a=a.paramNames,Ga(a)):a=a.toString().replace(kg,"").match(lg)[1].split(",")||[];return a},kg=/((\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s))/mg,lg=/^function\s*[^\(]*\(\s*([^\)]*)\)/m;var N=function(a,b,c){F.call(this,a,b,c);mg()};x(N,F);w("ee.Element",N);var ng=!1,mg=function(){ng||(K(N,"Element","Element"),ng=!0)};N.prototype.name=function(){return"Element"};
N.prototype.set=function(a){var b;if(1>=arguments.length){var c=arguments[0];if(b=Xf(c))a:{b=La(c);var d=["properties"];if(fa(b)&&fa(d)&&b.length==d.length){for(var e=b.length,f=0;f<e;f++)if(b[f]!==d[f]){b=!1;break a}b=!0}else b=!1}b&&t(c.properties)&&(c=c.properties);if(Xf(c)){b=this;for(var g in c)d=c[g],b=J("Element.set",b,g,d)}else if(c instanceof F&&ig("Element.setMulti"))b=J("Element.setMulti",this,c);else throw Error("When Element.set() is passed one argument, it must be a dictionary.");}else{if(0!=
arguments.length%2)throw Error("When Element.set() is passed multiple arguments, there must be an even number of them.");b=this;for(c=0;c<arguments.length;c+=2)g=arguments[c],d=arguments[c+1],b=J("Element.set",b,g,d)}return Rf(this,b)};N.prototype.set=N.prototype.set;var O=function(a){if(!(this instanceof O))return G(O,arguments);if(a instanceof O)return a;og();if(n(a)){if(0==a.length)throw Error("Empty list specified for ee.Filter().");if(1==a.length)return new O(a[0]);F.call(this,new I("Filter.and"),{filters:a});this.Ka=a}else if(a instanceof F)F.call(this,a.c,a.m,a.v),this.Ka=[a];else{if(l(a))throw Error("Invalid argument specified for ee.Filter(): "+a);F.call(this,null,null);this.Ka=[]}};x(O,F);w("ee.Filter",O);
var pg=!1,og=function(){pg||(K(O,"Filter","Filter"),pg=!0)},qg={equals:"equals",less_than:"lessThan",greater_than:"greaterThan",contains:"stringContains",starts_with:"stringStartsWith",ends_with:"stringEndsWith"},P=function(a,b){var c=a.Ka.slice(0);b instanceof O?ib(c,b.Ka):b instanceof Array?ib(c,b):c.push(b);return new O(c)};O.prototype.X=function(){return J("Filter.not",this)};O.prototype.not=O.prototype.X;var rg=function(a,b){var c=M(rg,arguments);return J("Filter.equals",c.name,c.value)};
O.eq=rg;var sg=function(a,b){var c=M(sg,arguments);return rg(c.name,c.value).X()};O.neq=sg;var tg=function(a,b){var c=M(tg,arguments);return J("Filter.lessThan",c.name,c.value)};O.lt=tg;var ug=function(a,b){var c=M(ug,arguments);return tg(c.name,c.value).X()};O.gte=ug;var vg=function(a,b){var c=M(vg,arguments);return J("Filter.greaterThan",c.name,c.value)};O.gt=vg;var wg=function(a,b){var c=M(wg,arguments);return vg(c.name,c.value).X()};O.lte=wg;var xg=function(a){return J("Filter.and",Array.prototype.slice.call(arguments))};
O.and=xg;var yg=function(a){return J("Filter.or",Array.prototype.slice.call(arguments))};O.or=yg;var zg=function(a,b){var c=M(zg,arguments),c=J("DateRange",c.start,c.end);return cg("Filter.dateRangeContains",{leftValue:c,rightField:"system:time_start"})};O.date=zg;var Ag=function(a,b,c,d){var e=M(Ag,arguments);return cg("Filter.listContains",{leftField:e.rightField,rightValue:e.leftValue,rightField:e.leftField,leftValue:e.rightValue})};O.inList=Ag;
var Bg=function(a,b){return cg("Filter.intersects",{leftField:".all",rightValue:J("Feature",a),maxError:b})};O.bounds=Bg;O.prototype.name=function(){return"Filter"};var Cg=function(a,b,c){b=b.toLowerCase();var d=!1;0==b.lastIndexOf("not_",0)&&(d=!0,b=b.substring(4));if(!(b in qg))throw Error("Unknown filtering operator: "+b);a=J("Filter."+qg[b],a,c);return d?a.X():a};O.metadata=Cg;var Dg=function(a,b){return J("Filter.stringContains",a,b)};O.contains=Dg;var Eg=function(a,b){return Dg(a,b).X()};
O.not_contains=Eg;var Fg=function(a,b){return J("Filter.stringStartsWith",a,b)};O.starts_with=Fg;var Gg=function(a,b){return Fg(a,b).X()};O.not_starts_with=Gg;var Hg=function(a,b){return J("Filter.stringEndsWith",a,b)};O.ends_with=Hg;var Ig=function(a,b){return Hg(a,b).X()};O.not_ends_with=Ig;O.prototype.Hc=function(a){return P(this,rg.apply(null,[].slice.call(arguments)))};O.prototype.eq=O.prototype.Hc;O.prototype.length=function(){return this.Ka.length};O.prototype.length=O.prototype.length;
O.prototype.ed=function(a){return P(this,sg.apply(null,[].slice.call(arguments)))};O.prototype.neq=O.prototype.ed;O.prototype.bd=function(a){return P(this,tg.apply(null,[].slice.call(arguments)))};O.prototype.lt=O.prototype.bd;O.prototype.Rc=function(a){return P(this,ug.apply(null,[].slice.call(arguments)))};O.prototype.gte=O.prototype.Rc;O.prototype.Qc=function(a){return P(this,vg.apply(null,[].slice.call(arguments)))};O.prototype.gt=O.prototype.Qc;
O.prototype.cd=function(a){return P(this,wg.apply(null,[].slice.call(arguments)))};O.prototype.lte=O.prototype.cd;O.prototype.contains=function(a){return P(this,Dg.apply(null,[].slice.call(arguments)))};O.prototype.contains=O.prototype.contains;O.prototype.fd=function(a){return P(this,Eg.apply(null,[].slice.call(arguments)))};O.prototype.not_contains=O.prototype.fd;O.prototype.vd=function(a){return P(this,Fg.apply(null,[].slice.call(arguments)))};O.prototype.starts_with=O.prototype.vd;
O.prototype.hd=function(a){return P(this,Gg.apply(null,[].slice.call(arguments)))};O.prototype.not_starts_with=O.prototype.hd;O.prototype.Gc=function(a){return P(this,Hg.apply(null,[].slice.call(arguments)))};O.prototype.ends_with=O.prototype.Gc;O.prototype.gd=function(a){return P(this,Ig.apply(null,[].slice.call(arguments)))};O.prototype.not_ends_with=O.prototype.gd;O.prototype.vc=function(a){return P(this,xg.apply(null,[].slice.call(arguments)))};O.prototype.and=O.prototype.vc;
O.prototype.Dc=function(a){return P(this,zg.apply(null,[].slice.call(arguments)))};O.prototype.date=O.prototype.Dc;O.prototype.Uc=function(a){return P(this,Ag.apply(null,[].slice.call(arguments)))};O.prototype.inList=O.prototype.Uc;O.prototype.bounds=function(a){return P(this,Bg.apply(null,[].slice.call(arguments)))};O.prototype.bounds=O.prototype.bounds;var Q=function(a,b,c){N.call(this,a,b,c);Jg()};x(Q,N);w("ee.Collection",Q);var Kg=!1,Jg=function(){Kg||(K(Q,"Collection","Collection"),K(Q,"AggregateFeatureCollection","Collection","aggregate_"),Kg=!0)};Q.prototype.filter=function(a){if(!a)throw Error("Empty filters.");return Rf(this,J("Collection.filter",this,a))};Q.prototype.filter=Q.prototype.filter;Q.prototype.Yb=function(a,b,c){var d=M(Q.prototype.Yb,arguments);return this.filter(Cg(d.name,d.operator,d.value))};Q.prototype.filterMetadata=Q.prototype.Yb;
Q.prototype.Kc=function(a){return this.filter(Bg(a))};Q.prototype.filterBounds=Q.prototype.Kc;Q.prototype.Xb=function(a,b){var c=M(Q.prototype.Xb,arguments);return this.filter(zg(c.start,c.end))};Q.prototype.filterDate=Q.prototype.Xb;Q.prototype.limit=function(a,b,c){var d=M(Q.prototype.limit,arguments);return Rf(this,J("Collection.limit",this,d.max,d.property,d.ascending))};Q.prototype.limit=Q.prototype.limit;
Q.prototype.sort=function(a,b){var c=M(Q.prototype.sort,arguments);return Rf(this,J("Collection.limit",this,void 0,c.property,c.ascending))};Q.prototype.sort=Q.prototype.sort;Q.prototype.name=function(){return"Collection"};Q.prototype.elementType=function(){return N};Q.prototype.map=function(a,b){var c=this.elementType();return Rf(this,J("Collection.map",this,function(b){return a(new c(b))},b))};Q.prototype.map=Q.prototype.map;
Q.prototype.Zc=function(a,b){var c=l(b)?b:null,d=this.elementType();return J("Collection.iterate",this,function(b,c){return a(new d(b),c)},c)};Q.prototype.iterate=Q.prototype.Zc;var Lg=function(a){if(!(this instanceof Lg))return G(Lg,arguments);if(a instanceof Lg)return a;Mg();if(q(a))F.call(this,null,null),this.gc=a;else if(a instanceof F)F.call(this,a.c,a.m,a.v),this.gc=null;else throw Error("Invalid argument specified for ee.Number(): "+a);};x(Lg,F);w("ee.Number",Lg);var Ng=!1,Mg=function(){Ng||(K(Lg,"Number","Number"),Ng=!0)};Lg.prototype.encode=function(a){return q(this.gc)?this.gc:Lg.w.encode.call(this,a)};Lg.prototype.name=function(){return"Number"};var Og=function(a){if(!(this instanceof Og))return G(Og,arguments);if(a instanceof Og)return a;Pg();if(p(a))F.call(this,null,null),this.oc=a;else if(a instanceof F)this.oc=null,a.c&&"String"==a.c.C().returns?F.call(this,a.c,a.m,a.v):F.call(this,new I("String"),{input:a},null);else throw Error("Invalid argument specified for ee.String(): "+a);};x(Og,F);w("ee.String",Og);var Qg=!1,Pg=function(){Qg||(K(Og,"String","String"),Qg=!0)};
Og.prototype.encode=function(a){return p(this.oc)?this.oc:Og.w.encode.call(this,a)};Og.prototype.name=function(){return"String"};var Rg=function(a,b){if(!(this instanceof Rg))return G(Rg,arguments);for(var c=[],d=a.args,e=0;e<d.length;e++){var f=d[e],g=f.type;c.push(Sg(g in Sf?Sf[g]:null,f.name))}if(!l(b.apply(null,c)))throw Error("User-defined methods must return a value.");this.ea=Tg(a,c,b);this.Dd=b.apply(null,c)};x(Rg,H);w("ee.CustomFunction",Rg);Rg.prototype.encode=function(a){return{type:"Function",argumentNames:Za(this.ea.args,function(a){return a.name}),body:a(this.Dd)}};Rg.prototype.C=function(){return this.ea};
var Sg=function(a,b){a=a||Object;if(!(a.prototype instanceof F))if(a&&a!=Object)if(a==String)a=Og;else if(a==Number)a=Lg;else if(a==Array)a=k.ee.List;else throw Error("Variables must be of an EE type, e.g. ee.Image or ee.Number.");else a=F;var c=function(){};c.prototype=a.prototype;c=new c;c.c=null;c.m=null;c.v=b;return c},Ug=function(a,b){var c=Za(b,function(a){return{name:null,type:p(a)?a:Tf(a)}}),c={name:"",returns:p("Object")?"Object":Tf("Object"),args:c};return new Rg(c,a)},Tg=function(a,b,c){for(var d=
[],e=0;e<b.length;e++)null===b[e].v&&d.push(e);if(0==d.length)return a;var f=function(a){var b=0;t(a)&&!r(a)&&("Function"==a.type&&b++,Ha(a,function(a){b+=f(a)}));return b},e=Of(c.apply(null,b));c="_MAPPING_VAR_"+f(e)+"_";for(e=0;e<d.length;e++){var g=d[e],m=c+e;b[g].v=m;a.args[g].name=m}return a};var Vg=function(a,b){if(!(this instanceof Vg))return G(Vg,arguments);if(a instanceof Vg)return a;Wg();var c=M(Vg,arguments);a=c.date;var c=c.tz,d=new I("Date"),e={},f=null;if(Wf(a)){if(e.value=a,c)if(Wf(c))e.timeZone=c;else throw Error("Invalid argument specified for ee.Date(..., opt_tz): "+c);}else if(Vf(a))e.value=a;else if(t(a)&&"function"==typeof a.getFullYear)e.value=Math.floor(a.getTime());else if(a instanceof F)a.c&&"Date"==a.c.C().returns?(d=a.c,e=a.m,f=a.v):e.value=a;else throw Error("Invalid argument specified for ee.Date(): "+
a);F.call(this,d,e,f)};x(Vg,F);w("ee.Date",Vg);var Xg=!1,Wg=function(){Xg||(K(Vg,"Date","Date"),Xg=!0)};Vg.prototype.name=function(){return"Date"};var S=function(a,b,c,d){if(!(this instanceof S))return G(S,arguments);if(!("type"in a)){var e=M(S,arguments);a=e.geoJson;b=e.proj;c=e.geodesic;d=e.evenOdd}Yg();e=null!=b||null!=c||null!=d;if(a instanceof F&&!(a instanceof S&&a.Eb)){if(e)throw Error("Setting the CRS, geodesic, or evenOdd flag on a computed Geometry is not suported. Use Geometry.transform().");F.call(this,a.c,a.m,a.v)}else{a instanceof S&&(a=a.encode());if(!Zg(a))throw Error("Invalid GeoJSON geometry: "+JSON.stringify(a));F.call(this,
null,null);this.Eb=a.type;this.Hd=a.coordinates||null;this.Ld=a.geometries||null;if(null!=b)this.lc=b;else if("crs"in a)if(t(a.crs)&&"name"==a.crs.type&&t(a.crs.properties)&&p(a.crs.properties.name))this.lc=a.crs.properties.name;else throw Error("Invalid CRS declaration in GeoJSON: "+(new gd).u(a.crs));this.jb=c;!l(this.jb)&&"geodesic"in a&&(this.jb=!!a.geodesic);this.ib=d;!l(this.ib)&&"evenOdd"in a&&(this.ib=!!a.evenOdd)}};x(S,F);w("ee.Geometry",S);
var $g=!1,Yg=function(){$g||(K(S,"Geometry","Geometry"),$g=!0)},ah=function(a,b){if(!(this instanceof ah))return bh(ah,arguments);var c=ch(ah,"Point",1,arguments);if(!(c instanceof F)){var d=c.coordinates;if(!n(d)||2!=d.length)throw Error("The Geometry.Point constructor requires 2 coordinates.");}S.call(this,c)};x(ah,S);S.Point=ah;var dh=function(a,b){if(!(this instanceof dh))return bh(dh,arguments);S.call(this,ch(dh,"MultiPoint",2,arguments))};x(dh,S);S.MultiPoint=dh;
var eh=function(a,b,c,d,e){if(!(this instanceof eh))return bh(eh,arguments);var f=ch(eh,"Rectangle",2,arguments);if(!(f instanceof F)){var g=f.coordinates;if(2!=g.length)throw Error("The Geometry.Rectangle constructor requires 2 points or 4 coordinates.");var m=g[0][0],v=g[0][1],Y=g[1][0],g=g[1][1];f.coordinates=[[[m,g],[m,v],[Y,v],[Y,g]]];f.type="Polygon"}S.call(this,f)};x(eh,S);S.Rectangle=eh;
var fh=function(a,b,c,d){if(!(this instanceof fh))return bh(fh,arguments);S.call(this,ch(fh,"LineString",2,arguments))};x(fh,S);S.LineString=fh;var gh=function(a,b,c,d){if(!(this instanceof gh))return bh(gh,arguments);S.call(this,ch(gh,"LinearRing",2,arguments))};x(gh,S);S.LinearRing=gh;var hh=function(a,b,c,d){if(!(this instanceof hh))return bh(hh,arguments);S.call(this,ch(hh,"MultiLineString",3,arguments))};x(hh,S);S.MultiLineString=hh;
var ih=function(a,b,c,d,e){if(!(this instanceof ih))return bh(ih,arguments);S.call(this,ch(ih,"Polygon",3,arguments))};x(ih,S);S.Polygon=ih;var jh=function(a,b,c,d,e){if(!(this instanceof jh))return bh(jh,arguments);S.call(this,ch(jh,"MultiPolygon",4,arguments))};x(jh,S);S.MultiPolygon=jh;
S.prototype.encode=function(a){if(!this.Eb){if(!a)throw Error("Must specify an encode function when encoding a computed geometry.");return F.prototype.encode.call(this,a)}a={type:this.Eb};"GeometryCollection"==this.Eb?a.geometries=this.Ld:a.coordinates=this.Hd;null!=this.lc&&(a.crs={type:"name",properties:{name:this.lc}});null!=this.jb&&(a.geodesic=this.jb);null!=this.ib&&(a.evenOdd=this.ib);return a};
S.prototype.rc=function(){if(this.c)throw Error("Can't convert a computed Geometry to GeoJSON. Use getInfo() instead.");return this.encode()};S.prototype.toGeoJSON=S.prototype.rc;S.prototype.sc=function(){if(this.c)throw Error("Can't convert a computed Geometry to GeoJSON. Use getInfo() instead.");return(new gd).u(this.rc())};S.prototype.toGeoJSONString=S.prototype.sc;S.prototype.u=function(){return Pf(this)};S.prototype.serialize=S.prototype.u;
S.prototype.toString=function(){return"ee.Geometry("+this.sc()+")"};
var Zg=function(a){var b=a.type;if("GeometryCollection"==b){b=a.geometries;if(!n(b))return!1;for(a=0;a<b.length;a++)if(!Zg(b[a]))return!1;return!0}a=a.coordinates;var c=kh(a);return"Point"==b&&1==c||"MultiPoint"==b&&(2==c||0==a.length)||"LineString"==b&&2==c||"LinearRing"==b&&2==c||"MultiLineString"==b&&(3==c||0==a.length)||"Polygon"==b&&3==c||"MultiPolygon"==b&&(4==c||0==a.length)},kh=function(a){if(!n(a))return-1;if(n(a[0])){for(var b=kh(a[0]),c=1;c<a.length;c++)if(kh(a[c])!=b)return-1;return b+
1}for(c=0;c<a.length;c++)if(!q(a[c]))return-1;return 0==a.length%2?1:-1},ch=function(a,b,c,d){ab(d,Vf)?a={coordinates:hb(d)}:(a=M(a,d),a.coordinates=a.coords,delete a.coords,a.crs=a.proj,delete a.proj,a=Ia(a,ea));if(lh(a.coordinates)||null!=a.crs||null!=a.geodesic||null!=a.maxError)return(new I("GeometryConstructors."+b)).apply(a);a.type=b;d=a.coordinates;if(1>c||4<c)throw Error("Unexpected nesting level.");if(ab(d,q)&&q(d[0])&&2!=d.length){if(0!=d.length%2)throw Error("Invalid number of coordinates: "+
d.length);for(var e=[],f=0;f<d.length;f+=2)e.push([d[f],d[f+1]]);d=e}e=d;for(f=0;n(e);)e=e[0],f++;for(;f<c;)d=[d],f++;if(kh(d)!=c)throw Error("Invalid geometry");for(e=d;n(e)&&1==e.length;)e=e[0];c=n(e)&&0==e.length?[]:d;a.coordinates=c;if(c=null==a.evenOdd)c=0<=Va(["Polygon","Rectangle","MultiPolygon"],b);c&&(a.evenOdd=!0);return a},lh=function(a){return n(a)?$a(a,lh):a instanceof F},bh=function(a,b){var c=function(){};c.prototype=a.prototype;var c=new c,d=a.apply(c,b);return void 0!==d?d:c};
S.prototype.name=function(){return"Geometry"};w("ee.Deserializer",function(){});var nh=function(a){return mh(ed(a))};w("ee.Deserializer.fromJSON",nh);var mh=function(a){var b={};if(t(a)&&"CompoundValue"==a.type){for(var c=a.scope,d=0;d<c.length;d++){var e=c[d][0],f=c[d][1];if(e in b)throw Error('Duplicate scope key "'+e+'" in scope #'+d+".");b[e]=oh(f,b)}a=a.value}return oh(a,b)};w("ee.Deserializer.decode",mh);
var oh=function(a,b){if(null===a||q(a)||"boolean"==typeof a||p(a))return a;if(n(a))return Za(a,function(a){return oh(a,b)});if(!t(a)||r(a))throw Error("Cannot decode object: "+a);var c=a.type;switch(c){case "ValueRef":if(a.value in b)return b[a.value];throw Error("Unknown ValueRef: "+a);case "ArgumentRef":c=a.value;if(!p(c))throw Error("Invalid variable name: "+c);return Sg(Object,c);case "Date":c=a.value;if(!q(c))throw Error("Invalid date value: "+c);return new Vg(c/1E3);case "Bytes":return c=new Gf,
c.encode=function(){return a},c;case "Invocation":var c="functionName"in a?bg(a.functionName):oh(a["function"],b),d=Ja(a.arguments,function(a){return oh(a,b)});if(c instanceof H)return c.apply(d);if(c instanceof F)return new F(c,d);throw Error("Invalid function value: "+a["function"]);case "Dictionary":return Ja(a.value,function(a){return oh(a,b)});case "Function":var e=oh(a.body,b),c={name:"",args:Za(a.argumentNames,function(a){return{name:a,type:"Object",optional:!1}}),returns:"Object"};return new Rg(c,
function(){return e});case "Point":case "MultiPoint":case "LineString":case "MultiLineString":case "Polygon":case "MultiPolygon":case "LinearRing":case "GeometryCollection":return new S(a);case "CompoundValue":throw Error("Nested CompoundValues are disallowed.");default:throw Error("Unknown encoded object type: "+c);}};var ph=function(a){if(!(this instanceof ph))return G(ph,arguments);if(a instanceof ph)return a;qh();Xf(a)?(F.call(this,null,null),this.Tb=a):(a instanceof F&&a.c&&"Dictionary"==a.c.C().returns?F.call(this,a.c,a.m,a.v):F.call(this,new I("Dictionary"),{input:a},null),this.Tb=null)};x(ph,F);w("ee.Dictionary",ph);var rh=!1,qh=function(){rh||(K(ph,"Dictionary","Dictionary"),rh=!0)};ph.prototype.encode=function(a){return null===this.Tb?ph.w.encode.call(this,a):a(this.Tb)};ph.prototype.name=function(){return"Dictionary"};var T=function(a,b){if(!(this instanceof T))return G(T,arguments);if(a instanceof T){if(b)throw Error("Can't create Feature out of a Feature and properties.");return a}if(2<arguments.length)throw Error("The Feature constructor takes at most 2 arguments ("+arguments.length+" given)");sh();if(a instanceof S||null===a)N.call(this,new I("Feature"),{geometry:a,metadata:b||null});else if(a instanceof F)N.call(this,a.c,a.m,a.v);else if("Feature"==a.type){var c=a.properties||{};if("id"in a){if("system:index"in
c)throw Error('Can\'t specify both "id" and "system:index".');c=Oa(c);c["system:index"]=a.id}N.call(this,new I("Feature"),{geometry:new S(a.geometry),metadata:c})}else N.call(this,new I("Feature"),{geometry:new S(a),metadata:b||null})};x(T,N);w("ee.Feature",T);var th=!1,sh=function(){th||(K(T,"Feature","Feature"),th=!0)};T.prototype.getInfo=T.prototype.S;T.prototype.getMap=function(a,b){var c=M(T.prototype.getMap,arguments);return J("Collection",[this]).getMap(c.visParams,c.callback)};
T.prototype.getMap=T.prototype.getMap;var uh=function(a,b){return ah.apply(null,arguments)};T.Point=uh;var vh=function(a){return dh.apply(null,arguments)};T.MultiPoint=vh;var wh=function(a,b,c,d){return new eh([a,b,c,d])};T.Rectangle=wh;var xh=function(a){return fh.apply(null,arguments)};T.LineString=xh;var yh=function(a){return gh.apply(null,arguments)};T.LinearRing=yh;var zh=function(a){return hh.apply(null,arguments)};T.MultiLine=zh;var Ah=function(a){return ih.apply(null,arguments)};
T.Polygon=Ah;var Bh=function(a){return jh.apply(null,arguments)};T.MultiPolygon=Bh;T.prototype.name=function(){return"Feature"};var Ch=function(a){if(this instanceof Ch){if(1<arguments.length)throw Error("ee.List() only accepts 1 argument.");if(a instanceof Ch)return a}else return G(Ch,arguments);Dh();if(n(a))F.call(this,null,null),this.fc=a;else if(a instanceof F)F.call(this,a.c,a.m,a.v),this.fc=null;else throw Error("Invalid argument specified for ee.List(): "+a);};x(Ch,F);w("ee.List",Ch);var Eh=!1,Dh=function(){Eh||(K(Ch,"List","List"),Eh=!0)};
Ch.prototype.encode=function(a){return n(this.fc)?Za(this.fc,function(b){return a(b)}):Ch.w.encode.call(this,a)};Ch.prototype.name=function(){return"List"};var U=function(a,b){if(!(this instanceof U))return G(U,arguments);if(a instanceof U)return a;if(2<arguments.length)throw Error("The FeatureCollection constructor takes at most 2 arguments ("+arguments.length+" given)");Fh();a instanceof S&&(a=new T(a));a instanceof T&&(a=[a]);if(Vf(a)||Wf(a)){var c={tableId:a};b&&(c.geometryColumn=b);Q.call(this,new I("Collection.loadTable"),c)}else if(n(a))Q.call(this,new I("Collection"),{features:Za(a,function(a){return new T(a)})});else if(a instanceof Ch)Q.call(this,
new I("Collection"),{features:a});else if(a instanceof F)Q.call(this,a.c,a.m,a.v);else throw Error("Unrecognized argument type to convert to a FeatureCollection: "+a);};x(U,Q);w("ee.FeatureCollection",U);var Gh=!1,Fh=function(){Gh||(K(U,"FeatureCollection","FeatureCollection"),Gh=!0)};U.prototype.getMap=function(a,b){var c=M(U.prototype.getMap,arguments),d=cg("Collection.draw",{collection:this,color:(c.visParams||{}).color||"000000"});if(c.callback)d.getMap(null,c.callback);else return d.getMap()};
U.prototype.getMap=U.prototype.getMap;U.prototype.getInfo=U.prototype.S;U.prototype.ia=function(a,b,c,d){var e=M(U.prototype.ia,arguments),f={};f.table=this.u();e.format&&(f.format=e.format.toUpperCase());e.filename&&(f.filename=e.filename);if(e.selectors){var g=e.selectors;fa(g)&&(g=g.join(","));f.selectors=g}if(e.callback)wf(f,function(a,b){a?e.callback(xf(a)):e.callback(null,b)});else return xf(wf(f))};U.prototype.getDownloadURL=U.prototype.ia;
U.prototype.select=function(a,b){var c=arguments;return this.map(function(a){return a.select.apply(a,c)})};U.prototype.select=U.prototype.select;U.prototype.name=function(){return"FeatureCollection"};U.prototype.elementType=function(){return T};var V=function(a){if(!(this instanceof V))return G(V,arguments);if(a instanceof V)return a;Hh();var b=arguments.length;if(0==b||1==b&&!l(a))N.call(this,new I("Image.mask"),{image:new V(0),mask:new V(0)});else if(1==b)if(Vf(a))N.call(this,new I("Image.constant"),{value:a});else if(Wf(a))N.call(this,new I("Image.load"),{id:a});else{if(n(a))return Ih(Za(a,function(a){return new V(a)}));if(a instanceof F)"Array"==a.name()?N.call(this,new I("Image.constant"),{value:a}):N.call(this,a.c,a.m,a.v);else throw Error("Unrecognized argument type to convert to an Image: "+
a);}else if(2==b){var b=arguments[0],c=arguments[1];if(Wf(b)&&Vf(c))N.call(this,new I("Image.load"),{id:b,version:c});else throw Error("Unrecognized argument types to convert to an Image: "+arguments);}else throw Error("The Image constructor takes at most 2 arguments ("+b+" given)");};x(V,N);w("ee.Image",V);var Jh=!1,Hh=function(){Jh||(K(V,"Image","Image"),K(V,"Window","Image","focal_"),Jh=!0)};V.prototype.getInfo=V.prototype.S;
V.prototype.getMap=function(a,b){var c=M(V.prototype.getMap,arguments),d=c.visParams?Oa(c.visParams):{};d.image=this.u();if(c.callback)pf(d,u(function(a,b){a&&(a.image=this);c.callback(a,b)},this));else return d=pf(d),d.image=this,d};V.prototype.getMap=V.prototype.getMap;V.prototype.ia=function(a,b){var c=M(V.prototype.ia,arguments),d=c.params?Oa(c.params):{};d.image=this.u();if(c.callback){var e=c.callback;uf(d,function(a,b){a?e(vf(a)):e(null,b)})}else return vf(uf(d))};
V.prototype.getDownloadURL=V.prototype.ia;V.prototype.$b=function(a,b){var c=M(V.prototype.$b,arguments),d=c.params?Oa(c.params):{};d.image=this.u();if(d.region)if(n(d.region)||Xf(d.region))d.region=hd(d.region);else if(!p(d.region))throw Error("The region parameter must be an array or a GeoJSON object.");if(c.callback)sf(d,function(a,b){var d="";if(!l(b))try{d=tf(a)}catch(m){b=String(m.message)}c.callback(d,b)});else return tf(sf(d))};V.prototype.getThumbURL=V.prototype.$b;
var Kh=function(a,b,c){var d=M(Kh,arguments);return Ih([d.r,d.g,d.b],["vis-red","vis-green","vis-blue"])};V.rgb=Kh;var Lh=function(a){return Ih(Array.prototype.slice.call(arguments),null)};V.cat=Lh;var Ih=function(a,b){if(0==a.length)return J("Image.constant",[]);for(var c=new V(a[0]),d=1;d<a.length;d++)c=J("Image.addBands",c,a[d]);b&&(c=c.select([".*"],b));return c};
V.prototype.select=function(a){var b=Array.prototype.slice.call(arguments),c={input:this,bandSelectors:b[0]||[]};if(2<b.length||Wf(b[0])||Vf(b[0])){for(var d=0;d<b.length;d++)if(!(Wf(b[d])||Vf(b[d])||b[d]instanceof F))throw Error("Illegal argument to select(): "+b[d]);c.bandSelectors=b}else b[1]&&(c.newNames=b[1]);return cg("Image.select",c)};V.prototype.select=V.prototype.select;
V.prototype.Wb=function(a,b){var c=M(V.prototype.Wb,arguments),d=["DEFAULT_EXPRESSION_IMAGE"],e={DEFAULT_EXPRESSION_IMAGE:this};if(c.map){var f=c.map,g;for(g in f)d.push(g),e[g]=new V(f[g])}var m=J("Image.parseExpression",c.expression,"DEFAULT_EXPRESSION_IMAGE",d),c=new H;c.encode=function(a){return m.encode(a)};c.C=function(){return{name:"",args:Za(d,function(a){return{name:a,type:"Image",optional:!1}},this),returns:"Image"}};return c.apply(e)};V.prototype.expression=V.prototype.Wb;
V.prototype.clip=function(a){try{a=new S(a)}catch(b){}return J("Image.clip",this,a)};V.prototype.clip=V.prototype.clip;V.prototype.qd=function(a){var b;b=1!=arguments.length||Wf(arguments[0])?hb(arguments):arguments[0];return J("Image.rename",this,b)};V.prototype.rename=V.prototype.qd;V.prototype.name=function(){return"Image"};var W=function(a){if(!(this instanceof W))return G(W,arguments);if(a instanceof W)return a;if(1!=arguments.length)throw Error("The ImageCollection constructor takes exactly 1 argument ("+arguments.length+" given)");Mh();a instanceof V&&(a=[a]);if(Wf(a))Q.call(this,new I("ImageCollection.load"),{id:a});else if(n(a))Q.call(this,new I("ImageCollection.fromImages"),{images:Za(a,function(a){return new V(a)})});else if(a instanceof Ch)Q.call(this,new I("ImageCollection.fromImages"),{images:a});else if(a instanceof
F)Q.call(this,a.c,a.m,a.v);else throw Error("Unrecognized argument type to convert to an ImageCollection: "+a);};x(W,Q);w("ee.ImageCollection",W);var Nh=!1,Mh=function(){Nh||(K(W,"ImageCollection","ImageCollection"),K(W,"reduce","ImageCollection"),Nh=!0)};W.prototype.getMap=function(a,b){var c=M(W.prototype.getMap,arguments),d=J("ImageCollection.mosaic",this);if(c.callback)d.getMap(c.visParams,c.callback);else return d.getMap(c.visParams)};W.prototype.getMap=W.prototype.getMap;
W.prototype.getInfo=W.prototype.S;W.prototype.select=function(a,b){var c=arguments;return this.map(function(a){return a.select.apply(a,c)})};W.prototype.select=W.prototype.select;W.prototype.name=function(){return"ImageCollection"};W.prototype.elementType=function(){return V};var Oh={};w("ee.Terrain",Oh);Oh.cc=!1;Oh.Pd=function(){Oh.cc||(K(Oh,"Terrain","Terrain"),Oh.cc=!0)};Oh.reset=function(){L(Oh);Oh.cc=!1};var Uh=function(a,b,c,d,e){if("ready"!=Ph||a||b){var f=null!=c;if(d)if(f)Qh.push(d);else throw Error("Can't pass an error callback without a success callback.");if("loading"==Ph&&f)Rh.push(c);else if(Ph="loading",hf(a,b,e),f)Rh.push(c),fg(Sh,Th);else try{fg(),Sh()}catch(g){throw Th(g),g;}}else c&&c()};w("ee.initialize",Uh);
var Xh=function(){Ph="not_ready";gf=ff=df=null;ef=!1;dg=null;eg={};L(Vg);Xg=!1;L(ph);rh=!1;L(N);ng=!1;L(V);Jh=!1;L(T);th=!1;L(Q);Kg=!1;L(W);Nh=!1;L(U);Gh=!1;L(O);pg=!1;L(S);$g=!1;L(Ch);Eh=!1;L(Lg);Ng=!1;L(Og);Qg=!1;Oh.reset();for(var a=k.ee,b=0;b<Vh.length;b++){var c=Vh[b];L(a[c]);delete a[c]}Vh=[];Sf=a;var a=Wh,d;for(d in a)delete a[d]};w("ee.reset",Xh);var Yh={le:"not_ready",LOADING:"loading",me:"ready"};w("ee.InitState",Yh);w("ee.InitState.NOT_READY","not_ready");w("ee.InitState.LOADING","loading");
w("ee.InitState.READY","ready");var Ph="not_ready",Rh=[],Qh=[];w("ee.TILE_SIZE",256);var Vh=[],Wh={};w("ee.Algorithms",Wh);var Zh=function(a,b){p(a)&&(a=new I(a));return H.prototype.call.apply(a,Array.prototype.slice.call(arguments,1))};w("ee.call",Zh);var $h=function(a,b){p(a)&&(a=new I(a));return a.apply(b)};w("ee.apply",$h);
var Sh=function(){if("loading"==Ph){try{Wg();qh();mg();Hh();sh();Jg();Mh();Fh();og();Yg();Dh();Mg();Pg();Oh.Pd();var a=gg(),b={},c={},d;for(d in a){b[-1!=d.indexOf(".")?d.slice(0,d.indexOf(".")):d]=!0;var e=a[d].returns.replace(/<.*>/,"");c[e]=!0}var f=k.ee,g;for(g in b)g in c&&!(g in f)&&(f[g]=ai(g),Vh.push(g),a[g]?(f[g].signature=a[g],f[g].signature.isConstructor=!0,eg[g]=!0):f[g].signature={});Sf=f;bi()}catch(m){Th(m);return}Ph="ready";for(Qh=[];0<Rh.length;)Rh.shift()()}},Th=function(a){if("loading"==
Ph)for(Ph="not_ready",Rh=[];0<Qh.length;)Qh.shift()(a)},bi=function(){var a=hg();La(a).sort().forEach(function(b){var c=a[b],d=c.C();if(!d.hidden){b=b.split(".");var e=Wh;for(e.signature={};1<b.length;){var f=b[0];f in e||(e[f]={signature:{}});e=e[f];b=jb(b,1)}f=function(a){return ag(c,void 0,Array.prototype.slice.call(arguments,0))};f.signature=d;f.toString=u(c.toString,c);e[b[0]]=f}})},ai=function(a){var b=function(b){var c=k.ee[a],e=Array.prototype.slice.call(arguments),f=1==e.length;if(f&&e[0]instanceof
c)return e[0];if(!(this instanceof c))return G(c,e);var c=ig(a),g=!(e[0]instanceof F),m=!1;c&&(f?g?m=!0:e[0].c!=c&&(m=!0):m=!0);if(m)F.call(this,c,$f(c,Zf(c,e)));else{if(!f)throw Error("Too many arguments for ee."+a+"(): "+e);if(g)throw Error("Invalid argument for ee."+a+"(): "+e+". Must be a ComputedObject.");e=e[0];F.call(this,e.c,e.m,e.v)}};x(b,F);b.prototype.name=function(){return a};K(b,a,a);return b},Yf=function(a,b){if(null===a)return null;if(l(a)){var c=k.ee;switch(b){case "Image":return new V(a);
case "Feature":return a instanceof Q?J("Feature",J("Collection.geometry",a)):new T(a);case "Element":if(a instanceof N)return a;if(a instanceof S)return new T(a);if(a instanceof F)return new N(a.c,a.m,a.v);throw Error("Cannot convert "+a+" to Element.");case "Geometry":return a instanceof U?J("Collection.geometry",a):new S(a);case "FeatureCollection":case "Collection":return a instanceof Q?a:new U(a);case "ImageCollection":return new W(a);case "Filter":return new O(a);case "Algorithm":if(p(a))return new I(a);
if(r(a)){for(var c=a.length,d=[],e=0;e<c;e++)d[e]="Object";return Ug(a,d)}if(a instanceof Gf)return a;throw Error("Argument is not a function: "+a);case "String":return Wf(a)||a instanceof Og||a instanceof F?new Og(a):a;case "Dictionary":return Xf(a)?a:new ph(a);case "List":return new Ch(a);case "Number":case "Float":case "Long":case "Integer":case "Short":case "Byte":return new Lg(a);default:if(b in c){d=ig(b);if(a instanceof c[b])return a;if(d)return new c[b](a);if(p(a)){if(a in c[b])return c[b][a].call();
throw Error("Unknown algorithm: "+b+"."+a);}return new c[b](a)}return a}}};var ci=function(a,b,c){tc.call(this,a,b,c);this.tileSize=new google.maps.Size(256,256);this.Nc=new kc;this.Mc=new kc};x(ci,tc);w("ee.FloatTileOverlay",ci);ci.prototype.getTile=function(a,b){var c=uc(this,a,b),d=[this.url,c].join("/")+"?token="+this.Bb,c=[c,this.Da,this.Bb].join("/");this.na.push(c);this.Da+=1;var e=td("DIV");di(this,d,a,c,e);this.Ja();return e};
var di=function(a,b,c,d,e){var f=B();f.open("GET",b,!0);f.responseType="arraybuffer";f.onreadystatechange=u(function(){if(f.readyState===XMLHttpRequest.DONE&&200===f.status){var a=f.response;if(a)a=new Float32Array(a),this.Nc.set(c,a),this.Mc.set(c,e),fb(this.na,d),this.Ja();else throw this.pc.add(d),Error("Unable to request floating point array buffers.");}},a);f.send()};ci.prototype.Ja=function(){this.dispatchEvent(new vc(this.na.length))};ci.prototype.l=function(){this.Mc=this.Nc=null;ci.w.l.call(this)};var ei=function(a,b){z(a);var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity="+100*Number(b)+")")};var fi=function(a){y.call(this);this.ja=a;this.h={}};x(fi,y);var gi=[];fi.prototype.Sa=function(a,b,c,d){n(b)||(b&&(gi[0]=b.toString()),b=gi);for(var e=0;e<b.length;e++){var f=Qb(a,b[e],c||this.handleEvent,d||!1,this.ja||this);if(!f)break;this.h[f.key]=f}return this};fi.prototype.rb=function(a,b,c,d){return hi(this,a,b,c,d)};var hi=function(a,b,c,d,e,f){if(n(c))for(var g=0;g<c.length;g++)hi(a,b,c[g],d,e,f);else{b=Xb(b,c,d||a.handleEvent,e,f||a.ja||a);if(!b)return a;a.h[b.key]=b}return a};
fi.prototype.Gb=function(a,b,c,d,e){if(n(b))for(var f=0;f<b.length;f++)this.Gb(a,b[f],c,d,e);else c=c||this.handleEvent,e=e||this.ja||this,c=Rb(c),d=!!d,b=Gb(a)?a.La(b,c,d,e):a?(a=Tb(a))?a.La(b,c,d,e):null:null,b&&(Zb(b),delete this.h[b.key]);return this};fi.prototype.Ta=function(){Ha(this.h,function(a,b){this.h.hasOwnProperty(b)&&Zb(a)},this);this.h={}};fi.prototype.l=function(){fi.w.l.call(this);this.Ta()};
fi.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};var ii=function(a){cc.call(this);this.Pa={};this.Oa={};this.ja=new fi(this);this.j=a};x(ii,cc);var ji=[pb&&!zb("11")?"readystatechange":"load","abort","error"],ki=function(a,b){delete a.Pa[b];var c=a.Oa[b];c&&(delete a.Oa[b],a.ja.Gb(c,ji,a.kd),Ma(a.Oa)&&Ma(a.Pa)&&a.dispatchEvent("complete"))};
ii.prototype.start=function(){var a=this.Pa;Xa(La(a),function(b){var c=a[b];if(c&&(delete a[b],!this.aa)){var d;this.j?(d=this.j,d=(d?new yd(xd(d)):oa||(oa=new yd)).Id("IMG")):d=new Image;c.Cc&&(d.crossOrigin=c.Cc);this.ja.Sa(d,ji,this.kd);this.Oa[b]=d;d.id=b;d.src=c.src}},this)};
ii.prototype.kd=function(a){var b=a.currentTarget;if(b){if("readystatechange"==a.type)if("complete"==b.readyState)a.type="load";else return;"undefined"==typeof b.naturalWidth&&("load"==a.type?(b.naturalWidth=b.width,b.naturalHeight=b.height):(b.naturalWidth=0,b.naturalHeight=0));this.dispatchEvent({type:a.type,target:b});this.aa||ki(this,b.id)}};ii.prototype.l=function(){delete this.Pa;delete this.Oa;var a=this.ja;a&&"function"==typeof a.O&&a.O();ii.w.l.call(this)};var li=function(){this.K=[];this.N=[]};h=li.prototype;h.enqueue=function(a){this.N.push(a)};h.Ia=function(){0==this.K.length&&(this.K=this.N,this.K.reverse(),this.N=[]);return this.K.pop()};h.B=function(){return this.K.length+this.N.length};h.isEmpty=function(){return 0==this.K.length&&0==this.N.length};h.clear=function(){this.K=[];this.N=[]};h.contains=function(a){return 0<=Va(this.K,a)||0<=Va(this.N,a)};
h.remove=function(a){var b;b=this.K;var c=Wa(b,a);0<=c?(eb(b,c),b=!0):b=!1;return b||fb(this.N,a)};h.s=function(){for(var a=[],b=this.K.length-1;0<=b;--b)a.push(this.K[b]);for(var c=this.N.length,b=0;b<c;++b)a.push(this.N[b]);return a};var mi=function(a,b){y.call(this);this.dd=a||0;this.sb=b||10;if(this.dd>this.sb)throw Error("[goog.structs.Pool] Min can not be greater than max");this.R=new li;this.ca=new pc;this.Sb=0;this.ec=null;this.Za()};x(mi,y);h=mi.prototype;h.kb=function(){var a=la();if(!(null!=this.ec&&a-this.ec<this.Sb)){for(var b;0<this.R.B()&&(b=this.R.Ia(),!this.hc(b));)this.Za();!b&&this.B()<this.sb&&(b=this.Rb());b&&(this.ec=a,this.ca.add(b));return b}};
h.Lb=function(a){this.ca.remove(a);this.hc(a)&&this.B()<this.sb?this.R.enqueue(a):this.eb(a)};h.Za=function(){for(var a=this.R;this.B()<this.dd;)a.enqueue(this.Rb());for(;this.B()>this.sb&&0<this.R.B();)this.eb(a.Ia())};h.Rb=function(){return{}};h.eb=function(a){if("function"==typeof a.O)a.O();else for(var b in a)a[b]=null};h.hc=function(a){return"function"==typeof a.Fd?a.Fd():!0};h.contains=function(a){return this.R.contains(a)||this.ca.contains(a)};h.B=function(){return this.R.B()+this.ca.B()};
h.isEmpty=function(){return this.R.isEmpty()&&this.ca.isEmpty()};h.l=function(){mi.w.l.call(this);if(0<this.ca.B())throw Error("[goog.structs.Pool] Objects not released");delete this.ca;for(var a=this.R;!a.isEmpty();)this.eb(a.Ia());delete this.R};var oi=function(a,b){this.$c=a;this.tc=b};oi.prototype.getKey=function(){return this.$c};oi.prototype.clone=function(){return new oi(this.$c,this.tc)};var pi=function(a){this.M=[];if(a)a:{var b;if(a instanceof pi){if(b=a.L(),a=a.s(),0>=this.B()){for(var c=this.M,d=0;d<b.length;d++)c.push(new oi(b[d],a[d]));break a}}else b=La(a),a=Ka(a);for(d=0;d<b.length;d++)qi(this,b[d],a[d])}},qi=function(a,b,c){var d=a.M;d.push(new oi(b,c));b=d.length-1;a=a.M;for(c=a[b];0<b;)if(d=b-1>>1,a[d].getKey()>c.getKey())a[b]=a[d],b=d;else break;a[b]=c};h=pi.prototype;
h.remove=function(){var a=this.M,b=a.length,c=a[0];if(!(0>=b)){if(1==b)db(a);else{a[0]=a.pop();for(var a=0,b=this.M,d=b.length,e=b[a];a<d>>1;){var f=2*a+1,g=2*a+2,f=g<d&&b[g].getKey()<b[f].getKey()?g:f;if(b[f].getKey()>e.getKey())break;b[a]=b[f];a=f}b[a]=e}return c.tc}};h.s=function(){for(var a=this.M,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].tc);return b};h.L=function(){for(var a=this.M,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].getKey());return b};
h.$=function(a){return $a(this.M,function(b){return b.getKey()==a})};h.clone=function(){return new pi(this)};h.B=function(){return this.M.length};h.isEmpty=function(){return 0==this.M.length};h.clear=function(){db(this.M)};var ri=function(){pi.call(this)};x(ri,pi);ri.prototype.enqueue=function(a,b){qi(this,a,b)};ri.prototype.Ia=function(){return this.remove()};var si=function(a,b){this.Fc=void 0;this.xb=new ri;mi.call(this,a,b)};x(si,mi);h=si.prototype;h.kb=function(a,b){if(!a){var c=si.w.kb.call(this);c&&this.Sb&&(this.Fc=k.setTimeout(u(this.mb,this),this.Sb));return c}this.xb.enqueue(l(b)?b:100,a);this.mb()};h.mb=function(){for(var a=this.xb;0<a.B();){var b=this.kb();if(b)a.Ia().apply(this,[b]);else break}};h.Lb=function(a){si.w.Lb.call(this,a);this.mb()};h.Za=function(){si.w.Za.call(this);this.mb()};
h.l=function(){si.w.l.call(this);k.clearTimeout(this.Fc);this.xb.clear();this.xb=null};var X=function(){cc.call(this);this.Cb=new ti(0,4);this.Ba=new kc};x(X,cc);w("ee.MapTileManager",X);X.Pc=function(){return X.Vc?X.Vc:X.Vc=new X};X.prototype.send=function(a,b,c,d,e){if(this.Ba.get(a))throw Error("[ee.MapTileManager] ID in use");b=new ui(a,b,d,u(this.pd,this),l(e)?e:1);this.Ba.set(a,b);a=u(this.Md,this,b);this.Cb.kb(a,c);return b};X.prototype.abort=function(a){if(a=this.Ba.get(a))a.ra||(a.ra=!0,a.ga=new ma("abort")),this.pd(a)};
X.prototype.Md=function(a,b){if(a.ba||a.ra)vi(this,b);else{a.wd=b;b.setActive(!0);var c=new ii;a.ba=c;if(!wi(a))throw Error("Cannot dispatch first request!");}};X.prototype.pd=function(a){this.Ba.remove(a.W);a.ba&&(vi(this,a.wd),a.ba.O());a.ac&&a.ac(a.ga,a.od)};var vi=function(a,b){b.setActive(!1);var c;c=a.Cb;c.ca.remove(b)?(c.Lb(b),c=!0):c=!1;if(!c)throw Error("Object not released");};
X.prototype.l=function(){X.w.l.call(this);this.Cb.O();this.Cb=null;var a=this.Ba;Xa(a.s(),function(a){a.O()});a.clear();this.Ba=null};var ui=function(a,b,c,d,e){y.call(this);this.W=a;this.ie=b;this.Vd=l(e)?e:1;this.ac=c;this.ma=d};x(ui,y);h=ui.prototype;h.xc=0;h.ra=!1;h.ba=null;h.wd=null;h.ga=null;h.od=null;var xi=["load","abort","error"];ui.prototype.getUrl=function(){return this.ie};
ui.prototype.Od=function(a){if(this.ra)this.ma&&this.ma(this);else switch(a.type){case "load":this.ga=a;this.ma&&this.ma(this);break;case "error":case "abort":wi(this)||(this.ga=a,this.ma&&this.ma(this))}};ui.prototype.l=function(){ui.w.l.call(this);delete this.ac;delete this.ma};var wi=function(a){if(a.xc>a.Vd)return!1;a.xc++;ki(a.ba,a.W);setTimeout(u(a.de,a),0);return!0};
ui.prototype.de=function(){if(!this.ra){var a=u(function(a){this.ra||((a=p(a)?a:a.src)&&(this.ba.Pa[this.W]={src:a,Cc:l(void 0)?void 0:null}),Xb(this.ba,xi,u(this.Od,this)),this.ba.start())},this),b=this.getUrl();if(Ke(b).T.$("profiling")){var c=new C;c.Ua="blob";c.Sa("complete",u(function(){this.od=c.getResponseHeader("X-Earth-Engine-Computation-Profile")||null;var d;if(200<=c.getStatus()&&300>c.getStatus())try{d=URL.createObjectURL(we(c))}catch(e){}a(d||b)},this));c.rb("ready",u(c.O,c));c.send(b,
"GET")}else a(b)}};var yi=function(){this.J=!1};x(yi,y);yi.prototype.setActive=function(a){this.J=a};yi.prototype.Xc=function(){return this.J};var ti=function(a,b){si.call(this,a,b)};x(ti,si);ti.prototype.Rb=function(){return new yi};ti.prototype.eb=function(a){a.O()};ti.prototype.hc=function(a){return!a.aa&&!a.Xc()};var Z=function(a,b,c,d,e){tc.call(this,a,b,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.Yc=l(d.Yc)?d.Yc:!0;this.name=d.name;this.qc=new pc;this.ic=1;this.ya=e||null};x(Z,tc);w("ee.MapLayerOverlay",Z);Z.prototype.Bd=function(a){return Qb(this,"tileevent",a)};Z.prototype.addTileCallback=Z.prototype.Bd;Z.prototype.be=function(a){Zb(a)};
Z.prototype.removeTileCallback=Z.prototype.be;Z.prototype.Ja=function(){this.dispatchEvent(new vc(this.na.length))};
Z.prototype.getTile=function(a,b,c){if(b<this.minZoom||0>a.y||a.y>=1<<b)return a=c.createElement("IMG"),a.style.width="0px",a.style.height="0px",a;b=uc(this,a,b);a=[this.url,b].join("/")+"?token="+this.Bb;this.ya&&this.ya.isEnabled()&&(a+="&profiling=1");b=[b,this.Da,this.Bb].join("/");this.Da+=1;c=td("DIV",{id:b});var d=(new Date).getTime()/1E3;this.na.push(b);X.Pc().send(b,a,d,u(this.Nd,this,c,b));this.Ja();return c};
Z.prototype.releaseTile=function(a){X.Pc().abort(a.id);this.qc.remove(l(a.firstElementChild)?a.firstElementChild:wd(a.firstChild));""!==a.id&&(this.pc.remove(a.id),this.ya&&this.ya.re(a.id))};Z.prototype.setOpacity=function(a){this.ic=a;var b=this.qc.qa();jc(b,function(b){ei(b,a)})};Z.prototype.getTile=Z.prototype.getTile;Z.prototype.setOpacity=Z.prototype.setOpacity;Z.prototype.releaseTile=Z.prototype.releaseTile;
Z.prototype.Nd=function(a,b,c,d){"error"==c.type?(fb(this.na,b),this.pc.add(b),this.dispatchEvent(c)):(fb(this.na,b),c.target&&"load"==c.type&&(c=c.target,this.qc.add(c),1!=this.ic&&ei(c,this.ic),a.appendChild(c)),this.Ja());this.ya&&null!==d&&this.ya.oe(b,d)};var zi=function(a,b){if(!(this instanceof zi))return new zi(a,b);this.wa=a;this.ea=b};x(zi,H);w("ee.SavedFunction",zi);zi.prototype.encode=function(a){return J("LoadAlgorithmById",this.wa).encode(a)};zi.prototype.C=function(){return this.ea};(function(){k.Ga={};var a="ee.Image.prototype.clip ee.Filter.prototype.starts_with ee.data.getThumbId ee.Filter.prototype.not_starts_with ee.data.authenticate ee.Filter.metadata ee.Serializer.encode ee.Serializer.toJSON ee.Filter.not_starts_with ee.Filter.and ee.Filter.inList ee.Filter.prototype.eq ee.Geometry.MultiPoint ee.Collection.prototype.filterMetadata ee.data.getInfo ee.Filter.prototype.neq ee.Filter.eq ee.Filter.not_contains ee.data.getTileBaseUrl ee.Dictionary ee.Filter.bounds ee.FeatureCollection.prototype.getDownloadURL ee.FeatureCollection.prototype.select ee.String ee.Filter.lte ee.call ee.Image.cat ee.ImageCollection ee.data.getAuthToken ee.data.getMapId ee.Collection.prototype.limit ee.ImageCollection.prototype.select ee.Filter.gt ee.Filter.starts_with ee.initialize ee.Collection.prototype.iterate ee.Algorithms ee.Geometry.LinearRing ee.Image.prototype.getThumbURL ee.Filter.prototype.date ee.Filter.prototype.contains ee.Filter.prototype.lt ee.ComputedObject.prototype.getInfo ee.ImageCollection.prototype.getMap ee.data.getXsrfToken ee.Geometry ee.Collection.prototype.sort ee.reset ee.data.getDownloadId ee.Serializer.toReadableJSON ee.data.getList ee.apply ee.ComputedObject.prototype.evaluate ee.data.getTableDownloadId ee.Feature.MultiPoint ee.Geometry.Point ee.Geometry.MultiLineString ee.Feature.Rectangle ee.Feature.prototype.getMap ee.data.getValue ee.Deserializer.fromJSON ee.Function.prototype.apply ee.Feature.Polygon ee.Filter.neq ee.Date ee.Geometry.prototype.toGeoJSON ee.List ee.Filter.prototype.and ee.ComputedObject.prototype.serialize ee.Filter.lt ee.Image.prototype.expression ee.data.getAuthScopes ee.data.makeDownloadUrl ee.Filter.contains ee.Geometry.Rectangle ee.Feature ee.Collection.prototype.filter ee.ApiFunction._apply ee.Filter.prototype.gte ee.Feature.LinearRing ee.data.makeTableDownloadUrl ee.Image.prototype.select ee.ImageCollection.prototype.getInfo ee.Image.prototype.getDownloadURL ee.FeatureCollection.prototype.getMap ee.Collection.prototype.filterDate ee.Collection.prototype.filterBounds ee.data.setAuthTokenRefresher ee.Number ee.Filter.ends_with ee.data.setDeadline ee.Filter.prototype.not ee.Geometry.LineString ee.Filter ee.Feature.prototype.getInfo ee.data.makeThumbUrl ee.data.getApiBaseUrl ee.Image.prototype.getMap ee.ComputedObject.prototype.aside ee.Filter.prototype.bounds ee.Filter.prototype.gt ee.Feature.MultiPolygon ee.Filter.prototype.not_contains ee.Image.prototype.getInfo ee.Filter.prototype.length ee.ApiFunction.lookup ee.Filter.prototype.not_ends_with ee.Geometry.prototype.serialize ee.data.clearAuthToken ee.TILE_SIZE ee.data.authenticateViaPopup ee.Filter.not_ends_with ee.Filter.gte ee.Element.prototype.set ee.Image ee.FeatureCollection.prototype.getInfo ee.Feature.MultiLine ee.ApiFunction._call ee.Geometry.MultiPolygon ee.Terrain ee.Image.rgb ee.Filter.date ee.Filter.prototype.inList ee.data.setAuthToken ee.Feature.Point ee.Collection.prototype.map ee.Geometry.prototype.toGeoJSONString ee.Filter.prototype.lte ee.data.getTileUrl ee.Filter.or ee.InitState ee.data.getAuthClientId ee.FeatureCollection ee.Image.prototype.rename ee.Geometry.Polygon ee.Function.prototype.call ee.Deserializer.decode ee.Feature.LineString ee.Filter.prototype.ends_with".split(" "),
b=[["geometry"],["var_args"],["params","opt_callback"],["var_args"],["clientId","success","opt_error","opt_extraScopes","opt_onImmediateFailed"],["name","operator","value"],["obj","opt_isCompound"],["obj"],["name","value"],["var_args"],["opt_leftField","opt_rightValue","opt_rightField","opt_leftValue"],["var_args"],["coords","opt_proj"],["name","operator","value"],["id","opt_callback"],["var_args"],["name","value"],["name","value"],[],["opt_dict"],["geometry","opt_errorMargin"],["opt_format","opt_selectors",
"opt_filename","opt_callback"],["selectors","opt_names"],["string"],["name","value"],["func","var_args"],["var_args"],["args"],[],["params","opt_callback"],["max","opt_property","opt_ascending"],["selectors","opt_names"],["name","value"],["name","value"],["opt_baseurl","opt_tileurl","opt_successCallback","opt_errorCallback","opt_xsrfToken"],["algorithm","opt_first"],[],["coords","opt_proj","opt_geodesic","opt_maxError"],["params","opt_callback"],["var_args"],["var_args"],["var_args"],["opt_callback"],
["opt_visParams","opt_callback"],[],["geoJson","opt_proj","opt_geodesic","opt_evenOdd"],["property","opt_ascending"],[],["params","opt_callback"],["obj"],["params","opt_callback"],["func","namedArgs"],["callback"],["params","opt_callback"],["coordinates"],["coords","opt_proj"],["coords","opt_proj","opt_geodesic","opt_maxError"],["lon1","lat1","lon2","lat2"],["opt_visParams","opt_callback"],["params","opt_callback"],["json"],["namedArgs"],["coordinates"],["name","value"],["date","opt_tz"],[],["list"],
["var_args"],[],["name","value"],["expression","opt_map"],[],["id"],["name","value"],["coords","opt_proj","opt_geodesic","opt_maxError","opt_evenOdd"],["geometry","opt_properties"],["newFilter"],["name","namedArgs"],["var_args"],["coordinates"],["id"],["var_args"],["opt_callback"],["params","opt_callback"],["opt_visParams","opt_callback"],["start","opt_end"],["geometry"],["refresher"],["number"],["name","value"],["milliseconds"],[],["coords","opt_proj","opt_geodesic","opt_maxError"],["opt_filter"],
["opt_callback"],["id"],[],["opt_visParams","opt_callback"],["func","var_args"],["var_args"],["var_args"],["coordinates"],["var_args"],["opt_callback"],[],["name"],["var_args"],[],[],[],["opt_success","opt_error"],["name","value"],["name","value"],["var_args"],["opt_args"],["opt_callback"],["coordinates"],["name","var_args"],["coords","opt_proj","opt_geodesic","opt_maxError","opt_evenOdd"],[],["r","g","b"],["start","opt_end"],["var_args"],"clientId tokenType accessToken expiresIn opt_extraScopes opt_callback opt_updateAuthLibrary".split(" "),
["lon","lat"],["algorithm","opt_dropNulls"],[],["var_args"],["mapid","x","y","z"],["var_args"],[],[],["args","opt_column"],["var_args"],["coords","opt_proj","opt_geodesic","opt_maxError","opt_evenOdd"],["var_args"],["json"],["coordinates"],["var_args"]];Xa([V.prototype.clip,O.prototype.vd,sf,O.prototype.hd,Ue,Cg,Of,Pf,Gg,xg,Ag,O.prototype.Hc,dh,Q.prototype.Yb,Cf,O.prototype.ed,rg,Eg,nf,ph,Bg,U.prototype.ia,U.prototype.select,Og,wg,Zh,Lh,W,af,pf,Q.prototype.limit,W.prototype.select,vg,Fg,Uh,Q.prototype.Zc,
Wh,gh,V.prototype.$b,O.prototype.Dc,O.prototype.contains,O.prototype.bd,F.prototype.S,W.prototype.getMap,of,S,Q.prototype.sort,Xh,uf,Qf,Df,$h,F.prototype.evaluate,wf,vh,ah,hh,wh,T.prototype.getMap,rf,nh,H.prototype.apply,Ah,sg,Vg,S.prototype.rc,Ch,O.prototype.vc,F.prototype.u,tg,V.prototype.Wb,cf,vf,Dg,eh,T,Q.prototype.filter,cg,O.prototype.Rc,yh,xf,V.prototype.select,W.prototype.S,V.prototype.ia,U.prototype.getMap,Q.prototype.Xb,Q.prototype.Kc,Ye,Lg,Hg,kf,O.prototype.X,fh,O,T.prototype.S,tf,mf,V.prototype.getMap,
F.prototype.wc,O.prototype.bounds,O.prototype.Qc,Bh,O.prototype.fd,V.prototype.S,O.prototype.length,bg,O.prototype.gd,S.prototype.u,$e,256,Te,Ig,ug,N.prototype.set,V,U.prototype.S,zh,J,jh,Oh,Kh,zg,O.prototype.Uc,We,uh,Q.prototype.map,S.prototype.sc,O.prototype.cd,qf,yg,Yh,bf,U,V.prototype.qd,ih,H.prototype.call,mh,xh,O.prototype.Gc],function(c,d){c&&(k.Ga[c.toString()]={name:a[d],paramNames:b[d]})})})();})();