Matt Hancher bab1009105 v0.1.99
2016-10-28 11:24:35 -07:00

222 lines
118 KiB
JavaScript

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