// All material copyright ESRI, All Rights Reserved, unless otherwise specified.
// See http://js.arcgis.com/4.2/esri/copyright.txt for details.
//>>built
(function(e,k){var n,h=function(){},d=function(g){for(var p in g)return 0;return 1},b={}.toString,l=function(g){return"[object Function]"==b.call(g)},f=function(g){return"[object String]"==b.call(g)},c=function(g){return"[object Array]"==b.call(g)},a=function(g,p){if(g)for(var a=0;a<g.length;)p(g[a++])},s=function(g,p){for(var a in p)g[a]=p[a];return g},t=function(g,p){return s(Error(g),{src:"dojoLoader",info:p})},v=1,u=function(){return"_"+v++},q=function(g,p,a){return ba(g,p,a,0,q)},r=this,m=r.document,
w=m&&m.createElement("DiV"),x=q.has=function(p){return l(g[p])?g[p]=g[p](r,m,w):g[p]},g=x.cache=k.hasCache;x.add=function(p,a,m,b){(void 0===g[p]||b)&&(g[p]=a);return m&&x(p)};x.add("host-webworker","undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope);x("host-webworker")&&(s(k.hasCache,{"host-browser":0,dom:0,"dojo-dom-ready-api":0,"dojo-sniff":0,"dojo-inject-api":1,"host-webworker":1,"dojo-guarantee-console":0}),k.loaderPatch={injectUrl:function(g,p){try{importScripts(g),p()}catch(a){console.info("failed to load resource ("+
g+")"),console.error(a)}}});for(var p in e.has)x.add(p,e.has[p],0,1);q.async=1;var z=x("csp-restrictions")?function(){}:new Function("return eval(arguments[0]);");q.eval=function(g,p){return z(g+"\r\n//# sourceURL\x3d"+p)};var y={},C=q.signal=function(g,p){var m=y[g];a(m&&m.slice(0),function(g){g.apply(null,c(p)?p:[p])})},A=q.on=function(g,p){var a=y[g]||(y[g]=[]);a.push(p);return{remove:function(){for(var g=0;g<a.length;g++)if(a[g]===p){a.splice(g,1);break}}}},B=[],K={},F=[],G={},P=q.map={},Q=[],
H={},D="",L={},E={};p={};var I=0,R=function(g){var p,a,m,b;for(p in E)a=E[p],(m=p.match(/^url\:(.+)/))?L["url:"+Sa(m[1],g)]=a:"*now"==p?b=a:"*noref"!=p&&(m=Ea(p,g,!0),L[m.mid]=L["url:"+m.url]=a);b&&b(qa(g));E={}},V=function(g){return g.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,function(g){return"\\"+g})},N=function(g,p){p.splice(0,p.length);for(var a in g)p.push([a,g[a],RegExp("^"+V(a)+"(/|$)"),a.length]);p.sort(function(g,p){return p[3]-g[3]});return p},M=function(g,p){a(g,function(g){p.push([f(g[0])?
RegExp("^"+V(g[0])+"$"):g[0],g[1]])})},T=function(g){var p=g.name;p||(p=g,g={name:p});g=s({main:"main"},g);g.location=g.location?g.location:p;g.packageMap&&(P[p]=g.packageMap);g.main.indexOf("./")||(g.main=g.main.substring(2));G[p]=g},U=[],W=function(p,m,b){for(var c in p){"waitSeconds"==c&&(q.waitms=1E3*(p[c]||0));"cacheBust"==c&&(D=p[c]?f(p[c])?p[c]:(new Date).getTime()+"":"");if("baseUrl"==c||"combo"==c)q[c]=p[c];p[c]!==g&&(q.rawConfig[c]=p[c],"has"!=c&&x.add("config-"+c,p[c],0,m))}q.baseUrl||
(q.baseUrl="./");/\/$/.test(q.baseUrl)||(q.baseUrl+="/");for(c in p.has)x.add(c,p.has[c],0,m);a(p.packages,T);for(var r in p.packagePaths)a(p.packagePaths[r],function(g){var p=r+"/"+g;f(g)&&(g={name:g});g.location=p;T(g)});N(s(P,p.map),Q);a(Q,function(g){g[1]=N(g[1],[]);"*"==g[0]&&(Q.star=g)});N(s(K,p.paths),F);M(p.aliases,B);if(m)U.push({config:p.config});else for(c in p.config)m=Ha(c,b),m.config=s(m.config||{},p.config[c]);p.cache&&(R(),E=p.cache,p.cache["*noref"]&&R());C("config",[p,q.rawConfig])};
if(x("dojo-cdn")){var X=m.getElementsByTagName("script");n=0;for(var O,S,ea,Y;n<X.length;){O=X[n++];if((ea=O.getAttribute("src"))&&(Y=ea.match(/(((.*)\/)|^)dojo\.js(\W|$)/i)))S=Y[3]||"",k.baseUrl=k.baseUrl||S,I=O;if(ea=O.getAttribute("data-dojo-config")||O.getAttribute("djConfig"))p=q.eval("({ "+ea+" })","data-dojo-config"),I=O}}q.rawConfig={};W(k,1);x("dojo-cdn")&&((G.dojo.location=S)&&(S+="/"),G.dijit.location=S+"../dijit/",G.dojox.location=S+"../dojox/");W(e,1);W(p,1);var ca=function(g){oa(function(){a(g.deps,
ib)})},ba=function(g,p,a,m,b){var r;if(f(g)){if((r=Ha(g,m,!0))&&r.executed)return r.result;throw t("undefinedModule",g);}c(g)||(W(g,0,m),g=p,p=a);if(c(g))if(g.length){a="require*"+u();for(var z,d=[],w=0;w<g.length;)z=g[w++],d.push(Ha(z,m));r=s(ja("",a,0,""),{injected:2,deps:d,def:p||h,require:m?m.require:q,gc:1});H[r.mid]=r;ca(r);var x=da&&0!="sync";oa(function(){Oa(r,x)});r.executed||ka.push(r);J()}else p&&p();return b},qa=function(g){if(!g)return q;var p=g.require;p||(p=function(a,m,b){return ba(a,
m,b,g,p)},g.require=s(p,q),p.module=g,p.toUrl=function(p){return Sa(p,g)},p.toAbsMid=function(p){return Na(p,g)});return p},ka=[],ra=[],sa={},pa=function(g){g.injected=1;sa[g.mid]=1;g.url&&(sa[g.url]=g.pack||1);nb()},ya=function(g){g.injected=2;delete sa[g.mid];g.url&&delete sa[g.url];d(sa)&&gb()},wa=q.idle=function(){return!ra.length&&d(sa)&&!ka.length&&!da},ua=function(g,p){if(p)for(var a=0;a<p.length;a++)if(p[a][2].test(g))return p[a];return 0},ta=function(g){var p=[],a,m;for(g=g.replace(/\\/g,
"/").split("/");g.length;)a=g.shift(),".."==a&&p.length&&".."!=m?(p.pop(),m=p[p.length-1]):"."!=a&&p.push(m=a);return p.join("/")},ja=function(g,p,a,m){return{pid:g,mid:p,pack:a,url:m,executed:0,def:0}},za=function(g,p,m,b,c,f,r,s,q){var u,z,d,w;w=/^\./.test(g);if(/(^\/)|(\:)|(\.js$)/.test(g)||w&&!p)return ja(0,g,0,g);g=ta(w?p.mid+"/../"+g:g);if(/^\./.test(g))throw t("irrationalPath",g);p&&(d=ua(p.mid,f));(d=(d=d||f.star)&&ua(g,d[1]))&&(g=d[1]+g.substring(d[3]));p=(Y=g.match(/^([^\/]+)(\/(.+))?$/))?
Y[1]:"";(u=m[p])?g=p+"/"+(z=Y[3]||u.main):p="";var x=0;a(s,function(p){var a=g.match(p[0]);a&&0<a.length&&(x=l(p[1])?g.replace(p[0],p[1]):p[1])});if(x)return za(x,0,m,b,c,f,r,s,q);if(m=b[g])return q?ja(m.pid,m.mid,m.pack,m.url):b[g];b=(d=ua(g,r))?d[1]+g.substring(d[3]):p?u.location+"/"+z:g;/(^\/)|(\:)/.test(b)||(b=c+b);return ja(p,g,u,ta(b+".js"))},Ea=function(g,p,a){return za(g,p,G,H,q.baseUrl,a?[]:Q,a?[]:F,a?[]:B)},Aa=function(g,p,a){return g.normalize?g.normalize(p,function(g){return Na(g,a)}):
Na(p,a)},aa=0,Ha=function(g,p,a){var m,b;(m=g.match(/^(.+?)\!(.*)$/))?(b=Ha(m[1],p,a),5===b.executed&&!b.load&&ia(b),b.load?(m=Aa(b,m[2],p),g=b.mid+"!"+(b.dynamic?++aa+"!":"")+m):(m=m[2],g=b.mid+"!"+ ++aa+"!waitingForPlugin"),g={plugin:b,mid:g,req:qa(p),prid:m}):g=Ea(g,p);return H[g.mid]||!a&&(H[g.mid]=g)},Na=q.toAbsMid=function(g,p){return Ea(g,p).mid},Sa=q.toUrl=function(g,p){var a=Ea(g+"/x",p),m=a.url;return la(0===a.pid?g:m.substring(0,m.length-5))},Qa={injected:2,executed:5,def:3,result:3};S=
function(g){return H[g]=s({mid:g},Qa)};var Pa=S("require"),Ta=S("exports"),Z=S("module"),Ca={},Ia=0,ia=function(g){var p=g.result;g.dynamic=p.dynamic;g.normalize=p.normalize;g.load=p.load;return g},Ma=function(g){var p={};a(g.loadQ,function(a){var m=Aa(g,a.prid,a.req.module),b=g.dynamic?a.mid.replace(/waitingForPlugin$/,m):g.mid+"!"+m,m=s(s({},a),{mid:b,prid:m,injected:0});if(!H[b]||!H[b].injected)na(H[b]=m);p[a.mid]=H[b];ya(a);delete H[a.mid]});g.loadQ=0;var m=function(g){for(var a=g.deps||[],m=
0;m<a.length;m++)(g=p[a[m].mid])&&(a[m]=g)},b;for(b in H)m(H[b]);a(ka,m)},Fa=function(g){q.trace("loader-finish-exec",[g.mid]);g.executed=5;g.defOrder=Ia++;g.loadQ&&(ia(g),Ma(g));for(n=0;n<ka.length;)ka[n]===g?ka.splice(n,1):n++;/^require\*/.test(g.mid)&&delete H[g.mid]},ma=[],Oa=function(g,p){if(4===g.executed)return q.trace("loader-circular-dependency",[ma.concat(g.mid).join("-\x3e")]),!g.def||p?Ca:g.cjs&&g.cjs.exports;if(!g.executed){if(!g.def)return Ca;var a=g.mid,m=g.deps||[],b,c=[],f=0;for(g.executed=
4;b=m[f++];){b=b===Pa?qa(g):b===Ta?g.cjs.exports:b===Z?g.cjs:Oa(b,p);if(b===Ca)return g.executed=0,q.trace("loader-exec-module",["abort",a]),Ca;c.push(b)}q.trace("loader-run-factory",[g.mid]);a=g.def;c=l(a)?a.apply(null,c):a;g.result=void 0===c&&g.cjs?g.cjs.exports:c;Fa(g)}return g.result},da=0,oa=function(g){try{da++,g()}catch(p){throw p;}finally{da--}wa()&&C("idle",[])},J=function(){da||oa(function(){for(var g,p,a=0;a<ka.length;)g=Ia,p=ka[a],Oa(p),g!=Ia?a=0:a++})};void 0===x("dojo-loader-eval-hint-url")&&
x.add("dojo-loader-eval-hint-url",1);var la="function"==typeof e.fixupUrl?e.fixupUrl:function(g){g+="";return g+(D?(/\?/.test(g)?"\x26":"?")+D:"")},na=function(g){var p=g.plugin;5===p.executed&&!p.load&&ia(p);var a=function(p){g.result=p;ya(g);Fa(g);J()};p.load?p.load(g.prid,g.req,a):p.loadQ?p.loadQ.push(g):(p.loadQ=[g],ka.unshift(p),ib(p))},va=0,ga=0,ha=0,$=function(g,p){x("config-stripStrict")&&(g=g.replace(/(["'])use strict\1/g,""));ha=1;g===va?va.call(null):q.eval(g,x("dojo-loader-eval-hint-url")?
p.url:p.mid);ha=0},ib=function(g){var p=g.mid,a=g.url;if(!g.executed&&!g.injected&&!(sa[p]||g.url&&(g.pack&&sa[g.url]===g.pack||1==sa[g.url])))if(pa(g),g.plugin)na(g);else{var m=function(){pb(g);if(2!==g.injected){if(x("dojo-enforceDefine")){C("error",t("noDefine",g));return}ya(g);s(g,Qa);q.trace("loader-define-nonmodule",[g.url])}J()};(va=L[p]||L["url:"+g.url])?(q.trace("loader-inject",["cache",g.mid,a]),$(va,g),m()):(q.trace("loader-inject",["script",g.mid,a]),ga=g,q.injectUrl(la(a),m,g),ga=0)}},
kb=function(g,p,a){q.trace("loader-define-module",[g.mid,p]);if(2===g.injected)return C("error",t("multipleDefine",g)),g;s(g,{deps:p,def:a,cjs:{id:g.mid,uri:g.url,exports:g.result={},setExports:function(p){g.cjs.exports=p},config:function(){return g.config}}});for(var m=0;p[m];m++)p[m]=Ha(p[m],g);ya(g);!l(a)&&!p.length&&(g.result=a,Fa(g));return g},pb=function(g,p){for(var m=[],b,c;ra.length;)c=ra.shift(),p&&(c[0]=p.shift()),b=c[0]&&Ha(c[0])||g,m.push([b,c[1],c[2]]);R(g);a(m,function(g){ca(kb.apply(null,
g))})},gb=h,nb=h;x("dom")&&x.add("ie-event-behavior",m.attachEvent&&"undefined"===typeof Windows&&("undefined"===typeof opera||"[object Opera]"!=opera.toString()));if(x("dom")){var eb=function(g,p,a,m){if(x("ie-event-behavior"))return g.attachEvent(a,m),function(){g.detachEvent(a,m)};g.addEventListener(p,m,!1);return function(){g.removeEventListener(p,m,!1)}},qb=eb(window,"load","onload",function(){q.pageLoaded=1;try{"complete"!=m.readyState&&(m.readyState="complete")}catch(g){}qb()}),X=m.getElementsByTagName("script");
for(n=0;!I;)if(!/^dojo/.test((O=X[n++])&&O.type))I=O;q.injectUrl=function(g,p,a){a=a.node=m.createElement("script");var b=eb(a,"load","onreadystatechange",function(g){g=g||window.event;var a=g.target||g.srcElement;if("load"===g.type||/complete|loaded/.test(a.readyState))b(),c(),p&&p()}),c=eb(a,"error","onerror",function(p){b();c();C("error",t("scriptError",[g,p]))});a.type="text/javascript";a.charset="utf-8";a.src=g;I.parentNode.insertBefore(a,I);return a}}q.log=h;q.trace=h;O=function(g,p,a){var m=
arguments.length,b=["require","exports","module"],c=[0,g,p];1==m?c=[0,l(g)?b:[],g]:2==m&&f(g)?c=[g,l(p)?b:[],p]:3==m&&(c=[g,p,a]);q.trace("loader-define",c.slice(0,2));if((m=c[0]&&Ha(c[0]))&&!sa[m.mid])ca(kb(m,c[1],c[2]));else if(!x("ie-event-behavior")||!x("host-browser")||ha)ra.push(c);else{m=m||ga;if(!m)for(g in sa)if((b=H[g])&&b.node&&"interactive"===b.node.readyState){m=b;break}m?(R(m),ca(kb(m,c[1],c[2]))):C("error",t("ieDefineFailed",c[0]));J()}};O.amd={vendor:"dojotoolkit.org"};s(s(q,k.loaderPatch),
e.loaderPatch);A("error",function(g){try{if(console.error(g),g instanceof Error){for(var p in g)console.log(p+":",g[p]);console.log(".")}}catch(a){}});s(q,{uid:u,cache:L,packs:G});r.define||(r.define=O,r.require=q,a(U,function(g){W(g)}),A=p.deps||e.deps||k.deps,p=p.callback||e.callback||k.callback,q.boot=A||p?[A||[],p]:0)})(this.dojoConfig||this.djConfig||this.require||{},{aliases:[[/^webgl-engine/,function(){return"esri/views/3d/webgl-engine"}],[/^engine/,function(){return"esri/views/3d/webgl-engine"}],
[/^esri-hydra/,function(){return"esri"}]],async:1,baseUrl:(location.protocol === 'file:' ? 'http:' : location.protocol) + '//' + "js.arcgis.com/4.2/dojo",hasCache:{"config-deferredInstrumentation":0,"config-selectorEngine":"acme","config-tlmSiblingOfDojo":1,"dojo-built":1,"dojo-has-api":1,"dojo-loader":1,"dojo-undef-api":0,dom:1,"host-browser":1},packages:[{location:".",name:"dojo"},{location:"../dijit",name:"dijit"},{location:"../dojox",name:"dojox"},{location:"../dgrid",main:"OnDemandGrid",name:"dgrid"},{location:"../dstore",main:"Store",name:"dstore"},{location:"../esri",
name:"esri"},{location:"../moment",main:"moment",name:"moment"}]});
require({cache:{"dojo/domReady":function(){define(["./has"],function(e){function k(a){c.push(a);f&&n()}function n(){if(!a){for(a=!0;c.length;)try{c.shift()(d)}catch(m){console.error(m,"in domReady callback",m.stack)}a=!1;k._onQEmpty()}}var h=function(){return this}(),d=document,b={loaded:1,complete:1},l="string"!=typeof d.readyState,f=!!b[d.readyState],c=[],a;k.load=function(a,b,c){k(c)};k._Q=c;k._onQEmpty=function(){};l&&(d.readyState="loading");if(!f){var s=[],t=function(a){a=a||h.event;f||"readystatechange"==
a.type&&!b[d.readyState]||(l&&(d.readyState="complete"),f=1,n())},v=function(a,b){a.addEventListener(b,t,!1);c.push(function(){a.removeEventListener(b,t,!1)})};if(!e("dom-addeventlistener")){var v=function(a,b){b="on"+b;a.attachEvent(b,t);c.push(function(){a.detachEvent(b,t)})},u=d.createElement("div");try{u.doScroll&&null===h.frameElement&&s.push(function(){try{return u.doScroll("left"),1}catch(a){}})}catch(q){}}v(d,"DOMContentLoaded");v(h,"load");"onreadystatechange"in d?v(d,"readystatechange"):
l||s.push(function(){return b[d.readyState]});if(s.length){var r=function(){if(!f){for(var a=s.length;a--;)if(s[a]()){t("poller");return}setTimeout(r,30)}};r()}}return k})},"dojo/has":function(){define(["require","module"],function(e,k){var n=e.has||function(){};if(!n("dojo-has-api")){var h="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location==location&&window.document==document,d=function(){return this}(),b=h&&document,l=b&&b.createElement("DiV"),
f=k.config&&k.config()||{},n=function(c){return"function"==typeof f[c]?f[c]=f[c](d,b,l):f[c]};n.cache=f;n.add=function(b,a,s,t){("undefined"==typeof f[b]||t)&&(f[b]=a);return s&&n(b)};n.add("host-browser",h);n.add("dom",h)}n("host-browser")&&(n.add("dom-addeventlistener",!!document.addEventListener),n.add("touch","ontouchstart"in document||"onpointerdown"in document&&0<navigator.maxTouchPoints||window.navigator.msMaxTouchPoints),n.add("touch-events","ontouchstart"in document),n.add("pointer-events",
"pointerEnabled"in window.navigator?window.navigator.pointerEnabled:"PointerEvent"in window),n.add("MSPointer",window.navigator.msPointerEnabled),n.add("device-width",screen.availWidth||innerWidth),h=document.createElement("form"),n.add("dom-attributes-explicit",0==h.attributes.length),n.add("dom-attributes-specified-flag",0<h.attributes.length&&40>h.attributes.length));n.clearElement=function(b){b.innerHTML="";return b};n.normalize=function(b,a){var f=b.match(/[\?:]|[^:\?]*/g),t=0,d=function(a){var b=
f[t++];if(":"==b)return 0;if("?"==f[t++]){if(!a&&n(b))return d();d(!0);return d(a)}return b||0};return(b=d())&&a(b)};n.load=function(b,a,f){b?a([b],f):f()};return n})},"dojo/io/script":function(){define("../_base/connect ../_base/kernel ../_base/lang ../sniff ../_base/window ../_base/xhr ../dom ../dom-construct ../request/script ../aspect".split(" "),function(e,k,n,h,d,b,l,f,c,a){k.deprecated("dojo/io/script","Use dojo/request/script.","2.0");var s={get:function(f){var d,u=this._makeScriptDeferred(f,
function(a){d&&d.cancel()}),q=u.ioArgs;b._ioAddQueryToUrl(q);b._ioNotifyStart(u);d=c.get(q.url,{timeout:f.timeout,jsonp:q.jsonp,checkString:f.checkString,ioArgs:q,frameDoc:f.frameDoc,canAttach:function(a){q.requestId=a.id;q.scriptId=a.scriptId;q.canDelete=a.canDelete;return s._canAttach(q)}},!0);a.around(d,"isValid",function(a){return function(m){s._validCheck(u);return a.call(this,m)}});d.then(function(){u.resolve(u)}).otherwise(function(a){u.ioArgs.error=a;u.reject(a)});return u},attach:c._attach,
remove:c._remove,_makeScriptDeferred:function(a,f){var d=b._ioSetArgs(a,f||this._deferredCancel,this._deferredOk,this._deferredError),q=d.ioArgs;q.id=k._scopeName+"IoScript"+(a.callbackSuffix||this._counter++);q.canDelete=!1;q.jsonp=a.callbackParamName||a.jsonp;q.jsonp&&(q.query=q.query||"",0<q.query.length&&(q.query+="\x26"),q.query+=q.jsonp+"\x3d"+(a.frameDoc?"parent.":"")+k._scopeName+".io.script.jsonp_"+q.id+"._jsonpCallback",q.frameDoc=a.frameDoc,q.canDelete=!0,d._jsonpCallback=this._jsonpCallback,
this["jsonp_"+q.id]=d);d.addBoth(function(a){q.canDelete&&(a instanceof Error?s["jsonp_"+q.id]._jsonpCallback=function(){delete s["jsonp_"+q.id];if(q.requestId)k.global[c._callbacksProperty][q.requestId]()}:s._addDeadScript(q))});return d},_deferredCancel:function(a){a.canceled=!0},_deferredOk:function(a){a=a.ioArgs;return a.json||a.scriptLoaded||a},_deferredError:function(a,b){console.log("dojo.io.script error",a);return a},_deadScripts:[],_counter:1,_addDeadScript:function(a){s._deadScripts.push({id:a.id,
frameDoc:a.frameDoc});a.frameDoc=null},_validCheck:function(a){if((a=s._deadScripts)&&0<a.length){for(var b=0;b<a.length;b++)s.remove(a[b].id,a[b].frameDoc),delete s["jsonp_"+a[b].id],a[b].frameDoc=null;s._deadScripts=[]}return!0},_ioCheck:function(a){a=a.ioArgs;return a.json||a.scriptLoaded&&!a.args.checkString?!0:(a=a.args.checkString)&&eval("typeof("+a+") !\x3d 'undefined'")},_resHandle:function(a){s._ioCheck(a)?a.callback(a):a.errback(Error("inconceivable dojo.io.script._resHandle error"))},_canAttach:function(){return!0},
_jsonpCallback:function(a){this.ioArgs.json=a;if(this.ioArgs.requestId)k.global[c._callbacksProperty][this.ioArgs.requestId](a)}};n.setObject("dojo.io.script",s);return s})},"dojo/_base/connect":function(){define("./kernel ../on ../topic ../aspect ./event ../mouse ./sniff ./lang ../keys".split(" "),function(e,k,n,h,d,b,l,f){function c(a,m,c,s,g){s=f.hitch(c,s);if(!a||!a.addEventListener&&!a.attachEvent)return h.after(a||e.global,m,s,!0);"string"==typeof m&&"on"==m.substring(0,2)&&(m=m.substring(2));
a||(a=e.global);if(!g)switch(m){case "keypress":m=u;break;case "mouseenter":m=b.enter;break;case "mouseleave":m=b.leave}return k(a,m,s,g)}function a(a){a.keyChar=a.charCode?String.fromCharCode(a.charCode):"";a.charOrCode=a.keyChar||a.keyCode}l.add("events-keypress-typed",function(){var a={charCode:0};try{a=document.createEvent("KeyboardEvent"),(a.initKeyboardEvent||a.initKeyEvent).call(a,"keypress",!0,!0,null,!1,!1,!1,!1,9,3)}catch(m){}return 0==a.charCode&&!l("opera")});var s={106:42,111:47,186:59,
187:43,188:44,189:45,190:46,191:47,192:96,219:91,220:92,221:93,222:39,229:113},t=l("mac")?"metaKey":"ctrlKey",v=function(b,m){var c=f.mixin({},b,m);a(c);c.preventDefault=function(){b.preventDefault()};c.stopPropagation=function(){b.stopPropagation()};return c},u;u=l("events-keypress-typed")?function(a,m){var b=k(a,"keydown",function(g){var p=g.keyCode,a=13!=p&&32!=p&&(27!=p||!l("ie"))&&(48>p||90<p)&&(96>p||111<p)&&(186>p||192<p)&&(219>p||222<p)&&229!=p;if(a||g.ctrlKey){a=a?0:p;if(g.ctrlKey){if(3==
p||13==p)return m.call(g.currentTarget,g);a=95<a&&106>a?a-48:!g.shiftKey&&65<=a&&90>=a?a+32:s[a]||a}p=v(g,{type:"keypress",faux:!0,charCode:a});m.call(g.currentTarget,p);if(l("ie"))try{g.keyCode=p.keyCode}catch(b){}}}),c=k(a,"keypress",function(g){var p=g.charCode;g=v(g,{charCode:32<=p?p:0,faux:!0});return m.call(this,g)});return{remove:function(){b.remove();c.remove()}}}:l("opera")?function(a,m){return k(a,"keypress",function(a){var b=a.which;3==b&&(b=99);b=32>b&&!a.shiftKey?0:b;a.ctrlKey&&(!a.shiftKey&&
65<=b&&90>=b)&&(b+=32);return m.call(this,v(a,{charCode:b}))})}:function(b,m){return k(b,"keypress",function(b){a(b);return m.call(this,b)})};var q={_keypress:u,connect:function(a,m,b,f,g){var p=arguments,s=[],t=0;s.push("string"==typeof p[0]?null:p[t++],p[t++]);var q=p[t+1];s.push("string"==typeof q||"function"==typeof q?p[t++]:null,p[t++]);for(q=p.length;t<q;t++)s.push(p[t]);return c.apply(this,s)},disconnect:function(a){a&&a.remove()},subscribe:function(a,m,b){return n.subscribe(a,f.hitch(m,b))},
publish:function(a,m){return n.publish.apply(n,[a].concat(m))},connectPublisher:function(a,m,b){var c=function(){q.publish(a,arguments)};return b?q.connect(m,b,c):q.connect(m,c)},isCopyKey:function(a){return a[t]}};q.unsubscribe=q.disconnect;f.mixin(e,q);return q})},"dojo/_base/kernel":function(){define(["../has","./config","require","module"],function(e,k,n,h){var d,b=function(){return this}(),l={},f={},c={config:k,global:b,dijit:l,dojox:f},l={dojo:["dojo",c],dijit:["dijit",l],dojox:["dojox",f]};
h=n.map&&n.map[h.id.match(/[^\/]+/)[0]];for(d in h)l[d]?l[d][0]=h[d]:l[d]=[h[d],{}];for(d in l)h=l[d],h[1]._scopeName=h[0],k.noGlobals||(b[h[0]]=h[1]);c.scopeMap=l;c.baseUrl=c.config.baseUrl=n.baseUrl;c.isAsync=n.async;c.locale=k.locale;k="$Rev: 91fa0cb $".match(/[0-9a-f]{7,}/);c.version={major:1,minor:11,patch:2,flag:"",revision:k?k[0]:NaN,toString:function(){var a=c.version;return a.major+"."+a.minor+"."+a.patch+a.flag+" ("+a.revision+")"}};e("csp-restrictions")||Function("d","d.eval \x3d function(){return d.global.eval ? d.global.eval(arguments[0]) : eval(arguments[0]);}")(c);
c.exit=function(){};e("host-webworker");e.add("console-as-object",function(){return Function.prototype.bind&&console&&"object"===typeof console.log});"undefined"!=typeof console||(console={});n="assert count debug dir dirxml error group groupEnd info profile profileEnd time timeEnd trace warn log".split(" ");var a;for(k=0;a=n[k++];)console[a]?e("console-as-object")&&(console[a]=Function.prototype.bind.call(console[a],console)):function(){var b=a+"";console[b]="log"in console?function(){var a=Array.prototype.slice.call(arguments);
a.unshift(b+":");console.log(a.join(" "))}:function(){};console[b]._fake=!0}();c.deprecated=c.experimental=function(){};c._hasResource={};return c})},"dojo/_base/config":function(){define(["../has","require"],function(e,k){var n={},h=k.rawConfig,d;for(d in h)n[d]=h[d];if(!n.locale&&"undefined"!=typeof navigator&&(h=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language||navigator.userLanguage))n.locale=h.toLowerCase();return n})},"dojo/on":function(){define(["./has!dom-addeventlistener?:./aspect",
"./_base/kernel","./sniff"],function(e,k,n){function h(g,p,a,m,b){if(m=p.match(/(.*):(.*)/))return p=m[2],m=m[1],f.selector(m,p).call(b,g,a);n("touch")&&(c.test(p)&&(a=y(a)),!n("event-orientationchange")&&"orientationchange"==p&&(p="resize",g=window,a=y(a)));u&&(a=u(a));if(g.addEventListener){var s=p in t,r=s?t[p]:p;g.addEventListener(r,a,s);return{remove:function(){g.removeEventListener(r,a,s)}}}if(w&&g.attachEvent)return w(g,"on"+p,a);throw Error("Target must be an event emitter");}function d(){this.cancelable=
!1;this.defaultPrevented=!0}function b(){this.bubbles=!1}if(n("dom")){var l=window.ScriptEngineMajorVersion;n.add("jscript",l&&l()+ScriptEngineMinorVersion()/10);n.add("event-orientationchange",n("touch")&&!n("android"));n.add("event-stopimmediatepropagation",window.Event&&!!window.Event.prototype&&!!window.Event.prototype.stopImmediatePropagation);n.add("event-focusin",function(g,p,a){return"onfocusin"in a});n("touch")&&n.add("touch-can-modify-event-delegate",function(){var g=function(){};g.prototype=
document.createEvent("MouseEvents");try{var p=new g;p.target=null;return null===p.target}catch(a){return!1}})}var f=function(g,p,a,m){return"function"==typeof g.on&&"function"!=typeof p&&!g.nodeType?g.on(p,a):f.parse(g,p,a,h,m,this)};f.pausable=function(g,p,a,m){var b;g=f(g,p,function(){if(!b)return a.apply(this,arguments)},m);g.pause=function(){b=!0};g.resume=function(){b=!1};return g};f.once=function(g,p,a,m){var b=f(g,p,function(){b.remove();return a.apply(this,arguments)});return b};f.parse=function(g,
p,a,m,b,c){var s;if(p.call)return p.call(c,g,a);p instanceof Array?s=p:-1<p.indexOf(",")&&(s=p.split(/\s*,\s*/));if(s){var r=[];p=0;for(var t;t=s[p++];)r.push(f.parse(g,t,a,m,b,c));r.remove=function(){for(var g=0;g<r.length;g++)r[g].remove()};return r}return m(g,p,a,b,c)};var c=/^touch/;f.matches=function(g,p,a,m,b){b=b&&"function"==typeof b.matches?b:k.query;m=!1!==m;1!=g.nodeType&&(g=g.parentNode);for(;!b.matches(g,p,a);)if(g==a||!1===m||!(g=g.parentNode)||1!=g.nodeType)return!1;return g};f.selector=
function(g,p,a){return function(m,b){function c(p){return f.matches(p,g,m,a,s)}var s="function"==typeof g?{matches:g}:this,r=p.bubble;return r?f(m,r(c),b):f(m,p,function(g){var p=c(g.target);if(p)return g.selectorTarget=p,b.call(p,g)})}};var a=[].slice,s=f.emit=function(g,p,m){var c=a.call(arguments,2),f="on"+p;if("parentNode"in g){var r=c[0]={},s;for(s in m)r[s]=m[s];r.preventDefault=d;r.stopPropagation=b;r.target=g;r.type=p;m=r}do g[f]&&g[f].apply(g,c);while(m&&m.bubbles&&(g=g.parentNode));return m&&
m.cancelable&&m},t=n("event-focusin")?{}:{focusin:"focus",focusout:"blur"};if(!n("event-stopimmediatepropagation"))var v=function(){this.modified=this.immediatelyStopped=!0},u=function(g){return function(p){if(!p.immediatelyStopped)return p.stopImmediatePropagation=v,g.apply(this,arguments)}};if(n("dom-addeventlistener"))f.emit=function(g,p,a){if(g.dispatchEvent&&document.createEvent){var m=(g.ownerDocument||document).createEvent("HTMLEvents");m.initEvent(p,!!a.bubbles,!!a.cancelable);for(var b in a)b in
m||(m[b]=a[b]);return g.dispatchEvent(m)&&m}return s.apply(f,arguments)};else{f._fixEvent=function(p,a){p||(p=(a&&(a.ownerDocument||a.document||a).parentWindow||window).event);if(!p)return p;try{q&&(p.type==q.type&&p.srcElement==q.target)&&(p=q)}catch(m){}if(!p.target)switch(p.target=p.srcElement,p.currentTarget=a||p.srcElement,"mouseover"==p.type&&(p.relatedTarget=p.fromElement),"mouseout"==p.type&&(p.relatedTarget=p.toElement),p.stopPropagation||(p.stopPropagation=x,p.preventDefault=g),p.type){case "keypress":var b=
"charCode"in p?p.charCode:p.keyCode;10==b?(b=0,p.keyCode=13):13==b||27==b?b=0:3==b&&(b=99);p.charCode=b;b=p;b.keyChar=b.charCode?String.fromCharCode(b.charCode):"";b.charOrCode=b.keyChar||b.keyCode}return p};var q,r=function(g){this.handle=g};r.prototype.remove=function(){delete _dojoIEListeners_[this.handle]};var m=function(g){return function(p){p=f._fixEvent(p,this);var a=g.call(this,p);p.modified&&(q||setTimeout(function(){q=null}),q=p);return a}},w=function(g,p,a){a=m(a);if(((g.ownerDocument?
g.ownerDocument.parentWindow:g.parentWindow||g.window||window)!=top||5.8>n("jscript"))&&!n("config-_allow_leaks")){"undefined"==typeof _dojoIEListeners_&&(_dojoIEListeners_=[]);var b=g[p];if(!b||!b.listeners){var c=b,b=Function("event","var callee \x3d arguments.callee; for(var i \x3d 0; i\x3ccallee.listeners.length; i++){var listener \x3d _dojoIEListeners_[callee.listeners[i]]; if(listener){listener.call(this,event);}}");b.listeners=[];g[p]=b;b.global=this;c&&b.listeners.push(_dojoIEListeners_.push(c)-
1)}b.listeners.push(g=b.global._dojoIEListeners_.push(a)-1);return new r(g)}return e.after(g,p,a,!0)},x=function(){this.cancelBubble=!0},g=f._preventDefault=function(){this.bubbledKeyCode=this.keyCode;if(this.ctrlKey)try{this.keyCode=0}catch(g){}this.defaultPrevented=!0;this.returnValue=!1;this.modified=!0}}if(n("touch"))var p=function(){},z=window.orientation,y=function(g){return function(a){var m=a.corrected;if(!m){var b=a.type;try{delete a.type}catch(c){}if(a.type){if(n("touch-can-modify-event-delegate"))p.prototype=
a,m=new p;else{var m={},f;for(f in a)m[f]=a[f]}m.preventDefault=function(){a.preventDefault()};m.stopPropagation=function(){a.stopPropagation()}}else m=a,m.type=b;a.corrected=m;if("resize"==b){if(z==window.orientation)return null;z=window.orientation;m.type="orientationchange";return g.call(this,m)}"rotation"in m||(m.rotation=0,m.scale=1);var b=m.changedTouches[0],r;for(r in b)delete m[r],m[r]=b[r]}return g.call(this,m)}};return f})},"dojo/sniff":function(){define(["./has"],function(e){if(e("host-browser")){var k=
navigator,n=k.userAgent,k=k.appVersion,h=parseFloat(k);e.add("air",0<=n.indexOf("AdobeAIR"));e.add("wp",parseFloat(n.split("Windows Phone")[1])||void 0);e.add("msapp",parseFloat(n.split("MSAppHost/")[1])||void 0);e.add("khtml",0<=k.indexOf("Konqueror")?h:void 0);e.add("edge",parseFloat(n.split("Edge/")[1])||void 0);e.add("opr",parseFloat(n.split("OPR/")[1])||void 0);e.add("webkit",!e("wp")&&!e("edge")&&parseFloat(n.split("WebKit/")[1])||void 0);e.add("chrome",!e("edge")&&!e("opr")&&parseFloat(n.split("Chrome/")[1])||
void 0);e.add("android",!e("wp")&&parseFloat(n.split("Android ")[1])||void 0);e.add("safari",0<=k.indexOf("Safari")&&!e("wp")&&!e("chrome")&&!e("android")&&!e("edge")&&!e("opr")?parseFloat(k.split("Version/")[1]):void 0);e.add("mac",0<=k.indexOf("Macintosh"));e.add("quirks","BackCompat"==document.compatMode);if(!e("wp")&&n.match(/(iPhone|iPod|iPad)/)){var d=RegExp.$1.replace(/P/,"p"),b=n.match(/OS ([\d_]+)/)?RegExp.$1:"1",b=parseFloat(b.replace(/_/,".").replace(/_/g,""));e.add(d,b);e.add("ios",b)}e.add("bb",
(0<=n.indexOf("BlackBerry")||0<=n.indexOf("BB10"))&&parseFloat(n.split("Version/")[1])||void 0);e.add("trident",parseFloat(k.split("Trident/")[1])||void 0);e.add("svg","undefined"!==typeof SVGAngle);e("webkit")||(0<=n.indexOf("Opera")&&e.add("opera",9.8<=h?parseFloat(n.split("Version/")[1])||h:h),0<=n.indexOf("Gecko")&&(!e("wp")&&!e("khtml")&&!e("trident")&&!e("edge"))&&e.add("mozilla",h),e("mozilla")&&e.add("ff",parseFloat(n.split("Firefox/")[1]||n.split("Minefield/")[1])||void 0),document.all&&
!e("opera")&&(n=parseFloat(k.split("MSIE ")[1])||void 0,(k=document.documentMode)&&(5!=k&&Math.floor(n)!=k)&&(n=k),e.add("ie",n)),e.add("wii","undefined"!=typeof opera&&opera.wiiremote))}return e})},"dojo/topic":function(){define(["./Evented"],function(e){var k=new e;return{publish:function(e,h){return k.emit.apply(k,arguments)},subscribe:function(e,h){return k.on.apply(k,arguments)}}})},"dojo/Evented":function(){define(["./aspect","./on"],function(e,k){function n(){}var h=e.after;n.prototype={on:function(d,
b){return k.parse(this,d,b,function(d,f){return h(d,"on"+f,b,!0)})},emit:function(d,b){var l=[this];l.push.apply(l,arguments);return k.emit.apply(k,l)}};return n})},"dojo/aspect":function(){define([],function(){function e(b,f,c,a){var s=b[f],t="around"==f,d;if(t){var u=c(function(){return s.advice(this,arguments)});d={remove:function(){u&&(u=b=c=null)},advice:function(a,b){return u?u.apply(a,b):s.advice(a,b)}}}else d={remove:function(){if(d.advice){var a=d.previous,r=d.next;!r&&!a?delete b[f]:(a?
a.next=r:b[f]=r,r&&(r.previous=a));b=c=d.advice=null}},id:b.nextId++,advice:c,receiveArguments:a};if(s&&!t)if("after"==f){for(;s.next&&(s=s.next););s.next=d;d.previous=s}else"before"==f&&(b[f]=d,d.next=s,s.previous=d);else b[f]=d;return d}function k(b){return function(f,c,a,s){var t=f[c],d;if(!t||t.target!=f)f[c]=d=function(){for(var a=d.nextId,b=arguments,c=d.before;c;)c.advice&&(b=c.advice.apply(this,b)||b),c=c.next;if(d.around)var m=d.around.advice(this,b);for(c=d.after;c&&c.id<a;){if(c.advice)if(c.receiveArguments)var f=
c.advice.apply(this,b),m=f===n?m:f;else m=c.advice.call(this,m,b);c=c.next}return m},t&&(d.around={advice:function(a,b){return t.apply(a,b)}}),d.target=f,d.nextId=d.nextId||0;f=e(d||t,b,a,s);a=null;return f}}var n,h=k("after"),d=k("before"),b=k("around");return{before:d,around:b,after:h}})},"dojo/_base/event":function(){define(["./kernel","../on","../has","../dom-geometry"],function(e,k,n,h){if(k._fixEvent){var d=k._fixEvent;k._fixEvent=function(b,f){(b=d(b,f))&&h.normalizeEvent(b);return b}}var b=
{fix:function(b,f){return k._fixEvent?k._fixEvent(b,f):b},stop:function(b){n("dom-addeventlistener")||b&&b.preventDefault?(b.preventDefault(),b.stopPropagation()):(b=b||window.event,b.cancelBubble=!0,k._preventDefault.call(b))}};e.fixEvent=b.fix;e.stopEvent=b.stop;return b})},"dojo/dom-geometry":function(){define(["./sniff","./_base/window","./dom","./dom-style"],function(e,k,n,h){function d(a,b,c,f,d,q){q=q||"px";a=a.style;isNaN(b)||(a.left=b+q);isNaN(c)||(a.top=c+q);0<=f&&(a.width=f+q);0<=d&&(a.height=
d+q)}function b(a){return"button"==a.tagName.toLowerCase()||"input"==a.tagName.toLowerCase()&&"button"==(a.getAttribute("type")||"").toLowerCase()}function l(a){return"border-box"==f.boxModel||"table"==a.tagName.toLowerCase()||b(a)}var f={boxModel:"content-box"};e("ie")&&(f.boxModel="BackCompat"==document.compatMode?"border-box":"content-box");f.getPadExtents=function(a,b){a=n.byId(a);var c=b||h.getComputedStyle(a),f=h.toPixelValue,d=f(a,c.paddingLeft),q=f(a,c.paddingTop),r=f(a,c.paddingRight),c=
f(a,c.paddingBottom);return{l:d,t:q,r:r,b:c,w:d+r,h:q+c}};f.getBorderExtents=function(a,b){a=n.byId(a);var c=h.toPixelValue,f=b||h.getComputedStyle(a),d="none"!=f.borderLeftStyle?c(a,f.borderLeftWidth):0,q="none"!=f.borderTopStyle?c(a,f.borderTopWidth):0,r="none"!=f.borderRightStyle?c(a,f.borderRightWidth):0,c="none"!=f.borderBottomStyle?c(a,f.borderBottomWidth):0;return{l:d,t:q,r:r,b:c,w:d+r,h:q+c}};f.getPadBorderExtents=function(a,b){a=n.byId(a);var c=b||h.getComputedStyle(a),d=f.getPadExtents(a,
c),c=f.getBorderExtents(a,c);return{l:d.l+c.l,t:d.t+c.t,r:d.r+c.r,b:d.b+c.b,w:d.w+c.w,h:d.h+c.h}};f.getMarginExtents=function(a,b){a=n.byId(a);var c=b||h.getComputedStyle(a),f=h.toPixelValue,d=f(a,c.marginLeft),q=f(a,c.marginTop),r=f(a,c.marginRight),c=f(a,c.marginBottom);return{l:d,t:q,r:r,b:c,w:d+r,h:q+c}};f.getMarginBox=function(a,b){a=n.byId(a);var c=b||h.getComputedStyle(a),d=f.getMarginExtents(a,c),u=a.offsetLeft-d.l,q=a.offsetTop-d.t,r=a.parentNode,m=h.toPixelValue;if(e("mozilla")){var w=parseFloat(c.left),
c=parseFloat(c.top);!isNaN(w)&&!isNaN(c)?(u=w,q=c):r&&r.style&&(r=h.getComputedStyle(r),"visible"!=r.overflow&&(u+="none"!=r.borderLeftStyle?m(a,r.borderLeftWidth):0,q+="none"!=r.borderTopStyle?m(a,r.borderTopWidth):0))}else if((e("opera")||8==e("ie")&&!e("quirks"))&&r)r=h.getComputedStyle(r),u-="none"!=r.borderLeftStyle?m(a,r.borderLeftWidth):0,q-="none"!=r.borderTopStyle?m(a,r.borderTopWidth):0;return{l:u,t:q,w:a.offsetWidth+d.w,h:a.offsetHeight+d.h}};f.getContentBox=function(a,b){a=n.byId(a);var c=
b||h.getComputedStyle(a),d=a.clientWidth,u=f.getPadExtents(a,c),q=f.getBorderExtents(a,c);d?(c=a.clientHeight,q.w=q.h=0):(d=a.offsetWidth,c=a.offsetHeight);e("opera")&&(u.l+=q.l,u.t+=q.t);return{l:u.l,t:u.t,w:d-u.w-q.w,h:c-u.h-q.h}};f.setContentSize=function(a,b,c){a=n.byId(a);var h=b.w;b=b.h;l(a)&&(c=f.getPadBorderExtents(a,c),0<=h&&(h+=c.w),0<=b&&(b+=c.h));d(a,NaN,NaN,h,b)};var c={l:0,t:0,w:0,h:0};f.setMarginBox=function(a,s,t){a=n.byId(a);var v=t||h.getComputedStyle(a);t=s.w;var u=s.h,q=l(a)?c:
f.getPadBorderExtents(a,v),v=f.getMarginExtents(a,v);if(e("webkit")&&b(a)){var r=a.style;0<=t&&!r.width&&(r.width="4px");0<=u&&!r.height&&(r.height="4px")}0<=t&&(t=Math.max(t-q.w-v.w,0));0<=u&&(u=Math.max(u-q.h-v.h,0));d(a,s.l,s.t,t,u)};f.isBodyLtr=function(a){a=a||k.doc;return"ltr"==(k.body(a).dir||a.documentElement.dir||"ltr").toLowerCase()};f.docScroll=function(a){a=a||k.doc;var b=k.doc.parentWindow||k.doc.defaultView;return"pageXOffset"in b?{x:b.pageXOffset,y:b.pageYOffset}:(b=e("quirks")?k.body(a):
a.documentElement)&&{x:f.fixIeBiDiScrollLeft(b.scrollLeft||0,a),y:b.scrollTop||0}};f.getIeDocumentElementOffset=function(a){return{x:0,y:0}};f.fixIeBiDiScrollLeft=function(a,b){b=b||k.doc;var c=e("ie");if(c&&!f.isBodyLtr(b)){var d=e("quirks"),u=d?k.body(b):b.documentElement,q=k.global;6==c&&(!d&&q.frameElement&&u.scrollHeight>u.clientHeight)&&(a+=u.clientLeft);return 8>c||d?a+u.clientWidth-u.scrollWidth:-a}return a};f.position=function(a,b){a=n.byId(a);var c=k.body(a.ownerDocument),d=a.getBoundingClientRect(),
d={x:d.left,y:d.top,w:d.right-d.left,h:d.bottom-d.top};9>e("ie")&&(d.x-=e("quirks")?c.clientLeft+c.offsetLeft:0,d.y-=e("quirks")?c.clientTop+c.offsetTop:0);b&&(c=f.docScroll(a.ownerDocument),d.x+=c.x,d.y+=c.y);return d};f.getMarginSize=function(a,b){a=n.byId(a);var c=f.getMarginExtents(a,b||h.getComputedStyle(a)),d=a.getBoundingClientRect();return{w:d.right-d.left+c.w,h:d.bottom-d.top+c.h}};f.normalizeEvent=function(a){"layerX"in a||(a.layerX=a.offsetX,a.layerY=a.offsetY);if(!("pageX"in a)){var b=
a.target,b=b&&b.ownerDocument||document,c=e("quirks")?b.body:b.documentElement;a.pageX=a.clientX+f.fixIeBiDiScrollLeft(c.scrollLeft||0,b);a.pageY=a.clientY+(c.scrollTop||0)}};return f})},"dojo/_base/window":function(){define(["./kernel","./lang","../sniff"],function(e,k,n){var h={global:e.global,doc:e.global.document||null,body:function(d){d=d||e.doc;return d.body||d.getElementsByTagName("body")[0]},setContext:function(d,b){e.global=h.global=d;e.doc=h.doc=b},withGlobal:function(d,b,l,f){var c=e.global;
try{return e.global=h.global=d,h.withDoc.call(null,d.document,b,l,f)}finally{e.global=h.global=c}},withDoc:function(d,b,l,f){var c=h.doc,a=n("quirks"),s=n("ie"),t,v,u;try{e.doc=h.doc=d;e.isQuirks=n.add("quirks","BackCompat"==e.doc.compatMode,!0,!0);if(n("ie")&&(u=d.parentWindow)&&u.navigator)t=parseFloat(u.navigator.appVersion.split("MSIE ")[1])||void 0,(v=d.documentMode)&&(5!=v&&Math.floor(t)!=v)&&(t=v),e.isIE=n.add("ie",t,!0,!0);l&&"string"==typeof b&&(b=l[b]);return b.apply(l,f||[])}finally{e.doc=
h.doc=c,e.isQuirks=n.add("quirks",a,!0,!0),e.isIE=n.add("ie",s,!0,!0)}}};k.mixin(e,h);return h})},"dojo/_base/lang":function(){define(["./kernel","../has","../sniff"],function(e,k){k.add("bug-for-in-skips-shadowed",function(){for(var a in{toString:1})return 0;return 1});var n=k("bug-for-in-skips-shadowed")?"hasOwnProperty valueOf isPrototypeOf propertyIsEnumerable toLocaleString toString constructor".split(" "):[],h=n.length,d=function(a,b,c){c||(c=a[0]&&e.scopeMap[a[0]]?e.scopeMap[a.shift()][1]:
e.global);try{for(var f=0;f<a.length;f++){var d=a[f];if(!(d in c))if(b)c[d]={};else return;c=c[d]}return c}catch(q){}},b=Object.prototype.toString,l=function(a,b,c){return(c||[]).concat(Array.prototype.slice.call(a,b||0))},f=/\{([^\}]+)\}/g,c={_extraNames:n,_mixin:function(a,b,c){var f,d,q,r={};for(f in b)if(d=b[f],!(f in a)||a[f]!==d&&(!(f in r)||r[f]!==d))a[f]=c?c(d):d;if(k("bug-for-in-skips-shadowed")&&b)for(q=0;q<h;++q)if(f=n[q],d=b[f],!(f in a)||a[f]!==d&&(!(f in r)||r[f]!==d))a[f]=c?c(d):d;
return a},mixin:function(a,b){a||(a={});for(var f=1,d=arguments.length;f<d;f++)c._mixin(a,arguments[f]);return a},setObject:function(a,b,c){var f=a.split(".");a=f.pop();return(c=d(f,!0,c))&&a?c[a]=b:void 0},getObject:function(a,b,c){return!a?c:d(a.split("."),b,c)},exists:function(a,b){return void 0!==c.getObject(a,!1,b)},isString:function(a){return"string"==typeof a||a instanceof String},isArray:Array.isArray||function(a){return"[object Array]"==b.call(a)},isFunction:function(a){return"[object Function]"===
b.call(a)},isObject:function(a){return void 0!==a&&(null===a||"object"==typeof a||c.isArray(a)||c.isFunction(a))},isArrayLike:function(a){return!!a&&!c.isString(a)&&!c.isFunction(a)&&!(a.tagName&&"form"==a.tagName.toLowerCase())&&(c.isArray(a)||isFinite(a.length))},isAlien:function(a){return a&&!c.isFunction(a)&&/\{\s*\[native code\]\s*\}/.test(String(a))},extend:function(a,b){for(var f=1,d=arguments.length;f<d;f++)c._mixin(a.prototype,arguments[f]);return a},_hitchArgs:function(a,b){var f=c._toArray(arguments,
2),d=c.isString(b);return function(){var u=c._toArray(arguments),q=d?(a||e.global)[b]:b;return q&&q.apply(a||this,f.concat(u))}},hitch:function(a,b){if(2<arguments.length)return c._hitchArgs.apply(e,arguments);b||(b=a,a=null);if(c.isString(b)){a=a||e.global;if(!a[b])throw['lang.hitch: scope["',b,'"] is null (scope\x3d"',a,'")'].join("");return function(){return a[b].apply(a,arguments||[])}}return!a?b:function(){return b.apply(a,arguments||[])}},delegate:function(){function a(){}return function(b,
f){a.prototype=b;var d=new a;a.prototype=null;f&&c._mixin(d,f);return d}}(),_toArray:k("ie")?function(){function a(a,b,c){c=c||[];for(b=b||0;b<a.length;b++)c.push(a[b]);return c}return function(b){return(b.item?a:l).apply(this,arguments)}}():l,partial:function(a){return c.hitch.apply(e,[null].concat(c._toArray(arguments)))},clone:function(a){if(!a||"object"!=typeof a||c.isFunction(a))return a;if(a.nodeType&&"cloneNode"in a)return a.cloneNode(!0);if(a instanceof Date)return new Date(a.getTime());if(a instanceof
RegExp)return RegExp(a);var b,f,d;if(c.isArray(a)){b=[];f=0;for(d=a.length;f<d;++f)f in a&&(b[f]=c.clone(a[f]))}else b=a.constructor?new a.constructor:{};return c._mixin(b,a,c.clone)},trim:String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},replace:function(a,b,d){return a.replace(d||f,c.isFunction(b)?b:function(a,f){return c.getObject(f,!1,b)})}};c.mixin(e,c);return c})},"dojo/dom":function(){define(["./sniff","./_base/window","./_base/kernel"],
function(e,k,n){if(7>=e("ie"))try{document.execCommand("BackgroundImageCache",!1,!0)}catch(h){}var d={};e("ie")?d.byId=function(b,f){if("string"!=typeof b)return b;var c=f||k.doc,a=b&&c.getElementById(b);if(a&&(a.attributes.id.value==b||a.id==b))return a;c=c.all[b];if(!c||c.nodeName)c=[c];for(var d=0;a=c[d++];)if(a.attributes&&a.attributes.id&&a.attributes.id.value==b||a.id==b)return a}:d.byId=function(b,f){return("string"==typeof b?(f||k.doc).getElementById(b):b)||null};n=n.global.document||null;
e.add("dom-contains",!(!n||!n.contains));d.isDescendant=e("dom-contains")?function(b,f){return!(!(f=d.byId(f))||!f.contains(d.byId(b)))}:function(b,f){try{b=d.byId(b);for(f=d.byId(f);b;){if(b==f)return!0;b=b.parentNode}}catch(c){}return!1};e.add("css-user-select",function(b,f,c){if(!c)return!1;b=c.style;f=["Khtml","O","Moz","Webkit"];c=f.length;var a="userSelect";do if("undefined"!==typeof b[a])return a;while(c--&&(a=f[c]+"UserSelect"));return!1});var b=e("css-user-select");d.setSelectable=b?function(l,
f){d.byId(l).style[b]=f?"":"none"}:function(b,f){b=d.byId(b);var c=b.getElementsByTagName("*"),a=c.length;if(f)for(b.removeAttribute("unselectable");a--;)c[a].removeAttribute("unselectable");else for(b.setAttribute("unselectable","on");a--;)c[a].setAttribute("unselectable","on")};return d})},"dojo/dom-style":function(){define(["./sniff","./dom"],function(e,k){function n(c,f,d){f=f.toLowerCase();if("auto"==d){if("height"==f)return c.offsetHeight;if("width"==f)return c.offsetWidth}if("fontweight"==
f)switch(d){case 700:return"bold";default:return"normal"}f in a||(a[f]=s.test(f));return a[f]?b(c,d):d}var h,d={};h=e("webkit")?function(a){var b;if(1==a.nodeType){var c=a.ownerDocument.defaultView;b=c.getComputedStyle(a,null);!b&&a.style&&(a.style.display="",b=c.getComputedStyle(a,null))}return b||{}}:e("ie")&&(9>e("ie")||e("quirks"))?function(a){return 1==a.nodeType&&a.currentStyle?a.currentStyle:{}}:function(a){return 1==a.nodeType?a.ownerDocument.defaultView.getComputedStyle(a,null):{}};d.getComputedStyle=
h;var b;b=e("ie")?function(a,b){if(!b)return 0;if("medium"==b)return 4;if(b.slice&&"px"==b.slice(-2))return parseFloat(b);var c=a.style,f=a.runtimeStyle,m=c.left,d=f.left;f.left=a.currentStyle.left;try{c.left=b,b=c.pixelLeft}catch(s){b=0}c.left=m;f.left=d;return b}:function(a,b){return parseFloat(b)||0};d.toPixelValue=b;var l=function(a,b){try{return a.filters.item("DXImageTransform.Microsoft.Alpha")}catch(c){return b?{}:null}},f=9>e("ie")||10>e("ie")&&e("quirks")?function(a){try{return l(a).Opacity/
100}catch(b){return 1}}:function(a){return h(a).opacity},c=9>e("ie")||10>e("ie")&&e("quirks")?function(a,b){""===b&&(b=1);var f=100*b;1===b?(a.style.zoom="",l(a)&&(a.style.filter=a.style.filter.replace(/\s*progid:DXImageTransform.Microsoft.Alpha\([^\)]+?\)/i,""))):(a.style.zoom=1,l(a)?l(a,1).Opacity=f:a.style.filter+=" progid:DXImageTransform.Microsoft.Alpha(Opacity\x3d"+f+")",l(a,1).Enabled=!0);if("tr"==a.tagName.toLowerCase())for(f=a.firstChild;f;f=f.nextSibling)"td"==f.tagName.toLowerCase()&&c(f,
b);return b}:function(a,b){return a.style.opacity=b},a={left:!0,top:!0},s=/margin|padding|width|height|max|min|offset/,t={cssFloat:1,styleFloat:1,"float":1};d.get=function(a,b){var c=k.byId(a),r=arguments.length;if(2==r&&"opacity"==b)return f(c);b=t[b]?"cssFloat"in c.style?"cssFloat":"styleFloat":b;var m=d.getComputedStyle(c);return 1==r?m:n(c,b,m[b]||c.style[b])};d.set=function(a,b,f){var r=k.byId(a),m=arguments.length,s="opacity"==b;b=t[b]?"cssFloat"in r.style?"cssFloat":"styleFloat":b;if(3==m)return s?
c(r,f):r.style[b]=f;for(var x in b)d.set(a,x,b[x]);return d.getComputedStyle(r)};return d})},"dojo/mouse":function(){define(["./_base/kernel","./on","./has","./dom","./_base/window"],function(e,k,n,h,d){function b(d,f){var c=function(a,b){return k(a,d,function(c){if(f)return f(c,b);if(!h.isDescendant(c.relatedTarget,a))return b.call(this,c)})};c.bubble=function(a){return b(d,function(b,c){var f=a(b.target),d=b.relatedTarget;if(f&&f!=(d&&1==d.nodeType&&a(d)))return c.call(f,b)})};return c}n.add("dom-quirks",
d.doc&&"BackCompat"==d.doc.compatMode);n.add("events-mouseenter",d.doc&&"onmouseenter"in d.doc.createElement("div"));n.add("events-mousewheel",d.doc&&"onmousewheel"in d.doc);d=n("dom-quirks")&&n("ie")||!n("dom-addeventlistener")?{LEFT:1,MIDDLE:4,RIGHT:2,isButton:function(b,f){return b.button&f},isLeft:function(b){return b.button&1},isMiddle:function(b){return b.button&4},isRight:function(b){return b.button&2}}:{LEFT:0,MIDDLE:1,RIGHT:2,isButton:function(b,f){return b.button==f},isLeft:function(b){return 0==
b.button},isMiddle:function(b){return 1==b.button},isRight:function(b){return 2==b.button}};e.mouseButtons=d;e=n("events-mousewheel")?"mousewheel":function(b,f){return k(b,"DOMMouseScroll",function(b){b.wheelDelta=-b.detail;f.call(this,b)})};return{_eventHandler:b,enter:b("mouseover"),leave:b("mouseout"),wheel:e,isLeft:d.isLeft,isMiddle:d.isMiddle,isRight:d.isRight}})},"dojo/_base/sniff":function(){define(["./kernel","./lang","../sniff"],function(e,k,n){if(!n("host-browser"))return n;e._name="browser";
k.mixin(e,{isBrowser:!0,isFF:n("ff"),isIE:n("ie"),isKhtml:n("khtml"),isWebKit:n("webkit"),isMozilla:n("mozilla"),isMoz:n("mozilla"),isOpera:n("opera"),isSafari:n("safari"),isChrome:n("chrome"),isMac:n("mac"),isIos:n("ios"),isAndroid:n("android"),isWii:n("wii"),isQuirks:n("quirks"),isAir:n("air")});return n})},"dojo/keys":function(){define(["./_base/kernel","./sniff"],function(e,k){return e.keys={BACKSPACE:8,TAB:9,CLEAR:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,META:k("webkit")?91:224,PAUSE:19,CAPS_LOCK:20,
ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,INSERT:45,DELETE:46,HELP:47,LEFT_WINDOW:91,RIGHT_WINDOW:92,SELECT:93,NUMPAD_0:96,NUMPAD_1:97,NUMPAD_2:98,NUMPAD_3:99,NUMPAD_4:100,NUMPAD_5:101,NUMPAD_6:102,NUMPAD_7:103,NUMPAD_8:104,NUMPAD_9:105,NUMPAD_MULTIPLY:106,NUMPAD_PLUS:107,NUMPAD_ENTER:108,NUMPAD_MINUS:109,NUMPAD_PERIOD:110,NUMPAD_DIVIDE:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,
F13:124,F14:125,F15:126,NUM_LOCK:144,SCROLL_LOCK:145,UP_DPAD:175,DOWN_DPAD:176,LEFT_DPAD:177,RIGHT_DPAD:178,copyKey:k("mac")&&!k("air")?k("safari")?91:224:17}})},"dojo/_base/xhr":function(){define("./kernel ./sniff require ../io-query ../dom ../dom-form ./Deferred ./config ./json ./lang ./array ../on ../aspect ../request/watch ../request/xhr ../request/util".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r){e._xhrObj=q._create;var m=e.config;e.objectToQuery=h.objectToQuery;e.queryToObject=h.queryToObject;
e.fieldToObject=b.fieldToObject;e.formToObject=b.toObject;e.formToQuery=b.toQuery;e.formToJson=b.toJson;e._blockAsync=!1;k.add("native-xhr2-blob",function(){if(k("native-xhr2")){var g=new XMLHttpRequest;g.open("GET","/",!0);g.responseType="blob";var p=g.responseType;g.abort();return"blob"===p}});var w=e._contentHandlers=e.contentHandlers={text:function(g){return g.responseText},json:function(g){return c.fromJson(g.responseText||null)},"json-comment-filtered":function(g){f.useCommentedJson||console.warn("Consider using the standard mimetype:application/json. json-commenting can introduce security issues. To decrease the chances of hijacking, use the standard the 'json' handler and prefix your json with: {}\x26\x26\nUse djConfig.useCommentedJson\x3dtrue to turn off this message.");
g=g.responseText;var p=g.indexOf("/*"),a=g.lastIndexOf("*/");if(-1==p||-1==a)throw Error("JSON was not comment filtered");return c.fromJson(g.substring(p+2,a))},javascript:function(g){return e.eval(g.responseText)},xml:function(g){var p=g.responseXML;p&&(k("dom-qsa2.1")&&!p.querySelectorAll&&k("dom-parser"))&&(p=(new DOMParser).parseFromString(g.responseText,"application/xml"));if(k("ie")&&(!p||!p.documentElement)){var a=function(g){return"MSXML"+g+".DOMDocument"},a=["Microsoft.XMLDOM",a(6),a(4),
a(3),a(2)];s.some(a,function(a){try{var b=new ActiveXObject(a);b.async=!1;b.loadXML(g.responseText);p=b}catch(m){return!1}return!0})}return p},"json-comment-optional":function(g){return g.responseText&&/^[^{\[]*\/\*/.test(g.responseText)?w["json-comment-filtered"](g):w.json(g)}};k("native-xhr2")&&(w.arraybuffer=w.blob=w.document=function(g,p){return"blob"===p.args.handleAs&&!k("native-xhr2-blob")?new Blob([g.response],{type:g.getResponseHeader("Content-Type")}):g.response});e._ioSetArgs=function(g,
p,c,f){var r={args:g,url:g.url},s=null;if(g.form){var s=d.byId(g.form),z=s.getAttributeNode("action");r.url=r.url||(z?z.value:e.doc?e.doc.URL:null);s=b.toObject(s)}z=[{}];s&&z.push(s);g.content&&z.push(g.content);g.preventCache&&z.push({"dojo.preventCache":(new Date).valueOf()});r.query=h.objectToQuery(a.mixin.apply(null,z));r.handleAs=g.handleAs||"text";var q=new l(function(g){g.canceled=!0;p&&p(g);var a=g.ioArgs.error;a||(a=Error("request cancelled"),a.dojoType="cancel",g.ioArgs.error=a);return a});
q.addCallback(c);var t=g.load;t&&a.isFunction(t)&&q.addCallback(function(p){return t.call(g,p,r)});var u=g.error;u&&a.isFunction(u)&&q.addErrback(function(p){return u.call(g,p,r)});var w=g.handle;w&&a.isFunction(w)&&q.addBoth(function(p){return w.call(g,p,r)});q.addErrback(function(g){return f(g,q)});m.ioPublish&&(e.publish&&!1!==r.args.ioPublish)&&(q.addCallbacks(function(g){e.publish("/dojo/io/load",[q,g]);return g},function(g){e.publish("/dojo/io/error",[q,g]);return g}),q.addBoth(function(g){e.publish("/dojo/io/done",
[q,g]);return g}));q.ioArgs=r;return q};var x=function(g){g=w[g.ioArgs.handleAs](g.ioArgs.xhr,g.ioArgs);return void 0===g?null:g},g=function(g,p){p.ioArgs.args.failOk||console.error(g);return g},p=function(g){0>=z&&(z=0,m.ioPublish&&(e.publish&&(!g||g&&!1!==g.ioArgs.args.ioPublish))&&e.publish("/dojo/io/stop"))},z=0;v.after(u,"_onAction",function(){z-=1});v.after(u,"_onInFlight",p);e._ioCancelAll=u.cancelAll;e._ioNotifyStart=function(g){m.ioPublish&&(e.publish&&!1!==g.ioArgs.args.ioPublish)&&(z||
e.publish("/dojo/io/start"),z+=1,e.publish("/dojo/io/send",[g]))};e._ioWatch=function(g,b,m,c){g.ioArgs.options=g.ioArgs.args;a.mixin(g,{response:g.ioArgs,isValid:function(p){return b(g)},isReady:function(p){return m(g)},handleResponse:function(p){return c(g)}});u(g);p(g)};e._ioAddQueryToUrl=function(g){g.query.length&&(g.url+=(-1==g.url.indexOf("?")?"?":"\x26")+g.query,g.query=null)};e.xhr=function(p,a,b){var m,c=e._ioSetArgs(a,function(g){m&&m.cancel()},x,g),f=c.ioArgs;"postData"in a?f.query=a.postData:
"putData"in a?f.query=a.putData:"rawBody"in a?f.query=a.rawBody:(2<arguments.length&&!b||-1==="POST|PUT".indexOf(p.toUpperCase()))&&e._ioAddQueryToUrl(f);var d;k("native-xhr2")&&(d={arraybuffer:1,blob:1,document:1});d=k("native-xhr2")&&d[a.handleAs]?a.handleAs:"text";"blob"===d&&!k("native-xhr2-blob")&&(d="arraybuffer");d={method:p,handleAs:d,responseType:a.responseType,timeout:a.timeout,withCredentials:a.withCredentials,ioArgs:f};"undefined"!==typeof a.headers&&(d.headers=a.headers);"undefined"!==
typeof a.contentType&&(d.headers||(d.headers={}),d.headers["Content-Type"]=a.contentType);"undefined"!==typeof f.query&&(d.data=f.query);"undefined"!==typeof a.sync&&(d.sync=a.sync);e._ioNotifyStart(c);try{m=q(f.url,d,!0)}catch(r){return c.cancel(),c}c.ioArgs.xhr=m.response.xhr;m.then(function(){c.resolve(c)}).otherwise(function(g){f.error=g;g.response&&(g.status=g.response.status,g.responseText=g.response.text,g.xhr=g.response.xhr);c.reject(g)});return c};e.xhrGet=function(g){return e.xhr("GET",
g)};e.rawXhrPost=e.xhrPost=function(g){return e.xhr("POST",g,!0)};e.rawXhrPut=e.xhrPut=function(g){return e.xhr("PUT",g,!0)};e.xhrDelete=function(g){return e.xhr("DELETE",g)};e._isDocumentOk=function(g){return r.checkStatus(g.status)};e._getText=function(g){var p;e.xhrGet({url:g,sync:!0,load:function(g){p=g}});return p};a.mixin(e.xhr,{_xhrObj:e._xhrObj,fieldToObject:b.fieldToObject,formToObject:b.toObject,objectToQuery:h.objectToQuery,formToQuery:b.toQuery,formToJson:b.toJson,queryToObject:h.queryToObject,
contentHandlers:w,_ioSetArgs:e._ioSetArgs,_ioCancelAll:e._ioCancelAll,_ioNotifyStart:e._ioNotifyStart,_ioWatch:e._ioWatch,_ioAddQueryToUrl:e._ioAddQueryToUrl,_isDocumentOk:e._isDocumentOk,_getText:e._getText,get:e.xhrGet,post:e.xhrPost,put:e.xhrPut,del:e.xhrDelete});return e.xhr})},"dojo/io-query":function(){define(["./_base/lang"],function(e){var k={};return{objectToQuery:function(n){var h=encodeURIComponent,d=[],b;for(b in n){var l=n[b];if(l!=k[b]){var f=h(b)+"\x3d";if(e.isArray(l))for(var c=0,
a=l.length;c<a;++c)d.push(f+h(l[c]));else d.push(f+h(l))}}return d.join("\x26")},queryToObject:function(k){var h=decodeURIComponent;k=k.split("\x26");for(var d={},b,l,f=0,c=k.length;f<c;++f)if(l=k[f],l.length){var a=l.indexOf("\x3d");0>a?(b=h(l),l=""):(b=h(l.slice(0,a)),l=h(l.slice(a+1)));"string"==typeof d[b]&&(d[b]=[d[b]]);e.isArray(d[b])?d[b].push(l):d[b]=l}return d}}})},"dojo/dom-form":function(){define(["./_base/lang","./dom","./io-query","./json"],function(e,k,n,h){var d={fieldToObject:function(b){var d=
null;if(b=k.byId(b)){var f=b.name,c=(b.type||"").toLowerCase();if(f&&c&&!b.disabled)if("radio"==c||"checkbox"==c)b.checked&&(d=b.value);else if(b.multiple){d=[];for(b=[b.firstChild];b.length;)for(f=b.pop();f;f=f.nextSibling)if(1==f.nodeType&&"option"==f.tagName.toLowerCase())f.selected&&d.push(f.value);else{f.nextSibling&&b.push(f.nextSibling);f.firstChild&&b.push(f.firstChild);break}}else d=b.value}return d},toObject:function(b){var l={};b=k.byId(b).elements;for(var f=0,c=b.length;f<c;++f){var a=
b[f],s=a.name,t=(a.type||"").toLowerCase();if(s&&t&&0>"file|submit|image|reset|button".indexOf(t)&&!a.disabled){var h=l,u=s,a=d.fieldToObject(a);if(null!==a){var q=h[u];"string"==typeof q?h[u]=[q,a]:e.isArray(q)?q.push(a):h[u]=a}"image"==t&&(l[s+".x"]=l[s+".y"]=l[s].x=l[s].y=0)}}return l},toQuery:function(b){return n.objectToQuery(d.toObject(b))},toJson:function(b,l){return h.stringify(d.toObject(b),null,l?4:0)}};return d})},"dojo/json":function(){define(["./has"],function(e){var k="undefined"!=typeof JSON;
e.add("json-parse",k);e.add("json-stringify",k&&'{"a":1}'==JSON.stringify({a:0},function(h,d){return d||1}));if(e("json-stringify"))return JSON;var n=function(h){return('"'+h.replace(/(["\\])/g,"\\$1")+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")};return{parse:e("json-parse")?JSON.parse:function(h,d){if(d&&!/^([\s\[\{]*(?:"(?:\\.|[^"])*"|-?\d[\d\.]*(?:[Ee][+-]?\d+)?|null|true|false|)[\s\]\}]*(?:,|:|$))+$/.test(h))throw new SyntaxError("Invalid characters in JSON");
return eval("("+h+")")},stringify:function(h,d,b){function l(c,a,s){d&&(c=d(s,c));var t;t=typeof c;if("number"==t)return isFinite(c)?c+"":"null";if("boolean"==t)return c+"";if(null===c)return"null";if("string"==typeof c)return n(c);if("function"==t||"undefined"==t)return f;if("function"==typeof c.toJSON)return l(c.toJSON(s),a,s);if(c instanceof Date)return'"{FullYear}-{Month+}-{Date}T{Hours}:{Minutes}:{Seconds}Z"'.replace(/\{(\w+)(\+)?\}/g,function(a,b,g){a=c["getUTC"+b]()+(g?1:0);return 10>a?"0"+
a:a});if(c.valueOf()!==c)return l(c.valueOf(),a,s);var h=b?a+b:"",u=b?" ":"",q=b?"\n":"";if(c instanceof Array){var u=c.length,r=[];for(s=0;s<u;s++)t=l(c[s],h,s),"string"!=typeof t&&(t="null"),r.push(q+h+t);return"["+r.join(",")+q+a+"]"}r=[];for(s in c){var m;if(c.hasOwnProperty(s)){if("number"==typeof s)m='"'+s+'"';else if("string"==typeof s)m=n(s);else continue;t=l(c[s],h,s);"string"==typeof t&&r.push(q+h+m+":"+u+t)}}return"{"+r.join(",")+q+a+"}"}var f;"string"==typeof d&&(b=d,d=null);return l(h,
"","")}}})},"dojo/_base/Deferred":function(){define("./kernel ../Deferred ../promise/Promise ../errors/CancelError ../has ./lang ../when".split(" "),function(e,k,n,h,d,b,l){var f=function(){},c=Object.freeze||function(){},a=e.Deferred=function(s){function t(g){if(q)throw Error("This deferred has already been resolved");u=g;q=!0;l()}function l(){for(var p;!p&&g;){var a=g;g=g.next;if(p=a.progress==f)q=!1;var m=w?a.error:a.resolved;d("config-useDeferredInstrumentation")&&w&&k.instrumentRejected&&k.instrumentRejected(u,
!!m);if(m)try{var c=m(u);c&&"function"===typeof c.then?c.then(b.hitch(a.deferred,"resolve"),b.hitch(a.deferred,"reject"),b.hitch(a.deferred,"progress")):(m=p&&void 0===c,p&&!m&&(w=c instanceof Error),a.deferred[m&&w?"reject":"resolve"](m?u:c))}catch(r){a.deferred.reject(r)}else w?a.deferred.reject(u):a.deferred.resolve(u)}}var u,q,r,m,w,x,g,p=this.promise=new n;this.isResolved=p.isResolved=function(){return 0==m};this.isRejected=p.isRejected=function(){return 1==m};this.isFulfilled=p.isFulfilled=
function(){return 0<=m};this.isCanceled=p.isCanceled=function(){return r};this.resolve=this.callback=function(g){this.fired=m=0;this.results=[g,null];t(g)};this.reject=this.errback=function(p){w=!0;this.fired=m=1;d("config-useDeferredInstrumentation")&&k.instrumentRejected&&k.instrumentRejected(p,!!g);t(p);this.results=[null,p]};this.progress=function(p){for(var a=g;a;){var b=a.progress;b&&b(p);a=a.next}};this.addCallbacks=function(g,p){this.then(g,p,f);return this};p.then=this.then=function(b,m,
c){var d=c==f?this:new a(p.cancel);b={resolved:b,error:m,progress:c,deferred:d};g?x=x.next=b:g=x=b;q&&l();return d.promise};var z=this;p.cancel=this.cancel=function(){if(!q){var g=s&&s(z);q||(g instanceof Error||(g=new h(g)),g.log=!1,z.reject(g))}r=!0};c(p)};b.extend(a,{addCallback:function(a){return this.addCallbacks(b.hitch.apply(e,arguments))},addErrback:function(a){return this.addCallbacks(null,b.hitch.apply(e,arguments))},addBoth:function(a){var c=b.hitch.apply(e,arguments);return this.addCallbacks(c,
c)},fired:-1});a.when=e.when=l;return a})},"dojo/Deferred":function(){define(["./has","./_base/lang","./errors/CancelError","./promise/Promise","./has!config-deferredInstrumentation?./promise/instrumentation"],function(e,k,n,h,d){var b=Object.freeze||function(){},l=function(a,b,c,d,r){e("config-deferredInstrumentation")&&2===b&&(s.instrumentRejected&&0===a.length)&&s.instrumentRejected(c,!1,d,r);for(r=0;r<a.length;r++)f(a[r],b,c,d)},f=function(b,f,d,q){var r=b[f],m=b.deferred;if(r)try{var w=r(d);
if(0===f)"undefined"!==typeof w&&a(m,f,w);else{if(w&&"function"===typeof w.then){b.cancel=w.cancel;w.then(c(m,1),c(m,2),c(m,0));return}a(m,1,w)}}catch(x){a(m,2,x)}else a(m,f,d);e("config-deferredInstrumentation")&&2===f&&s.instrumentRejected&&s.instrumentRejected(d,!!r,q,m.promise)},c=function(b,c){return function(f){a(b,c,f)}},a=function(a,b,c){if(!a.isCanceled())switch(b){case 0:a.progress(c);break;case 1:a.resolve(c);break;case 2:a.reject(c)}},s=function(a){var c=this.promise=new h,d=this,q,r,
m,w=!1,x=[];e("config-deferredInstrumentation")&&Error.captureStackTrace&&(Error.captureStackTrace(d,s),Error.captureStackTrace(c,s));this.isResolved=c.isResolved=function(){return 1===q};this.isRejected=c.isRejected=function(){return 2===q};this.isFulfilled=c.isFulfilled=function(){return!!q};this.isCanceled=c.isCanceled=function(){return w};this.progress=function(g,a){if(q){if(!0===a)throw Error("This deferred has already been fulfilled.");return c}l(x,0,g,null,d);return c};this.resolve=function(g,
a){if(q){if(!0===a)throw Error("This deferred has already been fulfilled.");return c}l(x,q=1,r=g,null,d);x=null;return c};var g=this.reject=function(p,a){if(q){if(!0===a)throw Error("This deferred has already been fulfilled.");return c}e("config-deferredInstrumentation")&&Error.captureStackTrace&&Error.captureStackTrace(m={},g);l(x,q=2,r=p,m,d);x=null;return c};this.then=c.then=function(g,a,b){var d=[b,g,a];d.cancel=c.cancel;d.deferred=new s(function(g){return d.cancel&&d.cancel(g)});q&&!x?f(d,q,
r,m):x.push(d);return d.deferred.promise};this.cancel=c.cancel=function(p,b){if(q){if(!0===b)throw Error("This deferred has already been fulfilled.");}else{if(a){var m=a(p);p="undefined"===typeof m?p:m}w=!0;if(q){if(2===q&&r===p)return p}else return"undefined"===typeof p&&(p=new n),g(p),p}};b(c)};s.prototype.toString=function(){return"[object Deferred]"};d&&d(s);return s})},"dojo/errors/CancelError":function(){define(["./create"],function(e){return e("CancelError",null,null,{dojoType:"cancel"})})},
"dojo/errors/create":function(){define(["../_base/lang"],function(e){return function(k,n,h,d){h=h||Error;var b=function(d){if(h===Error){Error.captureStackTrace&&Error.captureStackTrace(this,b);var f=Error.call(this,d),c;for(c in f)f.hasOwnProperty(c)&&(this[c]=f[c]);this.message=d;this.stack=f.stack}else h.apply(this,arguments);n&&n.apply(this,arguments)};b.prototype=e.delegate(h.prototype,d);b.prototype.name=k;return b.prototype.constructor=b}})},"dojo/promise/Promise":function(){define(["../_base/lang"],
function(e){function k(){throw new TypeError("abstract");}return e.extend(function(){},{then:function(e,h,d){k()},cancel:function(e,h){k()},isResolved:function(){k()},isRejected:function(){k()},isFulfilled:function(){k()},isCanceled:function(){k()},always:function(e){return this.then(e,e)},otherwise:function(e){return this.then(null,e)},trace:function(){return this},traceRejected:function(){return this},toString:function(){return"[object Promise]"}})})},"dojo/when":function(){define(["./Deferred",
"./promise/Promise"],function(e,k){return function(n,h,d,b){var l=n&&"function"===typeof n.then,f=l&&n instanceof k;if(l)f||(l=new e(n.cancel),n.then(l.resolve,l.reject,l.progress),n=l.promise);else return 1<arguments.length?h?h(n):n:(new e).resolve(n);return h||d||b?n.then(h,d,b):n}})},"dojo/_base/json":function(){define(["./kernel","../json"],function(e,k){e.fromJson=function(e){return eval("("+e+")")};e._escapeString=k.stringify;e.toJsonIndentStr="\t";e.toJson=function(n,h){return k.stringify(n,
function(d,b){if(b){var l=b.__json__||b.json;if("function"==typeof l)return l.call(b)}return b},h&&e.toJsonIndentStr)};return e})},"dojo/_base/array":function(){define(["./kernel","../has","./lang"],function(e,k,n){function h(a){return l[a]=new Function("item","index","array",a)}function d(a){var b=!a;return function(c,f,d){var q=0,r=c&&c.length||0,m;r&&"string"==typeof c&&(c=c.split(""));"string"==typeof f&&(f=l[f]||h(f));if(d)for(;q<r;++q){if(m=!f.call(d,c[q],q,c),a^m)return!m}else for(;q<r;++q)if(m=
!f(c[q],q,c),a^m)return!m;return b}}function b(a){var b=1,d=0,l=0;a||(b=d=l=-1);return function(u,q,r,m){if(m&&0<b)return c.lastIndexOf(u,q,r);m=u&&u.length||0;var w=a?m+l:d;r===f?r=a?d:m+l:0>r?(r=m+r,0>r&&(r=d)):r=r>=m?m+l:r;for(m&&"string"==typeof u&&(u=u.split(""));r!=w;r+=b)if(u[r]==q)return r;return-1}}var l={},f,c={every:d(!1),some:d(!0),indexOf:b(!0),lastIndexOf:b(!1),forEach:function(a,b,c){var f=0,d=a&&a.length||0;d&&"string"==typeof a&&(a=a.split(""));"string"==typeof b&&(b=l[b]||h(b));
if(c)for(;f<d;++f)b.call(c,a[f],f,a);else for(;f<d;++f)b(a[f],f,a)},map:function(a,b,c,f){var d=0,q=a&&a.length||0;f=new (f||Array)(q);q&&"string"==typeof a&&(a=a.split(""));"string"==typeof b&&(b=l[b]||h(b));if(c)for(;d<q;++d)f[d]=b.call(c,a[d],d,a);else for(;d<q;++d)f[d]=b(a[d],d,a);return f},filter:function(a,b,c){var f=0,d=a&&a.length||0,q=[],r;d&&"string"==typeof a&&(a=a.split(""));"string"==typeof b&&(b=l[b]||h(b));if(c)for(;f<d;++f)r=a[f],b.call(c,r,f,a)&&q.push(r);else for(;f<d;++f)r=a[f],
b(r,f,a)&&q.push(r);return q},clearCache:function(){l={}}};n.mixin(e,c);return c})},"dojo/request/watch":function(){define("./util ../errors/RequestTimeoutError ../errors/CancelError ../_base/array ../has!host-browser?../_base/window: ../has!host-browser?dom-addeventlistener?:../on:".split(" "),function(e,k,n,h,d,b){function l(){for(var b=+new Date,d=0,l;d<a.length&&(l=a[d]);d++){var u=l.response,q=u.options;if(l.isCanceled&&l.isCanceled()||l.isValid&&!l.isValid(u))a.splice(d--,1),f._onAction&&f._onAction();
else if(l.isReady&&l.isReady(u))a.splice(d--,1),l.handleResponse(u),f._onAction&&f._onAction();else if(l.startTime&&l.startTime+(q.timeout||0)<b)a.splice(d--,1),l.cancel(new k("Timeout exceeded",u)),f._onAction&&f._onAction()}f._onInFlight&&f._onInFlight(l);a.length||(clearInterval(c),c=null)}function f(b){b.response.options.timeout&&(b.startTime=+new Date);b.isFulfilled()||(a.push(b),c||(c=setInterval(l,50)),b.response.options.sync&&l())}var c=null,a=[];f.cancelAll=function(){try{h.forEach(a,function(a){try{a.cancel(new n("All requests canceled."))}catch(b){}})}catch(b){}};
d&&(b&&d.doc.attachEvent)&&b(d.global,"unload",function(){f.cancelAll()});return f})},"dojo/request/util":function(){define("exports ../errors/RequestError ../errors/CancelError ../Deferred ../io-query ../_base/array ../_base/lang ../promise/Promise".split(" "),function(e,k,n,h,d,b,l,f){function c(a){return s(a)}function a(a){return void 0!==a.data?a.data:a.text}e.deepCopy=function(a,b){for(var c in b){var f=a[c],d=b[c];f!==d&&(f&&"object"===typeof f&&d&&"object"===typeof d?e.deepCopy(f,d):a[c]=d)}return a};
e.deepCreate=function(a,b){b=b||{};var c=l.delegate(a),f,d;for(f in a)(d=a[f])&&"object"===typeof d&&(c[f]=e.deepCreate(d,b[f]));return e.deepCopy(c,b)};var s=Object.freeze||function(a){return a};e.deferred=function(b,d,u,q,r,m){var w=new h(function(g){d&&d(w,b);return!g||!(g instanceof k)&&!(g instanceof n)?new n("Request canceled",b):g});w.response=b;w.isValid=u;w.isReady=q;w.handleResponse=r;u=w.then(c).otherwise(function(g){g.response=b;throw g;});e.notify&&u.then(l.hitch(e.notify,"emit","load"),
l.hitch(e.notify,"emit","error"));q=u.then(a);r=new f;for(var x in q)q.hasOwnProperty(x)&&(r[x]=q[x]);r.response=u;s(r);m&&w.then(function(g){m.call(w,g)},function(g){m.call(w,b,g)});w.promise=r;w.then=r.then;return w};e.addCommonMethods=function(a,c){b.forEach(c||["GET","POST","PUT","DELETE"],function(b){a[("DELETE"===b?"DEL":b).toLowerCase()]=function(c,f){f=l.delegate(f||{});f.method=b;return a(c,f)}})};e.parseArgs=function(a,b,c){var f=b.data,r=b.query;if(f&&!c&&"object"===typeof f&&!(f instanceof
ArrayBuffer||f instanceof Blob))b.data=d.objectToQuery(f);r?("object"===typeof r&&(r=d.objectToQuery(r)),b.preventCache&&(r+=(r?"\x26":"")+"request.preventCache\x3d"+ +new Date)):b.preventCache&&(r="request.preventCache\x3d"+ +new Date);a&&r&&(a+=(~a.indexOf("?")?"\x26":"?")+r);return{url:a,options:b,getHeader:function(a){return null}}};e.checkStatus=function(a){a=a||0;return 200<=a&&300>a||304===a||1223===a||!a}})},"dojo/errors/RequestError":function(){define(["./create"],function(e){return e("RequestError",
function(e,n){this.response=n})})},"dojo/errors/RequestTimeoutError":function(){define(["./create","./RequestError"],function(e,k){return e("RequestTimeoutError",null,k,{dojoType:"timeout"})})},"dojo/request/xhr":function(){define(["../errors/RequestError","./watch","./handlers","./util","../has"],function(e,k,n,h,d){function b(a,b){var g=a.xhr;a.status=a.xhr.status;try{a.text=g.responseText}catch(p){}"xml"===a.options.handleAs&&(a.data=g.responseXML);if(!b)try{n(a)}catch(m){b=m}var c;if(b)this.reject(b);
else{try{n(a)}catch(f){c=f}h.checkStatus(g.status)?c?this.reject(c):this.resolve(a):(b=c?new e("Unable to load "+a.url+" status: "+g.status+" and an error in handleAs: transformation of response",a):new e("Unable to load "+a.url+" status: "+g.status,a),this.reject(b))}}function l(a){return this.xhr.getResponseHeader(a)}function f(m,r,g){var p=d("native-formdata")&&r&&r.data&&r.data instanceof FormData,z=h.parseArgs(m,h.deepCreate(q,r),p);m=z.url;r=z.options;var y,C=h.deferred(z,v,a,s,b,function(){y&&
y()}),n=z.xhr=f._create();if(!n)return C.cancel(new e("XHR was not created")),g?C:C.promise;z.getHeader=l;t&&(y=t(n,C,z));var B=r.data,K=!r.sync,F=r.method;try{n.open(F,m,K,r.user||u,r.password||u);r.withCredentials&&(n.withCredentials=r.withCredentials);d("native-response-type")&&r.handleAs in c&&(n.responseType=c[r.handleAs]);var G=r.headers;m=p?!1:"application/x-www-form-urlencoded";if(G)for(var P in G)"content-type"===P.toLowerCase()?m=G[P]:G[P]&&n.setRequestHeader(P,G[P]);m&&!1!==m&&n.setRequestHeader("Content-Type",
m);(!G||!("X-Requested-With"in G))&&n.setRequestHeader("X-Requested-With","XMLHttpRequest");h.notify&&h.notify.emit("send",z,C.promise.cancel);n.send(B)}catch(Q){C.reject(Q)}k(C);n=null;return g?C:C.promise}d.add("native-xhr",function(){return"undefined"!==typeof XMLHttpRequest});d.add("dojo-force-activex-xhr",function(){return d("activex")&&"file:"===window.location.protocol});d.add("native-xhr2",function(){if(d("native-xhr")&&!d("dojo-force-activex-xhr")){var a=new XMLHttpRequest;return"undefined"!==
typeof a.addEventListener&&("undefined"===typeof opera||"undefined"!==typeof a.upload)}});d.add("native-formdata",function(){return"undefined"!==typeof FormData});d.add("native-response-type",function(){return d("native-xhr")&&"undefined"!==typeof(new XMLHttpRequest).responseType});d.add("native-xhr2-blob",function(){if(d("native-response-type")){var a=new XMLHttpRequest;a.open("GET","/",!0);a.responseType="blob";var b=a.responseType;a.abort();return"blob"===b}});var c={blob:d("native-xhr2-blob")?
"blob":"arraybuffer",document:"document",arraybuffer:"arraybuffer"},a,s,t,v;d("native-xhr2")?(a=function(a){return!this.isFulfilled()},v=function(a,b){b.xhr.abort()},t=function(a,b,g){function p(a){b.handleResponse(g)}function m(a){a=new e("Unable to load "+g.url+" status: "+a.target.status,g);b.handleResponse(g,a)}function c(a){a.lengthComputable?(g.loaded=a.loaded,g.total=a.total,b.progress(g)):3===g.xhr.readyState&&(g.loaded="loaded"in a?a.loaded:a.position,b.progress(g))}a.addEventListener("load",
p,!1);a.addEventListener("error",m,!1);a.addEventListener("progress",c,!1);return function(){a.removeEventListener("load",p,!1);a.removeEventListener("error",m,!1);a.removeEventListener("progress",c,!1);a=null}}):(a=function(a){return a.xhr.readyState},s=function(a){return 4===a.xhr.readyState},v=function(a,b){var g=b.xhr,p=typeof g.abort;("function"===p||"object"===p||"unknown"===p)&&g.abort()});var u,q={data:null,query:null,sync:!1,method:"GET"};f._create=function(){throw Error("XMLHTTP not available");
};if(d("native-xhr")&&!d("dojo-force-activex-xhr"))f._create=function(){return new XMLHttpRequest};else if(d("activex"))try{new ActiveXObject("Msxml2.XMLHTTP"),f._create=function(){return new ActiveXObject("Msxml2.XMLHTTP")}}catch(r){try{new ActiveXObject("Microsoft.XMLHTTP"),f._create=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}catch(m){}}h.addCommonMethods(f);return f})},"dojo/request/handlers":function(){define(["../json","../_base/kernel","../_base/array","../has","../has!dom?../selector/_loader"],
function(e,k,n,h){function d(b){var c=a[b.options.handleAs];b.data=c?c(b):b.data||b.text;return b}h.add("activex","undefined"!==typeof ActiveXObject);h.add("dom-parser",function(a){return"DOMParser"in a});var b;if(h("activex")){var l=["Msxml2.DOMDocument.6.0","Msxml2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML.DOMDocument"],f;b=function(a){function b(a){try{var r=new ActiveXObject(a);r.async=!1;r.loadXML(d);c=r;f=a}catch(m){return!1}return!0}var c=a.data,d=a.text;c&&(h("dom-qsa2.1")&&!c.querySelectorAll&&
h("dom-parser"))&&(c=(new DOMParser).parseFromString(d,"application/xml"));if(!c||!c.documentElement)(!f||!b(f))&&n.some(l,b);return c}}var c=function(a){return!h("native-xhr2-blob")&&"blob"===a.options.handleAs&&"undefined"!==typeof Blob?new Blob([a.xhr.response],{type:a.xhr.getResponseHeader("Content-Type")}):a.xhr.response},a={javascript:function(a){return k.eval(a.text||"")},json:function(a){return e.parse(a.text||null)},xml:b,blob:c,arraybuffer:c,document:c};d.register=function(b,c){a[b]=c};
return d})},"dojo/dom-construct":function(){define("exports ./_base/kernel ./sniff ./_base/window ./dom ./dom-attr".split(" "),function(e,k,n,h,d,b){function l(a,b){var g=b.parentNode;g&&g.insertBefore(a,b)}function f(a){if("innerHTML"in a)try{a.innerHTML="";return}catch(b){}for(var g;g=a.lastChild;)a.removeChild(g)}var c={option:["select"],tbody:["table"],thead:["table"],tfoot:["table"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","thead","tr"],legend:["fieldset"],caption:["table"],
colgroup:["table"],col:["table","colgroup"],li:["ul"]},a=/<\s*([\w\:]+)/,s={},t=0,v="__"+k._scopeName+"ToDomId",u;for(u in c)c.hasOwnProperty(u)&&(k=c[u],k.pre="option"==u?'\x3cselect multiple\x3d"multiple"\x3e':"\x3c"+k.join("\x3e\x3c")+"\x3e",k.post="\x3c/"+k.reverse().join("\x3e\x3c/")+"\x3e");var q;8>=n("ie")&&(q=function(a){a.__dojo_html5_tested="yes";var b=r("div",{innerHTML:"\x3cnav\x3ea\x3c/nav\x3e",style:{visibility:"hidden"}},a.body);1!==b.childNodes.length&&"abbr article aside audio canvas details figcaption figure footer header hgroup mark meter nav output progress section summary time video".replace(/\b\w+\b/g,
function(g){a.createElement(g)});m(b)});e.toDom=function(b,m){m=m||h.doc;var g=m[v];g||(m[v]=g=++t+"",s[g]=m.createElement("div"));8>=n("ie")&&!m.__dojo_html5_tested&&m.body&&q(m);b+="";var p=b.match(a),f=p?p[1].toLowerCase():"",g=s[g];if(p&&c[f]){p=c[f];g.innerHTML=p.pre+b+p.post;for(p=p.length;p;--p)g=g.firstChild}else g.innerHTML=b;if(1==g.childNodes.length)return g.removeChild(g.firstChild);for(f=m.createDocumentFragment();p=g.firstChild;)f.appendChild(p);return f};e.place=function(a,b,g){b=d.byId(b);
"string"==typeof a&&(a=/^\s*</.test(a)?e.toDom(a,b.ownerDocument):d.byId(a));if("number"==typeof g){var p=b.childNodes;!p.length||p.length<=g?b.appendChild(a):l(a,p[0>g?0:g])}else switch(g){case "before":l(a,b);break;case "after":g=a;(p=b.parentNode)&&(p.lastChild==b?p.appendChild(g):p.insertBefore(g,b.nextSibling));break;case "replace":b.parentNode.replaceChild(a,b);break;case "only":e.empty(b);b.appendChild(a);break;case "first":if(b.firstChild){l(a,b.firstChild);break}default:b.appendChild(a)}return a};
var r=e.create=function(a,m,g,p){var c=h.doc;g&&(g=d.byId(g),c=g.ownerDocument);"string"==typeof a&&(a=c.createElement(a));m&&b.set(a,m);g&&e.place(a,g,p);return a};e.empty=function(a){f(d.byId(a))};var m=e.destroy=function(a){if(a=d.byId(a)){var b=a;a=a.parentNode;b.firstChild&&f(b);a&&(n("ie")&&a.canHaveChildren&&"removeNode"in b?b.removeNode(!1):a.removeChild(b))}}})},"dojo/dom-attr":function(){define("exports ./sniff ./_base/lang ./dom ./dom-style ./dom-prop".split(" "),function(e,k,n,h,d,b){function l(a,
b){var c=a.getAttributeNode&&a.getAttributeNode(b);return!!c&&c.specified}var f={innerHTML:1,textContent:1,className:1,htmlFor:k("ie"),value:1},c={classname:"class",htmlfor:"for",tabindex:"tabIndex",readonly:"readOnly"};e.has=function(a,d){var t=d.toLowerCase();return f[b.names[t]||d]||l(h.byId(a),c[t]||d)};e.get=function(a,d){a=h.byId(a);var t=d.toLowerCase(),e=b.names[t]||d,u=a[e];if(f[e]&&"undefined"!=typeof u)return u;if("textContent"==e)return b.get(a,e);if("href"!=e&&("boolean"==typeof u||n.isFunction(u)))return u;
t=c[t]||d;return l(a,t)?a.getAttribute(t):null};e.set=function(a,s,t){a=h.byId(a);if(2==arguments.length){for(var l in s)e.set(a,l,s[l]);return a}l=s.toLowerCase();var u=b.names[l]||s,q=f[u];if("style"==u&&"string"!=typeof t)return d.set(a,t),a;if(q||"boolean"==typeof t||n.isFunction(t))return b.set(a,s,t);a.setAttribute(c[l]||s,t);return a};e.remove=function(a,b){h.byId(a).removeAttribute(c[b.toLowerCase()]||b)};e.getNodeProp=function(a,f){a=h.byId(a);var d=f.toLowerCase(),e=b.names[d]||f;if(e in
a&&"href"!=e)return a[e];d=c[d]||f;return l(a,d)?a.getAttribute(d):null}})},"dojo/dom-prop":function(){define("exports ./_base/kernel ./sniff ./_base/lang ./dom ./dom-style ./dom-construct ./_base/connect".split(" "),function(e,k,n,h,d,b,l,f){function c(a){var b="";a=a.childNodes;for(var f=0,d;d=a[f];f++)8!=d.nodeType&&(b=1==d.nodeType?b+c(d):b+d.nodeValue);return b}var a={},s=1,t=k._scopeName+"attrid";n.add("dom-textContent",function(a,b,c){return"textContent"in c});e.names={"class":"className",
"for":"htmlFor",tabindex:"tabIndex",readonly:"readOnly",colspan:"colSpan",frameborder:"frameBorder",rowspan:"rowSpan",textcontent:"textContent",valuetype:"valueType"};e.get=function(a,b){a=d.byId(a);var f=b.toLowerCase(),f=e.names[f]||b;return"textContent"==f&&!n("dom-textContent")?c(a):a[f]};e.set=function(c,u,q){c=d.byId(c);if(2==arguments.length&&"string"!=typeof u){for(var r in u)e.set(c,r,u[r]);return c}r=u.toLowerCase();r=e.names[r]||u;if("style"==r&&"string"!=typeof q)return b.set(c,q),c;if("innerHTML"==
r)return n("ie")&&c.tagName.toLowerCase()in{col:1,colgroup:1,table:1,tbody:1,tfoot:1,thead:1,tr:1,title:1}?(l.empty(c),c.appendChild(l.toDom(q,c.ownerDocument))):c[r]=q,c;if("textContent"==r&&!n("dom-textContent"))return l.empty(c),c.appendChild(c.ownerDocument.createTextNode(q)),c;if(h.isFunction(q)){var m=c[t];m||(m=s++,c[t]=m);a[m]||(a[m]={});var w=a[m][r];if(w)f.disconnect(w);else try{delete c[r]}catch(x){}q?a[m][r]=f.connect(c,r,q):c[r]=null;return c}c[r]=q;return c}})},"dojo/request/script":function(){define("module ./watch ./util ../_base/kernel ../_base/array ../_base/lang ../on ../dom ../dom-construct ../has ../_base/window".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s){function t(g,a){g.canDelete&&m._remove(g.id,a.options.frameDoc,!0)}function v(g){y&&y.length&&(d.forEach(y,function(g){m._remove(g.id,g.frameDoc);g.frameDoc=null}),y=[]);return g.options.jsonp?!g.data:!0}function u(g){return!!this.scriptLoaded}function q(g){return(g=g.options.checkString)&&eval("typeof("+g+') !\x3d\x3d "undefined"')}function r(g,a){if(this.canDelete){var p=this.response.options;y.push({id:this.id,frameDoc:p.ioArgs?p.ioArgs.frameDoc:p.frameDoc});p.ioArgs&&
(p.ioArgs.frameDoc=null);p.frameDoc=null}a?this.reject(a):this.resolve(g)}function m(a,c,f){var d=n.parseArgs(a,n.deepCopy({},c));a=d.url;c=d.options;var s=n.deferred(d,t,v,c.jsonp?null:c.checkString?q:u,r);b.mixin(s,{id:w+x++,canDelete:!1});c.jsonp&&(RegExp("[?\x26]"+c.jsonp+"\x3d").test(a)||(a+=(~a.indexOf("?")?"\x26":"?")+c.jsonp+"\x3d"+(c.frameDoc?"parent.":"")+w+"_callbacks."+s.id),s.canDelete=!0,z[s.id]=function(g){d.data=g;s.handleResponse(d)});n.notify&&n.notify.emit("send",d,s.promise.cancel);
if(!c.canAttach||c.canAttach(s)){var e=m._attach(s.id,a,c.frameDoc);if(!c.jsonp&&!c.checkString)var h=l(e,g,function(g){if("load"===g.type||p.test(e.readyState))h.remove(),s.scriptLoaded=g})}l.once(e,"error",function(g){s.reject(g);m._remove(s.id,c.frameDoc,!0)});k(s);return f?s:s.promise}a.add("script-readystatechange",function(g,a){return"undefined"!==typeof a.createElement("script").onreadystatechange&&("undefined"===typeof g.opera||"[object Opera]"!==g.opera.toString())});var w=e.id.replace(/[\/\.\-]/g,
"_"),x=0,g=a("script-readystatechange")?"readystatechange":"load",p=/complete|loaded/,z=h.global[w+"_callbacks"]={},y=[];m.get=m;m._attach=function(g,a,p){p=p||s.doc;var b=p.createElement("script");b.type="text/javascript";b.src=a;b.id=g;b.async=!0;b.charset="utf-8";return p.getElementsByTagName("head")[0].appendChild(b)};m._remove=function(g,a,p){c.destroy(f.byId(g,a));z[g]&&(p?z[g]=function(){delete z[g]}:delete z[g])};m._callbacksProperty=w+"_callbacks";return m})},"dojo/io/iframe":function(){define("../_base/config ../_base/json ../_base/kernel ../_base/lang ../_base/xhr ../sniff ../_base/window ../dom ../dom-construct ../query require ../aspect ../request/iframe".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v){n.deprecated("dojo/io/iframe","Use dojo/request/iframe.","2.0");b=v._iframeName;b=b.substring(0,b.lastIndexOf("_"));var u=h.delegate(v,{create:function(){return u._frame=v.create.apply(v,arguments)},get:null,post:null,send:function(a){var b,m=d._ioSetArgs(a,function(g){b&&b.cancel()},function(g){var a=null;g=g.ioArgs;try{var p=g.handleAs;"xml"===p||"html"===p?a=b.response.data:(a=b.response.text,"json"===p?a=k.fromJson(a):"javascript"===p&&(a=n.eval(a)))}catch(m){a=
m}return a},function(g,a){a.ioArgs._hasError=!0;return g}),c=m.ioArgs,s="GET",g=f.byId(a.form);a.method&&("POST"===a.method.toUpperCase()&&g)&&(s="POST");a={method:s,handleAs:"json"===a.handleAs||"javascript"===a.handleAs?"text":a.handleAs,form:a.form,query:g?null:a.content,data:g?a.content:null,timeout:a.timeout,ioArgs:c};a.method&&(a.method=a.method.toUpperCase());if(e.ioPublish&&n.publish&&!1!==c.args.ioPublish)var p=t.after(v,"_notifyStart",function(g){g.options.ioArgs===c&&(p.remove(),d._ioNotifyStart(m))},
!0);b=v(c.url,a,!0);c._callNext=b._callNext;b.then(function(){m.resolve(m)}).otherwise(function(g){m.ioArgs.error=g;m.reject(g)});return m},_iframeOnload:l.global[b+"_onload"]});h.setObject("dojo.io.iframe",u);return u})},"dojo/query":function(){define("./_base/kernel ./has ./dom ./on ./_base/array ./_base/lang ./selector/_loader ./selector/_loader!default".split(" "),function(e,k,n,h,d,b,l,f){function c(a,g){var p=function(p,b){if("string"==typeof b&&(b=n.byId(b),!b))return new g([]);var m="string"==
typeof p?a(p,b):p?p.end&&p.on?p:[p]:[];return m.end&&m.on?m:new g(m)};p.matches=a.match||function(g,a,b){return 0<p.filter([g],a,b).length};p.filter=a.filter||function(g,a,b){return p(a,b).filter(function(a){return-1<d.indexOf(g,a)})};if("function"!=typeof a){var b=a.search;a=function(g,a){return b(a||document,g)}}return p}k.add("array-extensible",function(){return 1==b.delegate([],{length:1}).length&&!k("bug-for-in-skips-shadowed")});var a=Array.prototype,s=a.slice,t=a.concat,v=d.forEach,u=function(a,
g,p){g=[0].concat(s.call(g,0));p=p||e.global;return function(b){g[0]=b;return a.apply(p,g)}},q=function(a){var g=this instanceof r&&k("array-extensible");"number"==typeof a&&(a=Array(a));var p=a&&"length"in a?a:arguments;if(g||!p.sort){for(var c=g?this:[],f=c.length=p.length,d=0;d<f;d++)c[d]=p[d];if(g)return c;p=c}b._mixin(p,m);p._NodeListCtor=function(g){return r(g)};return p},r=q,m=r.prototype=k("array-extensible")?[]:{};r._wrap=m._wrap=function(a,g,p){a=new (p||this._NodeListCtor||r)(a);return g?
a._stash(g):a};r._adaptAsMap=function(a,g){return function(){return this.map(u(a,arguments,g))}};r._adaptAsForEach=function(a,g){return function(){this.forEach(u(a,arguments,g));return this}};r._adaptAsFilter=function(a,g){return function(){return this.filter(u(a,arguments,g))}};r._adaptWithCondition=function(a,g,p){return function(){var b=arguments,m=u(a,b,p);if(g.call(p||e.global,b))return this.map(m);this.forEach(m);return this}};v(["slice","splice"],function(b){var g=a[b];m[b]=function(){return this._wrap(g.apply(this,
arguments),"slice"==b?this:null)}});v(["indexOf","lastIndexOf","every","some"],function(a){var g=d[a];m[a]=function(){return g.apply(e,[this].concat(s.call(arguments,0)))}});b.extend(q,{constructor:r,_NodeListCtor:r,toString:function(){return this.join(",")},_stash:function(a){this._parent=a;return this},on:function(a,g){var p=this.map(function(p){return h(p,a,g)});p.remove=function(){for(var g=0;g<p.length;g++)p[g].remove()};return p},end:function(){return this._parent?this._parent:new this._NodeListCtor(0)},
concat:function(a){var g=s.call(this,0),p=d.map(arguments,function(g){return s.call(g,0)});return this._wrap(t.apply(g,p),this)},map:function(a,g){return this._wrap(d.map(this,a,g),this)},forEach:function(a,g){v(this,a,g);return this},filter:function(a){var g=arguments,p=this,b=0;if("string"==typeof a){p=w._filterResult(this,g[0]);if(1==g.length)return p._stash(this);b=1}return this._wrap(d.filter(p,g[b],g[b+1]),this)},instantiate:function(a,g){var p=b.isFunction(a)?a:b.getObject(a);g=g||{};return this.forEach(function(a){new p(g,
a)})},at:function(){var a=new this._NodeListCtor(0);v(arguments,function(g){0>g&&(g=this.length+g);this[g]&&a.push(this[g])},this);return a._stash(this)}});var w=c(f,q);e.query=c(f,function(a){return q(a)});w.load=function(a,g,p){l.load(a,g,function(g){p(c(g,q))})};e._filterQueryResult=w._filterResult=function(a,g,p){return new q(w.filter(a,g,p))};e.NodeList=w.NodeList=q;return w})},"dojo/selector/_loader":function(){define(["../has","require"],function(e,k){if("undefined"!==typeof document){var n=
document.createElement("div");e.add("dom-qsa2.1",!!n.querySelectorAll);e.add("dom-qsa3",function(){try{return n.innerHTML="\x3cp class\x3d'TEST'\x3e\x3c/p\x3e",1==n.querySelectorAll(".TEST:empty").length}catch(d){}})}var h;return{load:function(d,b,l,f){if(f&&f.isBuild)l();else{f=k;d="default"==d?e("config-selectorEngine")||"css3":d;d="css2"==d||"lite"==d?"./lite":"css2.1"==d?e("dom-qsa2.1")?"./lite":"./acme":"css3"==d?e("dom-qsa3")?"./lite":"./acme":"acme"==d?"./acme":(f=b)&&d;if("?"==d.charAt(d.length-
1)){d=d.substring(0,d.length-1);var c=!0}if(c&&(e("dom-compliant-qsa")||h))return l(h);f([d],function(a){"./lite"!=d&&(h=a);l(a)})}}}})},"dojo/selector/acme":function(){define(["../dom","../sniff","../_base/array","../_base/lang","../_base/window"],function(e,k,n,h,d){var b=h.trim,l=n.forEach,f="BackCompat"==d.doc.compatMode,c=!1,a=function(){return!0},s=function(g){g=0<="\x3e~+".indexOf(g.slice(-1))?g+" * ":g+" ";for(var a=function(a,p){return b(g.slice(a,p))},p=[],m=-1,f=-1,d=-1,r=-1,s=-1,q=-1,
z=-1,u,t="",w="",l,e=0,h=g.length,x=null,y=null,v=function(){0<=q&&(x.id=a(q,e).replace(/\\/g,""),q=-1);if(0<=z){var g=z==e?null:a(z,e);x[0>"\x3e~+".indexOf(g)?"tag":"oper"]=g;z=-1}0<=s&&(x.classes.push(a(s+1,e).replace(/\\/g,"")),s=-1)};t=w,w=g.charAt(e),e<h;e++)if("\\"!=t)if(x||(l=e,x={query:null,pseudos:[],attrs:[],classes:[],tag:null,oper:null,id:null,getTag:function(){return c?this.otag:this.tag}},z=e),u)w==u&&(u=null);else if("'"==w||'"'==w)u=w;else if(0<=m)if("]"==w){y.attr?y.matchFor=a(d||
m+1,e):y.attr=a(m+1,e);if((m=y.matchFor)&&('"'==m.charAt(0)||"'"==m.charAt(0)))y.matchFor=m.slice(1,-1);y.matchFor&&(y.matchFor=y.matchFor.replace(/\\/g,""));x.attrs.push(y);y=null;m=d=-1}else"\x3d"==w&&(d=0<="|~^$*".indexOf(t)?t:"",y.type=d+w,y.attr=a(m+1,e-d.length),d=e+1);else 0<=f?")"==w&&(0<=r&&(y.value=a(f+1,e)),r=f=-1):"#"==w?(v(),q=e+1):"."==w?(v(),s=e):":"==w?(v(),r=e):"["==w?(v(),m=e,y={}):"("==w?(0<=r&&(y={name:a(r+1,e),value:null},x.pseudos.push(y)),f=e):" "==w&&t!=w&&(v(),0<=r&&x.pseudos.push({name:a(r+
1,e)}),x.loops=x.pseudos.length||x.attrs.length||x.classes.length,x.oquery=x.query=a(l,e),x.otag=x.tag=x.oper?null:x.tag||"*",x.tag&&(x.tag=x.tag.toUpperCase()),p.length&&p[p.length-1].oper&&(x.infixOper=p.pop(),x.query=x.infixOper.query+" "+x.query),p.push(x),x=null);return p},t=function(g,a){return!g?a:!a?g:function(){return g.apply(window,arguments)&&a.apply(window,arguments)}},v=function(g,a){var p=a||[];g&&p.push(g);return p},u=function(g){return 1==g.nodeType},q=function(g,a){return!g?"":"class"==
a?g.className||"":"for"==a?g.htmlFor||"":"style"==a?g.style.cssText||"":(c?g.getAttribute(a):g.getAttribute(a,2))||""},r={"*\x3d":function(g,a){return function(p){return 0<=q(p,g).indexOf(a)}},"^\x3d":function(g,a){return function(p){return 0==q(p,g).indexOf(a)}},"$\x3d":function(g,a){return function(p){p=" "+q(p,g);var b=p.lastIndexOf(a);return-1<b&&b==p.length-a.length}},"~\x3d":function(g,a){var p=" "+a+" ";return function(a){return 0<=(" "+q(a,g)+" ").indexOf(p)}},"|\x3d":function(g,a){var p=
a+"-";return function(b){b=q(b,g);return b==a||0==b.indexOf(p)}},"\x3d":function(g,a){return function(p){return q(p,g)==a}}};h=d.doc.documentElement;var m=!(h.nextElementSibling||"nextElementSibling"in h),w=!m?"nextElementSibling":"nextSibling",x=!m?"previousElementSibling":"previousSibling",g=m?u:a,p=function(a){for(;a=a[x];)if(g(a))return!1;return!0},z=function(a){for(;a=a[w];)if(g(a))return!1;return!0},y=function(a){var p=a.parentNode,p=7!=p.nodeType?p:p.nextSibling,b=0,m=p.children||p.childNodes,
c=a._i||a.getAttribute("_i")||-1,f=p._l||("undefined"!==typeof p.getAttribute?p.getAttribute("_l"):-1);if(!m)return-1;m=m.length;if(f==m&&0<=c&&0<=f)return c;k("ie")&&"undefined"!==typeof p.setAttribute?p.setAttribute("_l",m):p._l=m;c=-1;for(p=p.firstElementChild||p.firstChild;p;p=p[w])g(p)&&(k("ie")?p.setAttribute("_i",++b):p._i=++b,a===p&&(c=b));return c},C=function(g){return!(y(g)%2)},A=function(g){return y(g)%2},B={checked:function(g,a){return function(g){return!!("checked"in g?g.checked:g.selected)}},
disabled:function(g,a){return function(g){return g.disabled}},enabled:function(g,a){return function(g){return!g.disabled}},"first-child":function(){return p},"last-child":function(){return z},"only-child":function(g,a){return function(g){return p(g)&&z(g)}},empty:function(g,a){return function(g){var a=g.childNodes;for(g=g.childNodes.length-1;0<=g;g--){var p=a[g].nodeType;if(1===p||3==p)return!1}return!0}},contains:function(g,a){var p=a.charAt(0);if('"'==p||"'"==p)a=a.slice(1,-1);return function(g){return 0<=
g.innerHTML.indexOf(a)}},not:function(g,a){var p=s(a)[0],b={el:1};"*"!=p.tag&&(b.tag=1);p.classes.length||(b.classes=1);var m=F(p,b);return function(g){return!m(g)}},"nth-child":function(g,a){var p=parseInt;if("odd"==a)return A;if("even"==a)return C;if(-1!=a.indexOf("n")){var b=a.split("n",2),m=b[0]?"-"==b[0]?-1:p(b[0]):1,c=b[1]?p(b[1]):0,f=0,d=-1;0<m?0>c?c=c%m&&m+c%m:0<c&&(c>=m&&(f=c-c%m),c%=m):0>m&&(m*=-1,0<c&&(d=c,c%=m));if(0<m)return function(g){g=y(g);return g>=f&&(0>d||g<=d)&&g%m==c};a=c}var r=
p(a);return function(g){return y(g)==r}}},K=9>k("ie")||9==k("ie")&&k("quirks")?function(g){var a=g.toLowerCase();"class"==a&&(g="className");return function(p){return c?p.getAttribute(g):p[g]||p[a]}}:function(g){return function(a){return a&&a.getAttribute&&a.hasAttribute(g)}},F=function(g,p){if(!g)return a;p=p||{};var b=null;"el"in p||(b=t(b,u));"tag"in p||"*"!=g.tag&&(b=t(b,function(a){return a&&(c?a.tagName:a.tagName.toUpperCase())==g.getTag()}));"classes"in p||l(g.classes,function(g,a,p){var m=
RegExp("(?:^|\\s)"+g+"(?:\\s|$)");b=t(b,function(g){return m.test(g.className)});b.count=a});"pseudos"in p||l(g.pseudos,function(g){var a=g.name;B[a]&&(b=t(b,B[a](a,g.value)))});"attrs"in p||l(g.attrs,function(g){var a,p=g.attr;g.type&&r[g.type]?a=r[g.type](p,g.matchFor):p.length&&(a=K(p));a&&(b=t(b,a))});"id"in p||g.id&&(b=t(b,function(a){return!!a&&a.id==g.id}));b||"default"in p||(b=a);return b},G=function(g){return function(a,p,b){for(;a=a[w];)if(!m||u(a)){(!b||ea(a,b))&&g(a)&&p.push(a);break}return p}},
P=function(a){return function(p,b,m){for(p=p[w];p;){if(g(p)){if(m&&!ea(p,m))break;a(p)&&b.push(p)}p=p[w]}return b}},Q=function(p,b){var m=function(g){var a=[];try{a=Array.prototype.slice.call(g)}catch(p){for(var b=0,m=g.length;b<m;b++)a.push(g[b])}return a};p=p||a;return function(a,c,f){var d=0,r=[],r=m(a.children||a.childNodes);for(b&&n.forEach(r,function(g){1===g.nodeType&&(r=r.concat(m(g.getElementsByTagName("*"))))});a=r[d++];)g(a)&&((!f||ea(a,f))&&p(a,d))&&c.push(a);return c}},H=function(g,a){for(var p=
g.parentNode;p&&p!=a;)p=p.parentNode;return!!p},D={},L=function(g){var p=D[g.query];if(p)return p;var b=g.infixOper,b=b?b.oper:"",m=F(g,{el:1}),c="*"==g.tag,r=d.doc.getElementsByClassName;if(b)r={el:1},c&&(r.tag=1),m=F(g,r),"+"==b?p=G(m):"~"==b?p=P(m):"\x3e"==b&&(p=Q(m));else if(g.id)m=!g.loops&&c?a:F(g,{el:1,id:1}),p=function(a,p){var b=e.byId(g.id,a.ownerDocument||a);a.ownerDocument&&!H(a,a.ownerDocument)&&n.some(11===a.nodeType?a.childNodes:[a],function(a){a=Q(function(a){return a.id===g.id},!0)(a,
[]);if(a.length)return b=a[0],!1});if(b&&m(b)&&(9==a.nodeType||H(b,a)))return v(b,p)};else if(r&&/\{\s*\[native code\]\s*\}/.test(String(r))&&g.classes.length&&!f)var m=F(g,{el:1,classes:1,id:1}),s=g.classes.join(" "),p=function(g,a,p){a=v(0,a);for(var b,c=0,f=g.getElementsByClassName(s);b=f[c++];)m(b,g)&&ea(b,p)&&a.push(b);return a};else!c&&!g.loops?p=function(a,p,b){p=v(0,p);for(var m=0,c=g.getTag(),c=c?a.getElementsByTagName(c):[];a=c[m++];)ea(a,b)&&p.push(a);return p}:(m=F(g,{el:1,tag:1,id:1}),
p=function(a,p,b){p=v(0,p);for(var c,f=0,d=(c=g.getTag())?a.getElementsByTagName(c):[];c=d[f++];)m(c,a)&&ea(c,b)&&p.push(c);return p});return D[g.query]=p},E={},I={},R=function(g){var a=s(b(g));if(1==a.length){var p=L(a[0]);return function(g){if(g=p(g,[]))g.nozip=!0;return g}}return function(g){g=v(g);for(var p,b,m=a.length,c,f,d=0;d<m;d++){f=[];p=a[d];b=g.length-1;0<b&&(c={},f.nozip=!0);b=L(p);for(var r=0;p=g[r];r++)b(p,f,c);if(!f.length)break;g=f}return f}},V=k("ie")?"commentStrip":"nozip",N=!!d.doc.querySelectorAll,
M=/\\[>~+]|n\+\d|([^ \\])?([>~+])([^ =])?/g,T=function(g,a,p,b){return p?(a?a+" ":"")+p+(b?" "+b:""):g},U=/([^[]*)([^\]]*])?/g,W=function(g,a,p){return a.replace(M,T)+(p||"")},X=function(g,a){g=g.replace(U,W);if(N){var p=I[g];if(p&&!a)return p}if(p=E[g])return p;var p=g.charAt(0),b=-1==g.indexOf(" ");0<=g.indexOf("#")&&b&&(a=!0);if(N&&!a&&-1=="\x3e~+".indexOf(p)&&(!k("ie")||-1==g.indexOf(":"))&&!(f&&0<=g.indexOf("."))&&-1==g.indexOf(":contains")&&-1==g.indexOf(":checked")&&-1==g.indexOf("|\x3d")){var m=
0<="\x3e~+".indexOf(g.charAt(g.length-1))?g+" *":g;return I[g]=function(a){if(9==a.nodeType||b)try{var p=a.querySelectorAll(m);p[V]=!0;return p}catch(c){}return X(g,!0)(a)}}var c=g.match(/([^\s,](?:"(?:\\.|[^"])+"|'(?:\\.|[^'])+'|[^,])*)/g);return E[g]=2>c.length?R(g):function(g){for(var a=0,p=[],b;b=c[a++];)p=p.concat(R(b)(g));return p}},O=0,S=k("ie")?function(g){return c?g.getAttribute("_uid")||g.setAttribute("_uid",++O)||O:g.uniqueID}:function(g){return g._uid||(g._uid=++O)},ea=function(g,a){if(!a)return 1;
var p=S(g);return!a[p]?a[p]=1:0},Y=function(g){if(g&&g.nozip)return g;if(!g||!g.length)return[];if(2>g.length)return[g[0]];var a=[];O++;var p,b;if(k("ie")&&c){var m=O+"";for(p=0;p<g.length;p++)if((b=g[p])&&b.getAttribute("_zipIdx")!=m)a.push(b),b.setAttribute("_zipIdx",m)}else if(k("ie")&&g.commentStrip)try{for(p=0;p<g.length;p++)(b=g[p])&&u(b)&&a.push(b)}catch(f){}else for(p=0;p<g.length;p++)if((b=g[p])&&b._zipIdx!=O)a.push(b),b._zipIdx=O;return a},ca=function(g,a){a=a||d.doc;c="div"===(a.ownerDocument||
a).createElement("div").tagName;var p=X(g)(a);return p&&p.nozip?p:Y(p)};ca.filter=function(g,a,p){for(var b=[],m=s(a),m=1==m.length&&!/[^\w#\.]/.test(a)?F(m[0]):function(g){return-1!=n.indexOf(ca(a,e.byId(p)),g)},c=0,f;f=g[c];c++)m(f)&&b.push(f);return b};return ca})},"dojo/request/iframe":function(){define("module require ./watch ./util ./handlers ../_base/lang ../io-query ../query ../has ../dom ../dom-construct ../_base/window ../NodeList-dom".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t){function v(g){return!this.isFulfilled()}
function u(g){return!!this._finished}function q(g,a){if(!a)try{var c=g.options,r=m.doc(m._frame),s=c.handleAs;if("html"!==s){if("xml"===s)if("html"===r.documentElement.tagName.toLowerCase()){f("a",r.documentElement).orphan();var q=r.documentElement.innerText||r.documentElement.textContent,q=q.replace(/>\s+</g,"\x3e\x3c");g.text=b.trim(q)}else g.data=r;else g.text=r.getElementsByTagName("textarea")[0].value;d(g)}else g.data=r}catch(u){a=u}a?this.reject(a):this._finished?this.resolve(g):this.reject(Error("Invalid dojo/request/iframe request state"))}
function r(g){this._callNext()}function m(a,b,c){var f=h.parseArgs(a,h.deepCreate(g,b),!0);a=f.url;b=f.options;if("GET"!==b.method&&"POST"!==b.method)throw Error(b.method+" not supported by dojo/request/iframe");m._frame||(m._frame=m.create(m._iframeName,x+"();"));a=h.deferred(f,null,v,u,q,r);a._callNext=function(){this._calledNext||(this._calledNext=!0,m._currentDfd=null,m._fireNextRequest())};a._legacy=c;m._dfdQueue.push(a);m._fireNextRequest();n(a);return c?a:a.promise}var w=e.id.replace(/[\/\.\-]/g,
"_"),x=w+"_onload";t.global[x]||(t.global[x]=function(){var g=m._currentDfd;if(g){var b=a.byId(g.response.options.form)||g._tmpForm;if(b){for(var c=g._contentToClean,f=0;f<c.length;f++)for(var d=c[f],r=0;r<b.childNodes.length;r++){var q=b.childNodes[r];if(q.name===d){s.destroy(q);break}}g._originalAction&&b.setAttribute("action",g._originalAction);g._originalMethod&&(b.setAttribute("method",g._originalMethod),b.method=g._originalMethod);g._originalTarget&&(b.setAttribute("target",g._originalTarget),
b.target=g._originalTarget)}g._tmpForm&&(s.destroy(g._tmpForm),delete g._tmpForm);g._finished=!0}else m._fireNextRequest()});var g={method:"POST"};m.create=function(g,a,b){if(t.global[g])return t.global[g];if(t.global.frames[g])return t.global.frames[g];b||(c("config-useXDomain")&&!c("config-dojoBlankHtmlUrl")&&console.warn("dojo/request/iframe: When using cross-domain Dojo builds, please save dojo/resources/blank.html to your domain and set dojoConfig.dojoBlankHtmlUrl to the path on your domain to blank.html"),
b=c("config-dojoBlankHtmlUrl")||k.toUrl("dojo/resources/blank.html"));a=s.place('\x3ciframe id\x3d"'+g+'" name\x3d"'+g+'" src\x3d"'+b+'" onload\x3d"'+a+'" style\x3d"position: absolute; left: 1px; top: 1px; height: 1px; width: 1px; visibility: hidden"\x3e',t.body());return t.global[g]=a};m.doc=function(g){if(g.contentDocument)return g.contentDocument;var a=g.name;if(a){var b=t.doc.getElementsByTagName("iframe");if(g.document&&b[a].contentWindow&&b[a].contentWindow.document)return b[a].contentWindow.document;
if(t.doc.frames[a]&&t.doc.frames[a].document)return t.doc.frames[a].document}return null};m.setSrc=function(g,a,b){g=t.global.frames[g.name];g.contentWindow&&(g=g.contentWindow);try{b?g.location.replace(a):g.location=a}catch(m){console.log("dojo/request/iframe.setSrc: ",m)}};m._iframeName=w+"_IoIframe";m._notifyStart=function(){};m._dfdQueue=[];m._currentDfd=null;m._fireNextRequest=function(){var g;try{if(!m._currentDfd&&m._dfdQueue.length){do g=m._currentDfd=m._dfdQueue.shift();while(g&&(g.canceled||
g.isCanceled&&g.isCanceled())&&m._dfdQueue.length);if(!g||g.canceled||g.isCanceled&&g.isCanceled())m._currentDfd=null;else{var c=g.response,f=c.options,d=g._contentToClean=[],r=a.byId(f.form),q=h.notify,u=f.data||null,x;!g._legacy&&"POST"===f.method&&!r?r=g._tmpForm=s.create("form",{name:w+"_form",style:{position:"absolute",top:"-1000px",left:"-1000px"}},t.body()):"GET"===f.method&&(r&&-1<c.url.indexOf("?"))&&(x=c.url.slice(c.url.indexOf("?")+1),u=b.mixin(l.queryToObject(x),u));if(r){if(!g._legacy){var e=
r;do e=e.parentNode;while(e&&e!==t.doc.documentElement);e||(r.style.position="absolute",r.style.left="-1000px",r.style.top="-1000px",t.body().appendChild(r));r.name||(r.name=w+"_form")}if(u){var e=function(g,a){s.create("input",{type:"hidden",name:g,value:a},r);d.push(g)},v;for(v in u){var k=u[v];if(b.isArray(k)&&1<k.length)for(x=0;x<k.length;x++)e(v,k[x]);else r[v]?r[v].value=k:e(v,k)}}var n=r.getAttributeNode("action"),D=r.getAttributeNode("method"),L=r.getAttributeNode("target");c.url&&(g._originalAction=
n?n.value:null,n?n.value=c.url:r.setAttribute("action",c.url));if(g._legacy){if(!D||!D.value)D?D.value=f.method:r.setAttribute("method",f.method)}else g._originalMethod=D?D.value:null,D?D.value=f.method:r.setAttribute("method",f.method);g._originalTarget=L?L.value:null;L?L.value=m._iframeName:r.setAttribute("target",m._iframeName);r.target=m._iframeName;q&&q.emit("send",c,g.promise.cancel);m._notifyStart(c);r.submit()}else f="",c.options.data&&(f=c.options.data,"string"!==typeof f&&(f=l.objectToQuery(f))),
e=c.url+(-1<c.url.indexOf("?")?"\x26":"?")+f,q&&q.emit("send",c,g.promise.cancel),m._notifyStart(c),m.setSrc(m._frame,e,!0)}}}catch(E){g.reject(E)}};h.addCommonMethods(m,["GET","POST"]);return m})},"dojo/NodeList-dom":function(){define("./_base/kernel ./query ./_base/array ./_base/lang ./dom-class ./dom-construct ./dom-geometry ./dom-attr ./dom-style".split(" "),function(e,k,n,h,d,b,l,f,c){function a(a){return function(b,c,g){return 2==arguments.length?a["string"==typeof c?"get":"set"](b,c):a.set(b,
c,g)}}var s=function(a){return 1==a.length&&"string"==typeof a[0]},t=function(a){var b=a.parentNode;b&&b.removeChild(a)},v=k.NodeList,u=v._adaptWithCondition,q=v._adaptAsForEach,r=v._adaptAsMap;h.extend(v,{_normalize:function(a,c){var f=!0===a.parse;if("string"==typeof a.template){var g=a.templateFunc||e.string&&e.string.substitute;a=g?g(a.template,a):a}g=typeof a;"string"==g||"number"==g?(a=b.toDom(a,c&&c.ownerDocument),a=11==a.nodeType?h._toArray(a.childNodes):[a]):h.isArrayLike(a)?h.isArray(a)||
(a=h._toArray(a)):a=[a];f&&(a._runParse=!0);return a},_cloneNode:function(a){return a.cloneNode(!0)},_place:function(a,c,f,g){if(!(1!=c.nodeType&&"only"==f))for(var p,d=a.length,r=d-1;0<=r;r--){var s=g?this._cloneNode(a[r]):a[r];if(a._runParse&&e.parser&&e.parser.parse){p||(p=c.ownerDocument.createElement("div"));p.appendChild(s);e.parser.parse(p);for(s=p.firstChild;p.firstChild;)p.removeChild(p.firstChild)}r==d-1?b.place(s,c,f):c.parentNode.insertBefore(s,c);c=s}},position:r(l.position),attr:u(a(f),
s),style:u(a(c),s),addClass:q(d.add),removeClass:q(d.remove),toggleClass:q(d.toggle),replaceClass:q(d.replace),empty:q(b.empty),removeAttr:q(f.remove),marginBox:r(l.getMarginBox),place:function(a,c){var f=k(a)[0];return this.forEach(function(g){b.place(g,f,c)})},orphan:function(a){return(a?k._filterResult(this,a):this).forEach(t)},adopt:function(a,b){return k(a).place(this[0],b)._stash(this)},query:function(a){if(!a)return this;var b=new v;this.map(function(c){k(a,c).forEach(function(g){void 0!==
g&&b.push(g)})});return b._stash(this)},filter:function(a){var b=arguments,c=this,g=0;if("string"==typeof a){c=k._filterResult(this,b[0]);if(1==b.length)return c._stash(this);g=1}return this._wrap(n.filter(c,b[g],b[g+1]),this)},addContent:function(a,c){a=this._normalize(a,this[0]);for(var f=0,g;g=this[f];f++)a.length?this._place(a,g,c,0<f):b.empty(g);return this}});return v})},"dojo/dom-class":function(){define(["./_base/lang","./_base/array","./dom"],function(e,k,n){function h(c){if("string"==typeof c||
c instanceof String){if(c&&!b.test(c))return l[0]=c,l;c=c.split(b);c.length&&!c[0]&&c.shift();c.length&&!c[c.length-1]&&c.pop();return c}return!c?[]:k.filter(c,function(a){return a})}var d,b=/\s+/,l=[""],f={};return d={contains:function(b,a){return 0<=(" "+n.byId(b).className+" ").indexOf(" "+a+" ")},add:function(b,a){b=n.byId(b);a=h(a);var f=b.className,d,f=f?" "+f+" ":" ";d=f.length;for(var l=0,u=a.length,q;l<u;++l)(q=a[l])&&0>f.indexOf(" "+q+" ")&&(f+=q+" ");d<f.length&&(b.className=f.substr(1,
f.length-2))},remove:function(b,a){b=n.byId(b);var f;if(void 0!==a){a=h(a);f=" "+b.className+" ";for(var d=0,l=a.length;d<l;++d)f=f.replace(" "+a[d]+" "," ");f=e.trim(f)}else f="";b.className!=f&&(b.className=f)},replace:function(b,a,s){b=n.byId(b);f.className=b.className;d.remove(f,s);d.add(f,a);b.className!==f.className&&(b.className=f.className)},toggle:function(b,a,f){b=n.byId(b);if(void 0===f){a=h(a);for(var t=0,l=a.length,u;t<l;++t)u=a[t],d[d.contains(b,u)?"remove":"add"](b,u)}else d[f?"add":
"remove"](b,a);return f}}})},"esri/Map":function(){define("require exports ./core/tsSupport/declareExtendsHelper ./core/tsSupport/decorateHelper ./core/Accessor ./core/CollectionFlattener ./core/Evented ./support/LayersMixin ./Ground ./support/basemapUtils ./support/groundUtils ./core/accessorSupport/decorators".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t){return function(f){function d(b){f.call(this);this.basemap=null;this.ground=new c;this._basemapCache=a.createCache()}n(d,f);Object.defineProperty(d.prototype,
"allLayers",{get:function(){return new b({root:this,rootCollectionNames:["basemap.baseLayers","ground.layers","layers","basemap.referenceLayers"],getChildrenFunction:function(a){return a.layers}})},enumerable:!0,configurable:!0});d.prototype.castBasemap=function(b){return a.ensureType(b,this._basemapCache)};h([t.property({readOnly:!0})],d.prototype,"allLayers",null);h([t.property()],d.prototype,"basemap",void 0);h([t.cast("basemap")],d.prototype,"castBasemap",null);h([t.property(),t.cast(s.ensureType)],
d.prototype,"ground",void 0);return d=h([t.subclass("esri.Map")],d)}(t.declared(d,l,f))})},"esri/core/tsSupport/declareExtendsHelper":function(){define(["require","exports"],function(e,k){return function(e,h){e.__bases__=h.__bases__}})},"esri/core/tsSupport/decorateHelper":function(){define([],function(){return function(e,k,n,h){var d=arguments.length,b=3>d?k:null===h?h=Object.getOwnPropertyDescriptor(k,n):h,l;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)b=Reflect.decorate(e,
k,n,h);else for(var f=e.length-1;0<=f;f--)if(l=e[f])b=(3>d?l(b):3<d?l(k,n,b):l(k,n))||b;return 3<d&&b&&Object.defineProperty(k,n,b),b}})},"esri/core/Accessor":function(){define("./declare ./accessorSupport/Properties ./accessorSupport/get ./accessorSupport/introspection ./accessorSupport/set ./accessorSupport/watch".split(" "),function(e,k,n,h,d,b){k=k.default;e.before(function(b,c){e.hasMixin(b,l)&&h.processPrototype(c)});e.after(function(b){e.hasMixin(b,l)&&(h.processClass(b),Object.defineProperties(b.prototype,
{initialized:{get:function(){return this.__accessor__&&this.__accessor__.initialized||!1}},destroyed:{get:function(){return this.__accessor__&&this.__accessor__.destroyed||!1}}}))});var l=e(null,{declaredClass:"esri.core.Accessor","-chains-":{initialize:"after",destroy:"before"},constructor:function(){if(this.constructor===l)throw Error("[accessor] cannot instanciate Accessor. This can be fixed by creating a subclass of Accessor");Object.defineProperty(this,"__accessor__",{value:new k(this)});if(0<
arguments.length&&this.normalizeCtorArgs){for(var b=[],c=0;c<arguments.length;c++)b.push(arguments[c]);this.__accessor__.ctorArgs=this.normalizeCtorArgs.apply(this,b)}},__accessor__:null,postscript:function(b){var c=this.__accessor__;b=c.ctorArgs||b;var a;null!=this.getDefaults&&(a=this.getDefaults(b||{}),this.set(a));c.initialize();b&&(this.set(b),c.ctorArgs=null);this.initialize()},initialize:function(){},destroy:function(){if(this.__accessor__)b.removeTarget(this),this.__accessor__.destroy();else try{throw Error("instance is already destroyed");
}catch(f){console.warn(f.stack)}},get:function(b){return n.get(this,b)},hasOwnProperty:function(b){return this.__accessor__?this.__accessor__.has(b):Object.prototype.hasOwnProperty.call(this,b)},keys:function(){return this.__accessor__?this.__accessor__.keys():[]},notifyChange:function(b){this.__accessor__.propertyInvalidated(b)},set:function(b,c){d.set(this,b,c);return this},watch:function(f,c,a){return b.watch(this,f,c,a)},_clearOverride:function(b){return this.__accessor__.clearOverride(b)},_override:function(b,
c){return this.__accessor__.override(b,c)},_isOverridden:function(b){return this.__accessor__.isOverridden(b)},_get:function(b){return this.__accessor__.internalGet(b)},_set:function(b,c){return this.__accessor__.internalSet(b,c)}});return l})},"esri/core/declare":function(){define(["require","exports","dojo/_base/declare"],function(e,k,n){function h(b,c){if(b&&!(Array.isArray(b)||"function"===typeof b))c=b,b=null;b=b||[];c=c||{};return d([this].concat(b),c)}function d(f,c){if(f&&!(Array.isArray(f)||
"function"===typeof f))c=f,f=null;"function"===typeof f?f=[f]:f||(f=[]);c=c||{};var a,d;a=0;for(d=b.length;a<d;a++)b[a](f,c);var t=n(f,c);t.createSubclass=h;a=0;for(d=l.length;a<d;a++)l[a](t);return t}var b=[],l=[];(function(f){f.hasMixin=function(b,a){var f;f=Array.isArray(b)?b.reduce(function(a,b){return b._meta?a.concat(b._meta.bases):a},[]):b._meta?b._meta.bases:b;if(!f)return!1;if("string"===typeof a)for(var d=f.length-1;0<=d;d--)if(f[d].prototype.declaredClass===a)return!0;return-1!==f.indexOf(a)};
f.safeMixin=function(b,a){return n.safeMixin(b,a)};f.before=function(c){b.push(c)};f.after=function(b){l.push(b)}})(d||(d={}));return d})},"dojo/_base/declare":function(){define(["./kernel","../has","./lang"],function(e,k,n){function h(g,a){throw Error("declare"+(a?" "+a:"")+": "+g);}function d(g,a){for(var p=[],b=[{cls:0,refs:[]}],m={},c=1,f=g.length,d=0,r,s,q,u,t;d<f;++d){(r=g[d])?"[object Function]"!=z.call(r)&&h("mixin #"+d+" is not a callable constructor.",a):h("mixin #"+d+" is unknown. Did you use dojo.require to pull it in?",
a);s=r._meta?r._meta.bases:[r];q=0;for(r=s.length-1;0<=r;--r)u=s[r].prototype,u.hasOwnProperty("declaredClass")||(u.declaredClass="uniqName_"+C++),u=u.declaredClass,m.hasOwnProperty(u)||(m[u]={count:0,refs:[],cls:s[r]},++c),u=m[u],q&&q!==u&&(u.refs.push(q),++q.count),q=u;++q.count;b[0].refs.push(q)}for(;b.length;){q=b.pop();p.push(q.cls);for(--c;t=q.refs,1==t.length;){q=t[0];if(!q||--q.count){q=0;break}p.push(q.cls);--c}if(q){d=0;for(f=t.length;d<f;++d)q=t[d],--q.count||b.push(q)}}c&&h("can't build consistent linearization",
a);r=g[0];p[0]=r?r._meta&&r===p[p.length-r._meta.bases.length]?r._meta.bases.length:1:0;return p}function b(g,a,b){var m,c,f,d,r,q,s,z=this._inherited=this._inherited||{};"string"==typeof g&&(m=g,g=a,a=b);b=0;d=g.callee;(m=m||d.nom)||h("can't deduce a name to call inherited()",this.declaredClass);r=this.constructor._meta;f=r.bases;s=z.p;if(m!=A){if(z.c!==d&&(s=0,q=f[0],r=q._meta,r.hidden[m]!==d)){(c=r.chains)&&"string"==typeof c[m]&&h("calling chained method with inherited: "+m,this.declaredClass);
do if(r=q._meta,c=q.prototype,r&&(c[m]===d&&c.hasOwnProperty(m)||r.hidden[m]===d))break;while(q=f[++s]);s=q?s:-1}if(q=f[++s])if(c=q.prototype,q._meta&&c.hasOwnProperty(m))b=c[m];else{d=p[m];do if(c=q.prototype,(b=c[m])&&(q._meta?c.hasOwnProperty(m):b!==d))break;while(q=f[++s])}b=q&&b||p[m]}else{if(z.c!==d&&(s=0,(r=f[0]._meta)&&r.ctor!==d)){c=r.chains;for((!c||"manual"!==c.constructor)&&h("calling chained constructor with inherited",this.declaredClass);(q=f[++s])&&!((r=q._meta)&&r.ctor===d););s=q?
s:-1}for(;(q=f[++s])&&!(b=(r=q._meta)?r.ctor:q););b=q&&b}z.c=b;z.p=s;if(b)return!0===a?b:b.apply(this,a||g)}function l(g,a){return"string"==typeof g?this.__inherited(g,a,!0):this.__inherited(g,!0)}function f(g,a,p){var b=this.getInherited(g,a);if(b)return b.apply(this,p||a||g)}function c(g){for(var a=this.constructor._meta.bases,p=0,b=a.length;p<b;++p)if(a[p]===g)return!0;return this instanceof g}function a(g,a){for(var p in a)p!=A&&a.hasOwnProperty(p)&&(g[p]=a[p]);if(k("bug-for-in-skips-shadowed"))for(var b=
n._extraNames,m=b.length;m;)p=b[--m],p!=A&&a.hasOwnProperty(p)&&(g[p]=a[p])}function s(g){x.safeMixin(this.prototype,g);return this}function t(g,a){g instanceof Array||"function"==typeof g||(a=g,g=void 0);a=a||{};g=g||[];return x([this].concat(g),a)}function v(g,a){return function(){var p=arguments,b=p,m=p[0],c,f;f=g.length;var d;if(!(this instanceof p.callee))return w(p);if(a&&(m&&m.preamble||this.preamble)){d=Array(g.length);d[0]=p;for(c=0;;){if(m=p[0])(m=m.preamble)&&(p=m.apply(this,p)||p);m=g[c].prototype;
(m=m.hasOwnProperty("preamble")&&m.preamble)&&(p=m.apply(this,p)||p);if(++c==f)break;d[c]=p}}for(c=f-1;0<=c;--c)m=g[c],(m=(f=m._meta)?f.ctor:m)&&m.apply(this,d?d[c]:p);(m=this.postscript)&&m.apply(this,b)}}function u(g,a){return function(){var p=arguments,b=p,m=p[0];if(!(this instanceof p.callee))return w(p);a&&(m&&(m=m.preamble)&&(b=m.apply(this,b)||b),(m=this.preamble)&&m.apply(this,b));g&&g.apply(this,p);(m=this.postscript)&&m.apply(this,p)}}function q(g){return function(){var a=arguments,p=0,
b,m;if(!(this instanceof a.callee))return w(a);for(;b=g[p];++p)if(b=(m=b._meta)?m.ctor:b){b.apply(this,a);break}(b=this.postscript)&&b.apply(this,a)}}function r(g,a,p){return function(){var b,m,c=0,f=1;p&&(c=a.length-1,f=-1);for(;b=a[c];c+=f)m=b._meta,(b=(m?m.hidden:b.prototype)[g])&&b.apply(this,arguments)}}function m(g){y.prototype=g.prototype;g=new y;y.prototype=null;return g}function w(g){var a=g.callee,p=m(a);a.apply(p,g);return p}function x(f,w,e){"string"!=typeof f&&(e=w,w=f,f="");e=e||{};
var y,C,H,D,L,E,I,R=1,V=w;"[object Array]"==z.call(w)?(E=d(w,f),H=E[0],R=E.length-H,w=E[R]):(E=[0],w?"[object Function]"==z.call(w)?(H=w._meta,E=E.concat(H?H.bases:w)):h("base class is not a callable constructor.",f):null!==w&&h("unknown base class. Did you use dojo.require to pull it in?",f));if(w)for(C=R-1;;--C){y=m(w);if(!C)break;H=E[C];(H._meta?a:g)(y,H.prototype);D=k("csp-restrictions")?function(){}:new Function;D.superclass=w;D.prototype=y;w=y.constructor=D}else y={};x.safeMixin(y,e);H=e.constructor;
H!==p.constructor&&(H.nom=A,y.constructor=H);for(C=R-1;C;--C)(H=E[C]._meta)&&H.chains&&(I=g(I||{},H.chains));y["-chains-"]&&(I=g(I||{},y["-chains-"]));H=!I||!I.hasOwnProperty(A);E[0]=D=I&&"manual"===I.constructor?q(E):1==E.length?u(e.constructor,H):v(E,H);D._meta={bases:E,hidden:e,chains:I,parents:V,ctor:e.constructor};D.superclass=w&&w.prototype;D.extend=s;D.createSubclass=t;D.prototype=y;y.constructor=D;y.getInherited=l;y.isInstanceOf=c;y.inherited=B;y.__inherited=b;f&&(y.declaredClass=f,n.setObject(f,
D));if(I)for(L in I)y[L]&&("string"==typeof I[L]&&L!=A)&&(H=y[L]=r(L,E,"after"===I[L]),H.nom=L);return D}var g=n.mixin,p=Object.prototype,z=p.toString,y,C=0,A="constructor";y=k("csp-restrictions")?function(){}:new Function;var B=e.config.isDebug?f:b;e.safeMixin=x.safeMixin=function(g,a){var b,m;for(b in a)if(m=a[b],(m!==p[b]||!(b in p))&&b!=A)"[object Function]"==z.call(m)&&(m.nom=b),g[b]=m;if(k("bug-for-in-skips-shadowed")&&a)for(var c=n._extraNames,f=c.length;f;)if(b=c[--f],m=a[b],(m!==p[b]||!(b in
p))&&b!=A)"[object Function]"==z.call(m)&&(m.nom=b),g[b]=m;return g};return e.declare=x})},"esri/core/accessorSupport/Properties":function(){define("require exports dojo/has ./Store ./PropertyOrigin ./extensions ../Logger".split(" "),function(e,k,n,h,d,b,l){l.getLogger("esri.core.Accessor");var f=0;e=function(){function c(a){this.host=a;this._origin=d.OriginId.USER;this.cursors={};this.ctorArgs=null;this.destroyed=!1;this.dirties={};this.initialized=!1;this.metadatas=this.host.constructor.__accessorMetadata__;
this.overridden=null;this.store=new h.default;Object.defineProperty(this,"uid",{value:f++})}c.prototype.initialize=function(){this.initialized=!0;b.instanceCreated(this.host,this.metadatas)};c.prototype.destroy=function(){this.destroyed=!0;for(var a=this.cursors,b=0,c=Object.getOwnPropertyNames(a);b<c.length;b++){var f=c[b],d=a[f];if(d){for(;0<d.length;)d.pop().propertyDestroyed(this,f);a[f]=null}}};c.prototype.clearOverride=function(a){this.isOverridden(a)&&(this.overridden[a]=!1,this.propertyInvalidated(a))};
c.prototype.get=function(a){var b=this.metadatas[a];if(this.store.has(a)&&!0===!this.dirties[a])return this.store.get(a);var c=b.get;return c?(b=c.call(this.host),this.store.set(a,b,d.OriginId.COMPUTED),this.propertyCommitted(a),b):b.value};c.prototype.originOf=function(a){var b=this.store.originOf(a);return void 0===b&&(a=this.metadatas[a])&&a.hasOwnProperty("value")?"defaults":d.idToName(b)};c.prototype.has=function(a){return!this.metadatas[a]?!1:this.store.has(a)};c.prototype.internalGet=function(a){if(this.metadatas[a]){var b=
this.store;return b.has(a)?b.get(a):this.metadatas[a].value}};c.prototype.internalSet=function(a,b){this.metadatas[a]&&(this.propertyInvalidated(a),this.initialized?this.store.set(a,b,this._origin):this.store.set(a,b,d.OriginId.DEFAULTS),this.propertyCommitted(a))};c.prototype.isOverridden=function(a){return null!=this.overridden&&!0===this.overridden[a]};c.prototype.keys=function(){return this.store.keys()};c.prototype.override=function(a,b){this.metadatas[a]&&(this.overridden||(this.overridden=
{}),this.overridden[a]=!0,this.internalSet(a,b))};c.prototype.set=function(a,b){if(this.metadatas[a]){var c=this.metadatas[a],f=c.set;(c=c.cast)&&(b=c.call(this.host,b));f?f.call(this.host,b):this.internalSet(a,b)}};c.prototype.setDefaultOrigin=function(a){this._origin=d.nameToId(a)};c.prototype.propertyInvalidated=function(a){var b=this.cursors[a];if(b)for(var c=0;c<b.length;c++)b[c].propertyInvalidated(this,a);this.isOverridden(a)||(this.dirties[a]=!0)};c.prototype.propertyCommitted=function(a){this.dirties[a]=
!1;var b=this.cursors[a];if(b)for(var c=0;c<b.length;c++)b[c].propertyCommitted(this,a)};c.prototype.addCursor=function(a,b){var c=this.cursors[a];c||(this.cursors[a]=c=[]);c.push(b)};c.prototype.removeCursor=function(a,b){var c=this.cursors[a];this.cursors[a]&&(c.splice(c.indexOf(b),1),0===c.length&&(this.cursors[a]=null))};return c}();Object.defineProperty(k,"__esModule",{value:!0});k.default=e})},"esri/core/accessorSupport/Store":function(){define(["require","exports","./PropertyOrigin"],function(e,
k,n){e=function(){function e(){this._values={}}e.prototype.get=function(d){return this._values[d]};e.prototype.originOf=function(d){return n.OriginId.USER};e.prototype.keys=function(){return Object.keys(this._values)};e.prototype.set=function(d,b){this._values[d]=b};e.prototype.clear=function(d){delete this._values[d]};e.prototype.has=function(d){return d in this._values};return e}();Object.defineProperty(k,"__esModule",{value:!0});k.default=e})},"esri/core/accessorSupport/PropertyOrigin":function(){define(["require",
"exports"],function(e,k){function n(b){switch(b){case "defaults":return d.DEFAULTS;case "service":return d.SERVICE;case "portal-item":return d.PORTAL_ITEM;case "web-scene":return d.WEB_SCENE;case "web-map":return d.WEB_MAP;case "user":return d.USER}}function h(b){switch(b){case d.DEFAULTS:return"defaults";case d.SERVICE:return"service";case d.PORTAL_ITEM:return"portal-item";case d.WEB_SCENE:return"web-scene";case d.WEB_MAP:return"web-map";case d.USER:return"user"}}(function(b){b[b.DEFAULTS=0]="DEFAULTS";
b[b.COMPUTED=1]="COMPUTED";b[b.SERVICE=2]="SERVICE";b[b.PORTAL_ITEM=3]="PORTAL_ITEM";b[b.WEB_SCENE=4]="WEB_SCENE";b[b.WEB_MAP=5]="WEB_MAP";b[b.USER=6]="USER";b[b.NUM=7]="NUM"})(k.OriginId||(k.OriginId={}));var d=k.OriginId;k.nameToId=n;k.idToName=h;k.readableNameToId=function(b){return n(b)};k.idToReadableName=function(b){return h(b)};k.writableNameToId=function(b){return n(b)};k.idToWritableName=function(b){return h(b)}})},"esri/core/accessorSupport/extensions":function(){define(["require","exports",
"./extensions/aliasedProperty","./extensions/computedProperty","./extensions/serializableProperty"],function(e,k,n,h,d){var b=[n.default,h.default,d.default];k.processPrototypeMetadatas=function(d,f){for(var c=Object.getOwnPropertyNames(d),a=0;a<b.length;a++){var s=b[a];if(s.processPrototypePropertyMetadata)for(var t=0,e=c;t<e.length;t++){var u=e[t];s.processPrototypePropertyMetadata(u,d[u],d,f)}}};k.processClassMetadatas=function(d,f){for(var c=Object.getOwnPropertyNames(d),a=0;a<b.length;a++){var s=
b[a];if(s.processClassPropertyMetadata)for(var t=0,e=c;t<e.length;t++){var u=e[t];s.processClassPropertyMetadata(u,d[u],d,f)}}};k.instanceCreated=function(d,f){for(var c=Object.getOwnPropertyNames(f),a=0;a<b.length;a++){var s=b[a];s.instanceCreated&&s.instanceCreated(d,f,c)}}})},"esri/core/accessorSupport/extensions/aliasedProperty":function(){define("require exports dojo/has ../wire ../utils ../get ../set".split(" "),function(e,k,n,h,d,b,l){function f(b,a,f){var t=d.getProperties(b);return h.wire(b,
f.aliasOf,function(){t.propertyInvalidated(a)})}k.AliasedPropertyExtension={processClassPropertyMetadata:function(c,a,f,d){var e=a.aliasOf;if(e&&(c=e.split(".")[0],null!=f[c]&&!a.set&&!a.get)){var u;a.get=function(){var a=b.default(this,e);if("function"===typeof a){u||(u=e.split(".").slice(0,-1).join("."));var c=b.default(this,u);c&&(a=a.bind(c))}return a};a.readOnly||(a.set=function(a){return l.default(this,e,a)})}},instanceCreated:function(b,a,d){for(var t=0;t<d.length;t++){var e=d[t],u=a[e];u.aliasOf&&
f(b,e,u)}}};Object.defineProperty(k,"__esModule",{value:!0});k.default=k.AliasedPropertyExtension})},"esri/core/accessorSupport/wire":function(){define(["require","exports","./utils"],function(e,k,n){function h(a,b,t){b=n.splitPath(b);if(Array.isArray(b)){for(var e=[],u=0;u<b.length;u++)e.push((new d(b[u],t)).install(a));return new f(e)}a=(new d(b,t)).install(a);return new c(a)}var d=function(){function a(a,b){this.path=a;this.callback=b;this.chain=null;this.path=a;-1<a.indexOf(".")&&(this.chain=
n.pathToArray(a));this.callback=b;return this}a.prototype.install=function(a){a=this.chain?new l(this,a):new b(this,a);return a};a.prototype.notify=function(a){this.callback(a,this.path)};return a}(),b=function(){function a(a,b){this.binding=a;this.target=b;n.getProperties(b).addCursor(this.binding.path,this)}a.prototype.destroy=function(){this.target&&(n.getProperties(this.target).removeCursor(this.binding.path,this),this.target=this.binding=null)};a.prototype.propertyDestroyed=function(a,b){n.getProperties(this.target).removeCursor(b,
this)};a.prototype.propertyInvalidated=function(a,b){this.binding&&this.binding.notify(this.target)};a.prototype.propertyCommitted=function(a,b){this.binding&&this.binding.notify(this.target)};return a}(),l=function(){function a(a,b){this.binding=a;this.target=b;this.stack=[];this.properties=n.getProperties(b);this.stack.push({properties:this.properties,propertyName:a.chain[0]});this.properties.addCursor(a.chain[0],this);this.moveForward();return this}a.prototype.destroy=function(){for(var a;a=this.stack.pop();)a.properties.removeCursor(a.propertyName,
this);this.target=this.binding=null};a.prototype.propertyDestroyed=function(a,b){this.moveBackward(a,b)};a.prototype.propertyInvalidated=function(a,b){this.binding&&this.binding.notify(this.target)};a.prototype.propertyCommitted=function(a,b){this.binding&&(this.moveBackward(a,b),this.moveForward(),this.binding.notify(this.target))};a.prototype.moveBackward=function(a,b){for(var c=this.stack,f=c[c.length-1];f.properties!==a&&f.propertyName!==b;)f.properties.removeCursor(f.propertyName,this),c.pop(),
f=c[c.length-1]};a.prototype.moveForward=function(){var a=this.stack,b=a[a.length-1],b=b.properties.internalGet(b.propertyName);if((b=n.getProperties(b))&&a.length<this.binding.chain.length)a=this.binding.chain[a.length],this.stack.push({properties:b,propertyName:a}),b.addCursor(a,this),this.moveForward()};return a}(),f=function(){function a(a){this.cursors=a}a.prototype.remove=function(){for(var a=this.cursors;0<a.length;)a.pop().destroy();this.cursors=null};return a}(),c=function(){function a(a){this.cursor=
a}a.prototype.remove=function(){this.cursor.destroy();this.cursor=null};return a}();k.create=function(a,b){var e=n.splitPath(a);if(Array.isArray(e)){for(var l=[],u=0;u<e.length;u++)l.push(new d(e[u],b));return function(a){for(var b=[],c=0,d=l.length;c<d;c++)b[c]=l[c].install(a);return new f(b)}}var q=new d(e,b);return function(a){return new c(q.install(a))}};k.wire=h;Object.defineProperty(k,"__esModule",{value:!0});k.default=h})},"esri/core/accessorSupport/utils":function(){define(["require","exports",
"../lang"],function(e,k,n){function h(b){return!b?null:b.__accessor__?b.__accessor__:b._accessorProps?b._accessorProps:b.propertyInvalidated?b:null}function d(b,a){return!a?b:Object.keys(a).reduce(function(b,c){if("value"===c)return b[c]=a[c],b;if(void 0===b[c])return b[c]=n.clone(a[c]),b;var f=b[c],u=a[c];if(f===u)return b;if(Array.isArray(u)||Array.isArray(b))f=f?Array.isArray(f)?b[c]=f.concat():b[c]=[f]:b[c]=[],u&&(Array.isArray(u)||(u=[u]),u.forEach(function(a){-1===f.indexOf(a)&&f.push(a)}));
else if(u&&"object"===typeof u)b[c]=d(f,u);else if(!b.hasOwnProperty(c)||a.hasOwnProperty(c))b[c]=u;return b},b||{})}function b(b){if(Array.isArray(b)||-1<b.indexOf(",")){b=Array.isArray(b)?b:b.split(",");for(var a=0,f=b.length;a<f;a++)b[a]=b[a].trim();return 1===b.length?b[0]:b}return b.trim()}function l(b){var a=!1;return function(){a||(a=!0,b())}}k.getProperties=h;k.isPropertyDeclared=function(b,a){return b&&(b.metadatas&&null!=b.metadatas[a]||null!=b.properties)};k.merge=d;k.pathToArray=function(b){return Array.isArray(b)?
b:b.split(".")};k.splitPath=b;k.parse=function(c,a,f,d){a=b(a);if(Array.isArray(a)){var e=a.map(function(a){return d(c,a.trim(),f)});return{remove:l(function(){return e.forEach(function(a){return a.remove()})})}}return d(c,a.trim(),f)};k.once=l;var f=0;k.uid=function(b){if(null==b)return f++;b=h(b);null==b.uid&&(b.uid=f++);return b.uid}})},"esri/core/lang":function(){define("dojo/_base/array dojo/_base/kernel dojo/_base/lang dojo/date dojo/number dojo/date/locale dojo/i18n!../nls/common".split(" "),
function(e,k,n,h,d,b,l){function f(a){return void 0!==a&&null!==a}function c(a,c,r){var m=r.match(/([^\(]+)(\([^\)]+\))?/i),s=n.trim(m[1]);r=c[a];var m=JSON.parse((m[2]?n.trim(m[2]):"{}").replace(/^\(/,"{").replace(/\)$/,"}").replace(/([{,])\s*([0-9a-zA-Z\_]+)\s*:/gi,'$1"$2":').replace(/\"\s*:\s*\'/gi,'":"').replace(/\'\s*(,|\})/gi,'"$1')),l=m.utcOffset;if(-1===e.indexOf(t,s))s=n.getObject(s),n.isFunction(s)&&(r=s(r,a,c,m));else if("number"===typeof r||"string"===typeof r&&r&&!isNaN(Number(r)))switch(r=
Number(r),s){case "NumberFormat":a=n.mixin({},m);c=parseFloat(a.places);if(isNaN(c)||0>c)a.places=Infinity;return d.format(r,a);case "DateString":r=new Date(r);if(m.local||m.systemLocale)return m.systemLocale?r.toLocaleDateString()+(m.hideTime?"":" "+r.toLocaleTimeString()):r.toDateString()+(m.hideTime?"":" "+r.toTimeString());r=r.toUTCString();m.hideTime&&(r=r.replace(/\s+\d\d\:\d\d\:\d\d\s+(utc|gmt)/i,""));return r;case "DateFormat":return r=new Date(r),f(l)&&(r=h.add(r,"minute",r.getTimezoneOffset()-
l)),b.format(r,m)}return f(r)?r:""}function a(b,c){var f;if(c)for(f in b)b.hasOwnProperty(f)&&(void 0===b[f]?delete b[f]:b[f]instanceof Object&&a(b[f],!0));else for(f in b)b.hasOwnProperty(f)&&void 0===b[f]&&delete b[f];return b}function s(a){if(!a||"object"!=typeof a||n.isFunction(a))return a;if("function"===typeof a.clone)a=a.clone();else if("function"===typeof a.map&&"function"===typeof a.forEach)a=a.map(s);else{var b={},c=s,m,f,d={};for(m in a){f=a[m];var g=!(m in d)||d[m]!==f;if(!(m in b)||b[m]!==
f&&g)b[m]=c?c(f):f}a=b}return a}var t=["NumberFormat","DateString","DateFormat"],v=/<\/?[^>]+>/g;return{equals:function(a,b){return a===b||"number"===typeof a&&isNaN(a)&&"number"===typeof b&&isNaN(b)||n.isFunction((a||{}).getTime)&&n.isFunction((b||{}).getTime)&&a.getTime()==b.getTime()||n.isFunction((a||{}).equals)&&a.equals(b)||n.isFunction((b||{}).equals)&&b.equals(a)||!1},valueOf:function(a,b){for(var c in a)if(a[c]==b)return c;return null},stripTags:function(a){if(a){var b=typeof a;if("string"===
b)a=a.replace(v,"");else if("object"===b)for(var c in a)(b=a[c])&&"string"===typeof b&&(b=b.replace(v,"")),a[c]=b}return a},substitute:function(a,b,d){var m,s,t;f(d)&&(n.isObject(d)?(m=d.first,s=d.dateFormat,t=d.numberFormat):m=d);if(!b||"{*}"===b){b=[];var g;b.push('\x3ctable summary\x3d"'+l.fieldsSummary+'"\x3e\x3ctbody\x3e');for(g in a){d=a[g];if(s&&-1!==e.indexOf(s.properties||"",g))d=c(g,a,s.formatter||"DateString");else if(t&&-1!==e.indexOf(t.properties||"",g))d=c(g,a,t.formatter||"NumberFormat");
b.push("\x3ctr\x3e\x3cth\x3e"+g+"\x3c/th\x3e\x3ctd\x3e"+(f(d)?d:"")+"\x3c/td\x3e\x3c/tr\x3e");if(m)break}b.push("\x3c/tbody\x3e\x3c/table\x3e");return b.join("")}return n.replace(b,n.hitch({obj:a},function(g,a){var b=a.split(":");return 1<b.length?(a=b[0],b.shift(),c(a,this.obj,b.join(":"))):s&&-1!==e.indexOf(s.properties||"",a)?c(a,this.obj,s.formatter||"DateString"):t&&-1!==e.indexOf(t.properties||"",a)?c(a,this.obj,t.formatter||"NumberFormat"):f(this.obj[a])?this.obj[a]:""}))},filter:function(a,
b,c){b=[n.isString(a)?a.split(""):a,c||k.global,n.isString(b)?new Function("item","index","array",b):b];c={};var m;a=b[0];for(m in a)b[2].call(b[m],a[m],m,a)&&(c[m]=a[m]);return c},startsWith:function(a,b,c){c=c||0;return a.indexOf(b,c)===c},endsWith:function(a,b,c){if("number"!==typeof c||!isFinite(c)||Math.floor(c)!==c||c>a.length)c=a.length;c-=b.length;a=a.indexOf(b,c);return-1!==a&&a===c},isDefined:f,fixJson:a,clone:s}})},"dojo/date":function(){define(["./has","./_base/lang"],function(e,k){var n=
{getDaysInMonth:function(e){var d=e.getMonth();return 1==d&&n.isLeapYear(e)?29:[31,28,31,30,31,30,31,31,30,31,30,31][d]},isLeapYear:function(e){e=e.getFullYear();return!(e%400)||!(e%4)&&!!(e%100)},getTimezoneName:function(e){var d=e.toString(),b="",l=d.indexOf("(");if(-1<l)b=d.substring(++l,d.indexOf(")"));else if(l=/([A-Z\/]+) \d{4}$/,d=d.match(l))b=d[1];else if(d=e.toLocaleString(),l=/ ([A-Z\/]+)$/,d=d.match(l))b=d[1];return"AM"==b||"PM"==b?"":b},compare:function(e,d,b){e=new Date(+e);d=new Date(+(d||
new Date));"date"==b?(e.setHours(0,0,0,0),d.setHours(0,0,0,0)):"time"==b&&(e.setFullYear(0,0,0),d.setFullYear(0,0,0));return e>d?1:e<d?-1:0},add:function(e,d,b){var l=new Date(+e),f=!1,c="Date";switch(d){case "day":break;case "weekday":var a;(d=b%5)?a=parseInt(b/5):(d=0<b?5:-5,a=0<b?(b-5)/5:(b+5)/5);var s=e.getDay(),t=0;6==s&&0<b?t=1:0==s&&0>b&&(t=-1);s+=d;if(0==s||6==s)t=0<b?2:-2;b=7*a+d+t;break;case "year":c="FullYear";f=!0;break;case "week":b*=7;break;case "quarter":b*=3;case "month":f=!0;c="Month";
break;default:c="UTC"+d.charAt(0).toUpperCase()+d.substring(1)+"s"}if(c)l["set"+c](l["get"+c]()+b);f&&l.getDate()<e.getDate()&&l.setDate(0);return l},difference:function(e,d,b){d=d||new Date;b=b||"day";var l=d.getFullYear()-e.getFullYear(),f=1;switch(b){case "quarter":e=e.getMonth();d=d.getMonth();e=Math.floor(e/3)+1;d=Math.floor(d/3)+1;f=d+4*l-e;break;case "weekday":l=Math.round(n.difference(e,d,"day"));b=parseInt(n.difference(e,d,"week"));f=l%7;if(0==f)l=5*b;else{var c=0,a=e.getDay();d=d.getDay();
b=parseInt(l/7);f=l%7;e=new Date(e);e.setDate(e.getDate()+7*b);e=e.getDay();if(0<l)switch(!0){case 6==a:c=-1;break;case 0==a:c=0;break;case 6==d:c=-1;break;case 0==d:c=-2;break;case 5<e+f:c=-2}else if(0>l)switch(!0){case 6==a:c=0;break;case 0==a:c=1;break;case 6==d:c=2;break;case 0==d:c=1;break;case 0>e+f:c=2}l=l+c-2*b}f=l;break;case "year":f=l;break;case "month":f=d.getMonth()-e.getMonth()+12*l;break;case "week":f=parseInt(n.difference(e,d,"day")/7);break;case "day":f/=24;case "hour":f/=60;case "minute":f/=
60;case "second":f/=1E3;case "millisecond":f*=d.getTime()-e.getTime()}return Math.round(f)}};k.mixin(k.getObject("dojo.date",!0),n);return n})},"dojo/number":function(){define(["./_base/lang","./i18n","./i18n!./cldr/nls/number","./string","./regexp"],function(e,k,n,h,d){var b={};e.setObject("dojo.number",b);b.format=function(f,c){c=e.mixin({},c||{});var a=k.normalizeLocale(c.locale),a=k.getLocalization("dojo.cldr","number",a);c.customs=a;a=c.pattern||a[(c.type||"decimal")+"Format"];return isNaN(f)||
Infinity==Math.abs(f)?null:b._applyPattern(f,a,c)};b._numberPatternRE=/[#0,]*[#0](?:\.0*#*)?/;b._applyPattern=function(f,c,a){a=a||{};var d=a.customs.group,e=a.customs.decimal;c=c.split(";");var l=c[0];c=c[0>f?1:0]||"-"+l;if(-1!=c.indexOf("%"))f*=100;else if(-1!=c.indexOf("\u2030"))f*=1E3;else if(-1!=c.indexOf("\u00a4"))d=a.customs.currencyGroup||d,e=a.customs.currencyDecimal||e,c=c.replace(/([\s\xa0]*)(\u00a4{1,3})([\s\xa0]*)/,function(b,c,m,f){b=a[["symbol","currency","displayName"][m.length-1]]||
a.currency||"";return!b?"":c+b+f});else if(-1!=c.indexOf("E"))throw Error("exponential notation not supported");var u=b._numberPatternRE,l=l.match(u);if(!l)throw Error("unable to find a number expression in pattern: "+c);!1===a.fractional&&(a.places=0);return c.replace(u,b._formatAbsolute(f,l[0],{decimal:e,group:d,places:a.places,round:a.round}))};b.round=function(b,c,a){a=10/(a||10);return(a*+b).toFixed(c)/a};if(0==(0.9).toFixed()){var l=b.round;b.round=function(b,c,a){var d=Math.pow(10,-c||0),e=
Math.abs(b);if(!b||e>=d)d=0;else if(e/=d,0.5>e||0.95<=e)d=0;return l(b,c,a)+(0<b?d:-d)}}b._formatAbsolute=function(f,c,a){a=a||{};!0===a.places&&(a.places=0);Infinity===a.places&&(a.places=6);c=c.split(".");var d="string"==typeof a.places&&a.places.indexOf(","),e=a.places;d?e=a.places.substring(d+1):0<=e||(e=(c[1]||[]).length);0>a.round||(f=b.round(f,e,a.round));f=String(Math.abs(f)).split(".");var l=f[1]||"";c[1]||a.places?(d&&(a.places=a.places.substring(0,d)),d=void 0!==a.places?a.places:c[1]&&
c[1].lastIndexOf("0")+1,d>l.length&&(f[1]=h.pad(l,d,"0",!0)),e<l.length&&(f[1]=l.substr(0,e))):f[1]&&f.pop();e=c[0].replace(",","");d=e.indexOf("0");-1!=d&&(d=e.length-d,d>f[0].length&&(f[0]=h.pad(f[0],d)),-1==e.indexOf("#")&&(f[0]=f[0].substr(f[0].length-d)));var e=c[0].lastIndexOf(","),u,q;-1!=e&&(u=c[0].length-e-1,c=c[0].substr(0,e),e=c.lastIndexOf(","),-1!=e&&(q=c.length-e-1));c=[];for(e=f[0];e;)d=e.length-u,c.push(0<d?e.substr(d):e),e=0<d?e.slice(0,d):"",q&&(u=q,delete q);f[0]=c.reverse().join(a.group||
",");return f.join(a.decimal||".")};b.regexp=function(f){return b._parseInfo(f).regexp};b._parseInfo=function(f){f=f||{};var c=k.normalizeLocale(f.locale),c=k.getLocalization("dojo.cldr","number",c),a=f.pattern||c[(f.type||"decimal")+"Format"],e=c.group,l=c.decimal,h=1;if(-1!=a.indexOf("%"))h/=100;else if(-1!=a.indexOf("\u2030"))h/=1E3;else{var u=-1!=a.indexOf("\u00a4");u&&(e=c.currencyGroup||e,l=c.currencyDecimal||l)}c=a.split(";");1==c.length&&c.push("-"+c[0]);c=d.buildGroupRE(c,function(a){a="(?:"+
d.escapeString(a,".")+")";return a.replace(b._numberPatternRE,function(a){var c={signed:!1,separator:f.strict?e:[e,""],fractional:f.fractional,decimal:l,exponent:!1};a=a.split(".");var d=f.places;1==a.length&&1!=h&&(a[1]="###");1==a.length||0===d?c.fractional=!1:(void 0===d&&(d=f.pattern?a[1].lastIndexOf("0")+1:Infinity),d&&void 0==f.fractional&&(c.fractional=!0),!f.places&&d<a[1].length&&(d+=","+a[1].length),c.places=d);a=a[0].split(",");1<a.length&&(c.groupSize=a.pop().length,1<a.length&&(c.groupSize2=
a.pop().length));return"("+b._realNumberRegexp(c)+")"})},!0);u&&(c=c.replace(/([\s\xa0]*)(\u00a4{1,3})([\s\xa0]*)/g,function(a,b,c,e){a=d.escapeString(f[["symbol","currency","displayName"][c.length-1]]||f.currency||"");if(!a)return"";b=b?"[\\s\\xa0]":"";e=e?"[\\s\\xa0]":"";return!f.strict?(b&&(b+="*"),e&&(e+="*"),"(?:"+b+a+e+")?"):b+a+e}));return{regexp:c.replace(/[\xa0 ]/g,"[\\s\\xa0]"),group:e,decimal:l,factor:h}};b.parse=function(f,c){var a=b._parseInfo(c),d=RegExp("^"+a.regexp+"$").exec(f);if(!d)return NaN;
var e=d[1];if(!d[1]){if(!d[2])return NaN;e=d[2];a.factor*=-1}e=e.replace(RegExp("["+a.group+"\\s\\xa0]","g"),"").replace(a.decimal,".");return e*a.factor};b._realNumberRegexp=function(f){f=f||{};"places"in f||(f.places=Infinity);"string"!=typeof f.decimal&&(f.decimal=".");if(!("fractional"in f)||/^0/.test(f.places))f.fractional=[!0,!1];"exponent"in f||(f.exponent=[!0,!1]);"eSigned"in f||(f.eSigned=[!0,!1]);var c=b._integerRegexp(f),a=d.buildGroupRE(f.fractional,function(a){var b="";a&&0!==f.places&&
(b="\\"+f.decimal,b=Infinity==f.places?"(?:"+b+"\\d+)?":b+("\\d{"+f.places+"}"));return b},!0),e=d.buildGroupRE(f.exponent,function(a){return a?"([eE]"+b._integerRegexp({signed:f.eSigned})+")":""}),c=c+a;a&&(c="(?:(?:"+c+")|(?:"+a+"))");return c+e};b._integerRegexp=function(b){b=b||{};"signed"in b||(b.signed=[!0,!1]);"separator"in b?"groupSize"in b||(b.groupSize=3):b.separator="";var c=d.buildGroupRE(b.signed,function(a){return a?"[-+]":""},!0),a=d.buildGroupRE(b.separator,function(a){if(!a)return"(?:\\d+)";
a=d.escapeString(a);" "==a?a="\\s":"\u00a0"==a&&(a="\\s\\xa0");var c=b.groupSize,e=b.groupSize2;return e?(a="(?:0|[1-9]\\d{0,"+(e-1)+"}(?:["+a+"]\\d{"+e+"})*["+a+"]\\d{"+c+"})",0<c-e?"(?:"+a+"|(?:0|[1-9]\\d{0,"+(c-1)+"}))":a):"(?:0|[1-9]\\d{0,"+(c-1)+"}(?:["+a+"]\\d{"+c+"})*)"},!0);return c+a};return b})},"dojo/i18n":function(){define("./_base/kernel require ./has ./_base/array ./_base/config ./_base/lang ./has!host-browser?./_base/xhr ./json module".split(" "),function(e,k,n,h,d,b,l,f,c){n.add("dojo-preload-i18n-Api",
1);l=e.i18n={};var a=/(^.*(^|\/)nls)(\/|$)([^\/]*)\/?([^\/]*)/,s=function(g,a,b,p){var c=[b+p];a=a.split("-");for(var m="",f=0;f<a.length;f++)if(m+=(m?"-":"")+a[f],!g||g[m])c.push(b+m+"/"+p),c.specificity=m;return c},t={},v=function(g,a,b){b=b?b.toLowerCase():e.locale;g=g.replace(/\./g,"/");a=a.replace(/\./g,"/");return/root/i.test(b)?g+"/nls/"+a:g+"/nls/"+b+"/"+a},u=e.getL10nName=function(g,a,b){return c.id+"!"+v(g,a,b)},q=function(g,a,p,c,m,f){g([a],function(d){var r=b.clone(d.root||d.ROOT),q=s(!d._v1x&&
d,m,p,c);g(q,function(){for(var g=1;g<q.length;g++)r=b.mixin(b.clone(r),arguments[g]);t[a+"/"+m]=r;r.$locale=q.specificity;f()})})},r=function(g){var a=d.extraLocale||[],a=b.isArray(a)?a:[a];a.push(g);return a},m=function(c,m,d){var s=c.split("*"),l="preload"==s[1];if(n("dojo-preload-i18n-Api")){l&&(t[c]||(t[c]=1,p(s[2],f.parse(s[3]),1,m)),d(1));if(!(s=l))x&&g.push([c,m,d]),s=x;if(s)return}else if(l){d(1);return}c=a.exec(c);var u=c[1]+"/",w=c[5]||c[4],v=u+w,s=(c=c[5]&&c[4])||e.locale||"",k=v+"/"+
s;c=c?[s]:r(s);var H=c.length,D=function(){--H||d(b.delegate(t[k]))};h.forEach(c,function(g){var a=v+"/"+g;n("dojo-preload-i18n-Api")&&z(a);t[a]?D():q(m,v,u,w,g,D)})};n("dojo-preload-i18n-Api");var w=l.normalizeLocale=function(g){g=g?g.toLowerCase():e.locale;return"root"==g?"ROOT":g},x=0,g=[],p=l._preloadLocalizations=function(a,p,c,f){function d(g,a){f([g],a)}function r(g,a){for(var b=g.split("-");b.length;){if(a(b.join("-")))return;b.pop()}a("ROOT")}function q(){for(--x;!x&&g.length;)m.apply(null,
g.shift())}function z(g){g=w(g);r(g,function(c){if(0<=h.indexOf(p,c)){var m=a.replace(/\./g,"/")+"_"+c;x++;d(m,function(a){for(var p in a){var m=a[p],d=p.match(/(.+)\/([^\/]+)$/),e;if(d&&(e=d[2],d=d[1]+"/",m._localized)){var z;if("ROOT"===c){var s=z=m._localized;delete m._localized;s.root=m;t[k.toAbsMid(p)]=s}else z=m._localized,t[k.toAbsMid(d+e+"/"+c)]=m;c!==g&&function(a,p,c,m){var d=[],e=[];r(g,function(g){m[g]&&(d.push(k.toAbsMid(a+g+"/"+p)),e.push(k.toAbsMid(a+p+"/"+g)))});d.length?(x++,f(d,
function(){for(var m=d.length-1;0<=m;m--)c=b.mixin(b.clone(c),arguments[m]),t[e[m]]=c;t[k.toAbsMid(a+p+"/"+g)]=b.clone(c);q()})):t[k.toAbsMid(a+p+"/"+g)]=c}(d,e,m,z)}}q()});return!0}return!1})}f=f||k;z();h.forEach(e.config.extraLocale,z)},z=function(){};new Function("__bundle","__checkForLegacyModules","__mid","__amdValue","var define \x3d function(mid, factory){define.called \x3d 1; __amdValue.result \x3d factory || mid;},\t   require \x3d function(){define.called \x3d 1;};try{define.called \x3d 0;eval(__bundle);if(define.called\x3d\x3d1)return __amdValue;if((__checkForLegacyModules \x3d __checkForLegacyModules(__mid)))return __checkForLegacyModules;}catch(e){}try{return eval('('+__bundle+')');}catch(e){return e;}");
z=function(g){for(var a,b=g.split("/"),p=e.global[b[0]],c=1;p&&c<b.length-1;p=p[b[c++]]);p&&((a=p[b[c]])||(a=p[b[c].replace(/-/g,"_")]),a&&(t[g]=a));return a};l.getLocalization=function(g,a,b){var p;g=v(g,a,b);m(g,k,function(g){p=g});return p};return b.mixin(l,{dynamic:!0,normalize:function(g,a){return/^\./.test(g)?a(g):g},load:m,cache:t,getL10nName:u})})},"dojo/string":function(){define(["./_base/kernel","./_base/lang"],function(e,k){var n=/[&<>'"\/]/g,h={"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;",
'"':"\x26quot;","'":"\x26#x27;","/":"\x26#x2F;"},d={};k.setObject("dojo.string",d);d.escape=function(b){return!b?"":b.replace(n,function(b){return h[b]})};d.rep=function(b,d){if(0>=d||!b)return"";for(var f=[];;){d&1&&f.push(b);if(!(d>>=1))break;b+=b}return f.join("")};d.pad=function(b,e,f,c){f||(f="0");b=String(b);e=d.rep(f,Math.ceil((e-b.length)/f.length));return c?b+e:e+b};d.substitute=function(b,d,f,c){c=c||e.global;f=f?k.hitch(c,f):function(a){return a};return b.replace(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g,
function(a,b,e){if(""==b)return"$";a=k.getObject(b,!1,d);e&&(a=k.getObject(e,!1,c).call(c,a,b));return f(a,b).toString()})};d.trim=String.prototype.trim?k.trim:function(b){b=b.replace(/^\s+/,"");for(var d=b.length-1;0<=d;d--)if(/\S/.test(b.charAt(d))){b=b.substring(0,d+1);break}return b};return d})},"dojo/regexp":function(){define(["./_base/kernel","./_base/lang"],function(e,k){var n={};k.setObject("dojo.regexp",n);n.escapeString=function(e,d){return e.replace(/([\.$?*|{}\(\)\[\]\\\/\+\-^])/g,function(b){return d&&
-1!=d.indexOf(b)?b:"\\"+b})};n.buildGroupRE=function(e,d,b){if(!(e instanceof Array))return d(e);for(var l=[],f=0;f<e.length;f++)l.push(d(e[f]));return n.group(l.join("|"),b)};n.group=function(e,d){return"("+(d?"?:":"")+e+")"};return n})},"dojo/date/locale":function(){define("../_base/lang ../_base/array ../date ../cldr/supplemental ../i18n ../regexp ../string ../i18n!../cldr/nls/gregorian module".split(" "),function(e,k,n,h,d,b,l,f,c){function a(a,b,c,f){return f.replace(/([a-z])\1*/ig,function(g){var p,
d,q=g.charAt(0);g=g.length;var e=["abbr","wide","narrow"];switch(q){case "G":p=b[4>g?"eraAbbr":"eraNames"][0>a.getFullYear()?0:1];break;case "y":p=a.getFullYear();switch(g){case 1:break;case 2:if(!c.fullYear){p=String(p);p=p.substr(p.length-2);break}default:d=!0}break;case "Q":case "q":p=Math.ceil((a.getMonth()+1)/3);d=!0;break;case "M":case "L":p=a.getMonth();3>g?(p+=1,d=!0):(q=["months","L"==q?"standAlone":"format",e[g-3]].join("-"),p=b[q][p]);break;case "w":p=v._getWeekOfYear(a,0);d=!0;break;case "d":p=
a.getDate();d=!0;break;case "D":p=v._getDayOfYear(a);d=!0;break;case "e":case "c":if(p=a.getDay(),2>g){p=(p-h.getFirstDayOfWeek(c.locale)+8)%7;break}case "E":p=a.getDay();3>g?(p+=1,d=!0):(q=["days","c"==q?"standAlone":"format",e[g-3]].join("-"),p=b[q][p]);break;case "a":q=12>a.getHours()?"am":"pm";p=c[q]||b["dayPeriods-format-wide-"+q];break;case "h":case "H":case "K":case "k":d=a.getHours();switch(q){case "h":p=d%12||12;break;case "H":p=d;break;case "K":p=d%12;break;case "k":p=d||24}d=!0;break;case "m":p=
a.getMinutes();d=!0;break;case "s":p=a.getSeconds();d=!0;break;case "S":p=Math.round(a.getMilliseconds()*Math.pow(10,g-3));d=!0;break;case "v":case "z":if(p=v._getZone(a,!0,c))break;g=4;case "Z":q=v._getZone(a,!1,c);q=[0>=q?"+":"-",l.pad(Math.floor(Math.abs(q)/60),2),l.pad(Math.abs(q)%60,2)];4==g&&(q.splice(0,0,"GMT"),q.splice(3,0,":"));p=q.join("");break;default:throw Error("dojo.date.locale.format: invalid pattern char: "+f);}d&&(p=l.pad(p,g));return p})}function s(a,b,c,f){var g=function(g){return g};
b=b||g;c=c||g;f=f||g;var p=a.match(/(''|[^'])+/g),d="'"==a.charAt(0);k.forEach(p,function(g,a){g?(p[a]=(d?c:b)(g.replace(/''/g,"'")),d=!d):p[a]=""});return f(p.join(""))}function t(a,c,f,d){d=b.escapeString(d);f.strict||(d=d.replace(" a"," ?a"));return d.replace(/([a-z])\1*/ig,function(g){var b;b=g.charAt(0);var d=g.length,q="",e="";f.strict?(1<d&&(q="0{"+(d-1)+"}"),2<d&&(e="0{"+(d-2)+"}")):(q="0?",e="0{0,2}");switch(b){case "y":b="\\d{2,4}";break;case "M":case "L":b=2<d?"\\S+?":"1[0-2]|"+q+"[1-9]";
break;case "D":b="[12][0-9][0-9]|3[0-5][0-9]|36[0-6]|"+q+"[1-9][0-9]|"+e+"[1-9]";break;case "d":b="3[01]|[12]\\d|"+q+"[1-9]";break;case "w":b="[1-4][0-9]|5[0-3]|"+q+"[1-9]";break;case "E":case "e":case "c":b=".+?";break;case "h":b="1[0-2]|"+q+"[1-9]";break;case "k":b="1[01]|"+q+"\\d";break;case "H":b="1\\d|2[0-3]|"+q+"\\d";break;case "K":b="1\\d|2[0-4]|"+q+"[1-9]";break;case "m":case "s":b="[0-5]\\d";break;case "S":b="\\d{"+d+"}";break;case "a":d=f.am||c["dayPeriods-format-wide-am"];q=f.pm||c["dayPeriods-format-wide-pm"];
b=d+"|"+q;f.strict||(d!=d.toLowerCase()&&(b+="|"+d.toLowerCase()),q!=q.toLowerCase()&&(b+="|"+q.toLowerCase()),-1!=b.indexOf(".")&&(b+="|"+b.replace(/\./g,"")));b=b.replace(/\./g,"\\.");break;default:b=".*"}a&&a.push(g);return"("+b+")"}).replace(/[\xa0 ]/g,"[\\s\\xa0]")}var v={};e.setObject(c.id.replace(/\//g,"."),v);v._getZone=function(a,b,c){return b?n.getTimezoneName(a):a.getTimezoneOffset()};v.format=function(b,c){c=c||{};var f=d.normalizeLocale(c.locale),q=c.formatLength||"short",f=v._getGregorianBundle(f),
g=[],p=e.hitch(this,a,b,f,c);if("year"==c.selector)return s(f["dateFormatItem-yyyy"]||"yyyy",p);var z;"date"!=c.selector&&(z=c.timePattern||f["timeFormat-"+q])&&g.push(s(z,p));"time"!=c.selector&&(z=c.datePattern||f["dateFormat-"+q])&&g.push(s(z,p));return 1==g.length?g[0]:f["dateTimeFormat-"+q].replace(/\'/g,"").replace(/\{(\d+)\}/g,function(a,b){return g[b]})};v.regexp=function(a){return v._parseInfo(a).regexp};v._parseInfo=function(a){a=a||{};var b=d.normalizeLocale(a.locale),b=v._getGregorianBundle(b),
c=a.formatLength||"short",f=a.datePattern||b["dateFormat-"+c],g=a.timePattern||b["timeFormat-"+c],c="date"==a.selector?f:"time"==a.selector?g:b["dateTimeFormat-"+c].replace(/\{(\d+)\}/g,function(a,b){return[g,f][b]}),p=[];return{regexp:s(c,e.hitch(this,t,p,b,a)),tokens:p,bundle:b}};v.parse=function(a,b){var c=/[\u200E\u200F\u202A\u202E]/g,f=v._parseInfo(b),g=f.tokens,p=f.bundle,c=RegExp("^"+f.regexp.replace(c,"")+"$",f.strict?"":"i").exec(a&&a.replace(c,""));if(!c)return null;var d=["abbr","wide",
"narrow"],q=[1970,0,1,0,0,0,0],e="",c=k.every(c,function(a,c){if(!c)return!0;var f=g[c-1],r=f.length,f=f.charAt(0);switch(f){case "y":if(2!=r&&b.strict)q[0]=a;else if(100>a)a=Number(a),f=""+(new Date).getFullYear(),r=100*f.substring(0,2),f=Math.min(Number(f.substring(2,4))+20,99),q[0]=a<f?r+a:r-100+a;else{if(b.strict)return!1;q[0]=a}break;case "M":case "L":if(2<r){if(r=p["months-"+("L"==f?"standAlone":"format")+"-"+d[r-3]].concat(),b.strict||(a=a.replace(".","").toLowerCase(),r=k.map(r,function(g){return g.replace(".",
"").toLowerCase()})),a=k.indexOf(r,a),-1==a)return!1}else a--;q[1]=a;break;case "E":case "e":case "c":r=p["days-"+("c"==f?"standAlone":"format")+"-"+d[r-3]].concat();b.strict||(a=a.toLowerCase(),r=k.map(r,function(g){return g.toLowerCase()}));a=k.indexOf(r,a);if(-1==a)return!1;break;case "D":q[1]=0;case "d":q[2]=a;break;case "a":r=b.am||p["dayPeriods-format-wide-am"];f=b.pm||p["dayPeriods-format-wide-pm"];if(!b.strict){var s=/\./g;a=a.replace(s,"").toLowerCase();r=r.replace(s,"").toLowerCase();f=
f.replace(s,"").toLowerCase()}if(b.strict&&a!=r&&a!=f)return!1;e=a==f?"p":a==r?"a":"";break;case "K":24==a&&(a=0);case "h":case "H":case "k":if(23<a)return!1;q[3]=a;break;case "m":q[4]=a;break;case "s":q[5]=a;break;case "S":q[6]=a}return!0}),f=+q[3];"p"===e&&12>f?q[3]=f+12:"a"===e&&12==f&&(q[3]=0);f=new Date(q[0],q[1],q[2],q[3],q[4],q[5],q[6]);b.strict&&f.setFullYear(q[0]);var s=g.join(""),u=-1!=s.indexOf("d"),s=-1!=s.indexOf("M");if(!c||s&&f.getMonth()>q[1]||u&&f.getDate()>q[2])return null;if(s&&
f.getMonth()<q[1]||u&&f.getDate()<q[2])f=n.add(f,"hour",1);return f};var u=[],q={};v.addCustomFormats=function(a,b){u.push({pkg:a,name:b});q={}};v._getGregorianBundle=function(a){if(q[a])return q[a];var b={};k.forEach(u,function(c){c=d.getLocalization(c.pkg,c.name,a);b=e.mixin(b,c)},this);return q[a]=b};v.addCustomFormats(c.id.replace(/\/date\/locale$/,".cldr"),"gregorian");v.getNames=function(a,b,c,f){var g;f=v._getGregorianBundle(f);a=[a,c,b];"standAlone"==c&&(c=a.join("-"),g=f[c],1==g[0]&&(g=void 0));
a[1]="format";return(g||f[a.join("-")]).concat()};v.isWeekend=function(a,b){var c=h.getWeekend(b),f=(a||new Date).getDay();c.end<c.start&&(c.end+=7,f<c.start&&(f+=7));return f>=c.start&&f<=c.end};v._getDayOfYear=function(a){return n.difference(new Date(a.getFullYear(),0,1,a.getHours()),a)+1};v._getWeekOfYear=function(a,b){1==arguments.length&&(b=0);var c=(new Date(a.getFullYear(),0,1)).getDay(),f=Math.floor((v._getDayOfYear(a)+(c-b+7)%7-1)/7);c==b&&f++;return f};return v})},"dojo/cldr/supplemental":function(){define(["../_base/lang",
"../i18n"],function(e,k){var n={};e.setObject("dojo.cldr.supplemental",n);n.getFirstDayOfWeek=function(e){e={bd:5,mv:5,ae:6,af:6,bh:6,dj:6,dz:6,eg:6,iq:6,ir:6,jo:6,kw:6,ly:6,ma:6,om:6,qa:6,sa:6,sd:6,sy:6,ye:6,ag:0,ar:0,as:0,au:0,br:0,bs:0,bt:0,bw:0,by:0,bz:0,ca:0,cn:0,co:0,dm:0,"do":0,et:0,gt:0,gu:0,hk:0,hn:0,id:0,ie:0,il:0,"in":0,jm:0,jp:0,ke:0,kh:0,kr:0,la:0,mh:0,mm:0,mo:0,mt:0,mx:0,mz:0,ni:0,np:0,nz:0,pa:0,pe:0,ph:0,pk:0,pr:0,py:0,sg:0,sv:0,th:0,tn:0,tt:0,tw:0,um:0,us:0,ve:0,vi:0,ws:0,za:0,zw:0}[n._region(e)];
return void 0===e?1:e};n._region=function(e){e=k.normalizeLocale(e);e=e.split("-");var d=e[1];d?4==d.length&&(d=e[2]):d={aa:"et",ab:"ge",af:"za",ak:"gh",am:"et",ar:"eg",as:"in",av:"ru",ay:"bo",az:"az",ba:"ru",be:"by",bg:"bg",bi:"vu",bm:"ml",bn:"bd",bo:"cn",br:"fr",bs:"ba",ca:"es",ce:"ru",ch:"gu",co:"fr",cr:"ca",cs:"cz",cv:"ru",cy:"gb",da:"dk",de:"de",dv:"mv",dz:"bt",ee:"gh",el:"gr",en:"us",es:"es",et:"ee",eu:"es",fa:"ir",ff:"sn",fi:"fi",fj:"fj",fo:"fo",fr:"fr",fy:"nl",ga:"ie",gd:"gb",gl:"es",gn:"py",
gu:"in",gv:"gb",ha:"ng",he:"il",hi:"in",ho:"pg",hr:"hr",ht:"ht",hu:"hu",hy:"am",ia:"fr",id:"id",ig:"ng",ii:"cn",ik:"us","in":"id",is:"is",it:"it",iu:"ca",iw:"il",ja:"jp",ji:"ua",jv:"id",jw:"id",ka:"ge",kg:"cd",ki:"ke",kj:"na",kk:"kz",kl:"gl",km:"kh",kn:"in",ko:"kr",ks:"in",ku:"tr",kv:"ru",kw:"gb",ky:"kg",la:"va",lb:"lu",lg:"ug",li:"nl",ln:"cd",lo:"la",lt:"lt",lu:"cd",lv:"lv",mg:"mg",mh:"mh",mi:"nz",mk:"mk",ml:"in",mn:"mn",mo:"ro",mr:"in",ms:"my",mt:"mt",my:"mm",na:"nr",nb:"no",nd:"zw",ne:"np",ng:"na",
nl:"nl",nn:"no",no:"no",nr:"za",nv:"us",ny:"mw",oc:"fr",om:"et",or:"in",os:"ge",pa:"in",pl:"pl",ps:"af",pt:"br",qu:"pe",rm:"ch",rn:"bi",ro:"ro",ru:"ru",rw:"rw",sa:"in",sd:"in",se:"no",sg:"cf",si:"lk",sk:"sk",sl:"si",sm:"ws",sn:"zw",so:"so",sq:"al",sr:"rs",ss:"za",st:"za",su:"id",sv:"se",sw:"tz",ta:"in",te:"in",tg:"tj",th:"th",ti:"et",tk:"tm",tl:"ph",tn:"za",to:"to",tr:"tr",ts:"za",tt:"ru",ty:"pf",ug:"cn",uk:"ua",ur:"pk",uz:"uz",ve:"za",vi:"vn",wa:"be",wo:"sn",xh:"za",yi:"il",yo:"ng",za:"cn",zh:"cn",
zu:"za",ace:"id",ady:"ru",agq:"cm",alt:"ru",amo:"ng",asa:"tz",ast:"es",awa:"in",bal:"pk",ban:"id",bas:"cm",bax:"cm",bbc:"id",bem:"zm",bez:"tz",bfq:"in",bft:"pk",bfy:"in",bhb:"in",bho:"in",bik:"ph",bin:"ng",bjj:"in",bku:"ph",bqv:"ci",bra:"in",brx:"in",bss:"cm",btv:"pk",bua:"ru",buc:"yt",bug:"id",bya:"id",byn:"er",cch:"ng",ccp:"in",ceb:"ph",cgg:"ug",chk:"fm",chm:"ru",chp:"ca",chr:"us",cja:"kh",cjm:"vn",ckb:"iq",crk:"ca",csb:"pl",dar:"ru",dav:"ke",den:"ca",dgr:"ca",dje:"ne",doi:"in",dsb:"de",dua:"cm",
dyo:"sn",dyu:"bf",ebu:"ke",efi:"ng",ewo:"cm",fan:"gq",fil:"ph",fon:"bj",fur:"it",gaa:"gh",gag:"md",gbm:"in",gcr:"gf",gez:"et",gil:"ki",gon:"in",gor:"id",grt:"in",gsw:"ch",guz:"ke",gwi:"ca",haw:"us",hil:"ph",hne:"in",hnn:"ph",hoc:"in",hoj:"in",ibb:"ng",ilo:"ph",inh:"ru",jgo:"cm",jmc:"tz",kaa:"uz",kab:"dz",kaj:"ng",kam:"ke",kbd:"ru",kcg:"ng",kde:"tz",kdt:"th",kea:"cv",ken:"cm",kfo:"ci",kfr:"in",kha:"in",khb:"cn",khq:"ml",kht:"in",kkj:"cm",kln:"ke",kmb:"ao",koi:"ru",kok:"in",kos:"fm",kpe:"lr",krc:"ru",
kri:"sl",krl:"ru",kru:"in",ksb:"tz",ksf:"cm",ksh:"de",kum:"ru",lag:"tz",lah:"pk",lbe:"ru",lcp:"cn",lep:"in",lez:"ru",lif:"np",lis:"cn",lki:"ir",lmn:"in",lol:"cd",lua:"cd",luo:"ke",luy:"ke",lwl:"th",mad:"id",mag:"in",mai:"in",mak:"id",man:"gn",mas:"ke",mdf:"ru",mdh:"ph",mdr:"id",men:"sl",mer:"ke",mfe:"mu",mgh:"mz",mgo:"cm",min:"id",mni:"in",mnk:"gm",mnw:"mm",mos:"bf",mua:"cm",mwr:"in",myv:"ru",nap:"it",naq:"na",nds:"de","new":"np",niu:"nu",nmg:"cm",nnh:"cm",nod:"th",nso:"za",nus:"sd",nym:"tz",nyn:"ug",
pag:"ph",pam:"ph",pap:"bq",pau:"pw",pon:"fm",prd:"ir",raj:"in",rcf:"re",rej:"id",rjs:"np",rkt:"in",rof:"tz",rwk:"tz",saf:"gh",sah:"ru",saq:"ke",sas:"id",sat:"in",saz:"in",sbp:"tz",scn:"it",sco:"gb",sdh:"ir",seh:"mz",ses:"ml",shi:"ma",shn:"mm",sid:"et",sma:"se",smj:"se",smn:"fi",sms:"fi",snk:"ml",srn:"sr",srr:"sn",ssy:"er",suk:"tz",sus:"gn",swb:"yt",swc:"cd",syl:"bd",syr:"sy",tbw:"ph",tcy:"in",tdd:"cn",tem:"sl",teo:"ug",tet:"tl",tig:"er",tiv:"ng",tkl:"tk",tmh:"ne",tpi:"pg",trv:"tw",tsg:"ph",tts:"th",
tum:"mw",tvl:"tv",twq:"ne",tyv:"ru",tzm:"ma",udm:"ru",uli:"fm",umb:"ao",unr:"in",unx:"in",vai:"lr",vun:"tz",wae:"ch",wal:"et",war:"ph",xog:"ug",xsr:"np",yao:"mz",yap:"fm",yav:"cm",zza:"tr"}[e[0]];return d};n.getWeekend=function(e){var d=n._region(e);e={"in":0,af:4,dz:4,ir:4,om:4,sa:4,ye:4,ae:5,bh:5,eg:5,il:5,iq:5,jo:5,kw:5,ly:5,ma:5,qa:5,sd:5,sy:5,tn:5}[d];d={af:5,dz:5,ir:5,om:5,sa:5,ye:5,ae:6,bh:5,eg:6,il:6,iq:6,jo:6,kw:6,ly:6,ma:6,qa:6,sd:6,sy:6,tn:6}[d];void 0===e&&(e=6);void 0===d&&(d=0);return{start:e,
end:d}};return n})},"esri/core/accessorSupport/get":function(){define(["require","exports","./utils"],function(e,k,n){function h(b,c,a){if(null!=a.getItemAt||Array.isArray(a)){var d=parseInt(b,10);if(!isNaN(d))return Array.isArray(a)?a[d]:a.getItemAt(d)}d=n.getProperties(a);return c?n.isPropertyDeclared(d,b)?d.get(b):a[b]:n.isPropertyDeclared(d,b)?d.internalGet(b):a[b]}function d(b,c,a,e){if(null==b)return b;b=h(c[e],a,b);return!b&&e<c.length-1?void 0:e===c.length-1?b:d(b,c,a,e+1)}function b(b,c,
a,e){void 0===a&&(a=!1);void 0===e&&(e=0);return"string"===typeof c&&-1===c.indexOf(".")?h(c,a,b):d(b,n.pathToArray(c),a,e)}function l(f,c){return b(f,c,!0)}k.valueOf=b;k.get=l;k.exists=function(f,c){return void 0!==b(c,f,!0)};Object.defineProperty(k,"__esModule",{value:!0});k.default=l})},"esri/core/accessorSupport/set":function(){define(["require","exports","./get"],function(e,k,n){function h(d,b,e){if(d&&b)if("object"===typeof b){e=0;for(var f=Object.getOwnPropertyNames(b);e<f.length;e++){var c=
f[e];h(d,c,b[c])}}else"_"!==b[0]&&(-1!==b.indexOf(".")?(b=b.split("."),c=b.splice(b.length-1,1)[0],h(n.default(d,b),c,e)):d[b]=e)}k.set=h;Object.defineProperty(k,"__esModule",{value:!0});k.default=h})},"esri/core/accessorSupport/extensions/computedProperty":function(){define(["require","exports","dojo/has","../utils","../wire"],function(e,k,n,h,d){k.ComputedPropertyExtension={processClassPropertyMetadata:function(b,e,f,c){e.dependsOn&&(e.wire=d.create(e.dependsOn,function(a){return h.getProperties(a).propertyInvalidated(b)}))},
instanceCreated:function(b,d,f){for(var c=0;c<f.length;c++){var a=d[f[c]];a.wire&&a.wire(b)}}};Object.defineProperty(k,"__esModule",{value:!0});k.default=k.ComputedPropertyExtension})},"esri/core/accessorSupport/extensions/serializableProperty":function(){define(["require","exports","dojo/_base/lang"],function(e,k,n){function h(a,b,c){var f=a&&a.json;if(a&&(a.json&&a.json.origins)&&(a=a.json.origins[c.origin]))switch(b){case "read":if("read"in a||"readable"in a||"readFrom"in a)f=a;break;case "write":if("write"in
a||"writable"in a||"writeTo"in a||"writeNull"in a||"writeAlways"in a||"writeWith"in a)f=a}return f}function d(a){return!!a&&!!a.prototype.declaredClass&&0===a.prototype.declaredClass.indexOf("esri.core.Collection")}function b(a){return!!a&&(!!a.prototype.read||!!a.fromJSON||d(a)&&b(a.prototype.itemType))}function l(a){return a.prototype.read?function(b,c,f){return null==b?b:(new a).read(b,f)}:a.fromJSON}function f(a){var b=l(a);return function(a,c,f){return null==a?a:Array.isArray(a)?a.map(function(g){return b(g,
null,f)}):[b(a,null,f)]}}function c(a,c,m){if(b(a)&&(m.json||(m.json={}),!m.json.read))if(c)m.json.read=f(a);else if(d(a)&&b(a.prototype.itemType)){var e=f(a.prototype.itemType);m.json.read=function(b,g){var p=e(b,g);return p?new a(p):p}}else m.json.read=l(a)}function a(a,b){return a&&"function"===typeof a.toJSON&&!a.toJSON.isDefaultToJSON?a.toJSON():a&&"function"===typeof a.write?a.write({},b):a}function s(b){return function(c,m,f){null===c?c=null:c&&"function"===typeof c.map?(c=c.map(function(b){return a(b,
f)}),"function"===typeof c.toArray&&(c=c.toArray())):c=[a(c,f)];n.setObject(b,c,m)}}function t(b){return function(c,m,f){n.setObject(b,a(c,f),m)}}function v(a,b,c,f){if(!1!==f.writable&&(null!=f.write||f.writeTo||f.writeWith||f.writeAlways))f.writable=!0;null==f.write&&f.writable&&(null!=f.writeTo&&(c=f.writeTo),b||d(a)?f.write=s(c):f.write=t(c))}function u(a){if(a.json&&a.json.origins){var b=a.json.origins,c={portalItem:["portal-item"],webScene:["web-scene"],webMap:["web-map"],webDocument:["web-scene",
"web-map"],"web-document":["web-scene","web-map"]};a=function(a){if(b[a]){var g=b[a];c[a].forEach(function(a){b[a]=g});delete b[a]}};for(var f in c)a(f)}}k.originSpecificReadPropertyDefinition=function(a,b){return h(a,"read",b)};k.originSpecificWritePropertyDefinition=function(a,b){return h(a,"write",b)};k.SerializablePropertyExtension={processPrototypePropertyMetadata:function(a,b,m,f){f=(m=Array.isArray(b.type))?b.type[0]:b.type;u(b);c(f,m,b);if(b.json){if(b.json.origins)for(var d in b.json.origins)v(f,
m,a,b.json.origins[d]);v(f,m,a,b.json)}}};Object.defineProperty(k,"__esModule",{value:!0});k.default=k.SerializablePropertyExtension})},"esri/core/Logger":function(){define(["require","exports","dojo/has"],function(e,k,n){var h={info:0,warn:1,error:2};e=function(){function d(b){void 0===b&&(b={});this.module=b.module||"";this.writer=b.writer||null;this.level=b.level||null;null!=b.enabled&&(this.enabled=!!b.enabled);d._loggers[this.module]=this;b=this.module.lastIndexOf(".");-1!==b&&(this.parent=d.getLogger(this.module.slice(0,
b)))}d.prototype.log=function(b){for(var d=[],f=1;f<arguments.length;f++)d[f-1]=arguments[f];this._isEnabled()&&this._matchLevel(b)&&(f=this._inheritedWriter())&&f.apply(void 0,[b,this.module].concat(d))};d.prototype.error=function(){for(var b=[],d=0;d<arguments.length;d++)b[d-0]=arguments[d];this.log.apply(this,["error"].concat(b))};d.prototype.warn=function(){for(var b=[],d=0;d<arguments.length;d++)b[d-0]=arguments[d];this.log.apply(this,["warn"].concat(b))};d.prototype.info=function(){for(var b=
[],d=0;d<arguments.length;d++)b[d-0]=arguments[d];this.log.apply(this,["info"].concat(b))};d.prototype.getLogger=function(b){return d.getLogger(this.module+"."+b)};d.getLogger=function(b){var e=d._loggers[b];e||(e=new d({module:b}));return e};d.prototype._parentWithMember=function(b,d){for(var f=this;f&&null==f[b];)f=f.parent;return f?f[b]:d};d.prototype._inheritedWriter=function(){return this._parentWithMember("writer",this._consoleWriter)};d.prototype._consoleWriter=function(b,d){for(var f=[],c=
2;c<arguments.length;c++)f[c-2]=arguments[c];console[b].apply(console,["["+d+"]"].concat(f))};d.prototype._matchLevel=function(b){return h[this._parentWithMember("level","error")]<=h[b]};d.prototype._isEnabled=function(){return this._parentWithMember("enabled",!0)};d._loggers={};return d}();e.getLogger("esri").level="warn";return e})},"esri/core/accessorSupport/introspection":function(){define("require exports ./utils ./metadata ./ensureType ./extensions ./decorators/cast".split(" "),function(e,k,
n,h,d,b,l){var f=Object.prototype.hasOwnProperty,c=/^_([a-zA-Z0-9]+)(Getter|Setter|Reader|Caster)$/,a={Getter:"get",Setter:"set",Reader:"read",Caster:"cast"},s=/^_(set|get)([a-zA-Z0-9]+)Attr$/;k.processPrototype=function(e){for(var l=e.declaredClass,u=e.properties,u=u||{},q=0,r=Object.getOwnPropertyNames(u);q<r.length;q++){var m=r[q],w=u[m],x=typeof w;null==w?h.setPropertyMetadata(e,m,{value:w}):Array.isArray(w)?h.setPropertyMetadata(e,m,{type:[w[0]],value:null}):"object"===x?n.getProperties(w)||
w instanceof Date?h.setPropertyMetadata(e,m,{type:w.constructor,value:w}):h.setPropertyMetadata(e,m,w):"boolean"===x?h.setPropertyMetadata(e,m,{type:Boolean,value:w}):"string"===x?h.setPropertyMetadata(e,m,{type:String,value:w}):"number"===x?h.setPropertyMetadata(e,m,{type:Number,value:w}):"function"===x&&h.setPropertyMetadata(e,m,{type:w,value:null})}q=0;for(r=Object.getOwnPropertyNames(e);q<r.length;q++){var w=r[q],x=e[w],g=void 0,u=m=void 0;if(g=c.exec(w))m=g[1],u=a[g[2]];else if(g=s.exec(w))m=
g[2][0].toLowerCase()+g[2].substr(1),u=g[1].toLowerCase();m&&u&&("read"===u?h.getPropertyMetadata(e,m).json?h.getPropertyMetadata(e,m).json.read=x:h.getPropertyMetadata(e,m).json={read:x}:h.getPropertyMetadata(e,m)[u]=x)}q=0;for(r=Object.getOwnPropertyNames(h.getPropertiesMetadata(e));q<r.length;q++)if(m=r[q],w=h.getPropertyMetadata(e,m),u=w.type,void 0===w.value&&f.call(e,m)&&(w.value=e[m]),!w.cast&&u)switch(u){case Number:w.cast=d.ensureNumber;break;case Boolean:w.cast=d.ensureBoolean;break;case String:w.cast=
d.ensureString;break;case Date:w.cast=d.ensureDate;break;default:Array.isArray(u)?w.cast=d.ensureArray(u[0]):w.cast=d.ensureType(u)}b.processPrototypeMetadatas(h.getPropertiesMetadata(e),l);return h.getPropertiesMetadata(e)};k.processClass=function(a){for(var c=a.prototype,f=c.declaredClass,d=a._meta.bases,r={},m=d.length-1;0<=m;m--)n.merge(r,h.getMetadata(d[m].prototype));var e=r.properties;b.processClassMetadatas(e,f);Object.defineProperty(a,"__accessorMetadata__",{value:e});for(var s={},f=function(g){var a=
e[g];s[g]={enumerable:!0,configurable:!0,get:function(){return this.__accessor__?this.__accessor__.get(g):a.value},set:function(b){var c=this.__accessor__;if(c){if(!Object.isFrozen(this)){if(c.initialized&&a.readOnly)throw new TypeError("[accessor] cannot assign to read-only property '"+g+"' of "+this.declaredClass);c.set(g,b)}}else Object.defineProperty(this,g,{enumerable:!0,configurable:!0,writable:!0,value:b})}}},d=0,m=Object.getOwnPropertyNames(e);d<m.length;d++)f(m[d]);Object.defineProperties(a.prototype,
s);if(r.parameters){a=0;for(f=Object.getOwnPropertyNames(r.parameters);a<f.length;a++)d=f[a],m=Object.getOwnPropertyDescriptor(c,d)||{value:c[d]},(m=l.autocastMethod(c,d,m))&&Object.defineProperty(c,d,m)}return r}})},"esri/core/accessorSupport/metadata":function(){define(["require","exports"],function(e,k){function n(b){return null!=b.__accessorMetadata__}function h(b){return n(b)&&null!=d(b).properties}function d(b){b.__accessorMetadata__||Object.defineProperty(b,"__accessorMetadata__",{value:{},
enumerable:!0,configurable:!0,writable:!0});return b.__accessorMetadata__}function b(b){b=d(b);var c=b.properties;c||(c=b.properties={});return c}function l(b,c){var a=d(b),e=a.parameters;e||(e=a.parameters={});a=e[c];a||(a=[],e[c]=a);return a}k.hasMetadata=n;k.hasPropertiesMetadata=h;k.hasPropertyMetadata=function(f,c){return h(f)&&null!=b(f)[c]};k.hasParametersMetadata=function(b,c){return n(b)&&null!=d(b).parameters&&null!=d(b).parameters[c]};k.getMetadata=d;k.getPropertiesMetadata=b;k.getPropertyMetadata=
function(f,c){var a=b(f),d=a[c];d||(d=a[c]={});return d};k.setPropertyMetadata=function(f,c,a){b(f)[c]=a};k.getParametersMetadata=l;k.getParameterMetadata=function(b,c,a){var d=l(b,c)[a];d||(l(b,c)[a]=d={index:a});return d}})},"esri/core/accessorSupport/ensureType":function(){define(["require","exports","dojo/has"],function(e,k,n){function h(b,c){return c.isInstanceOf?c.isInstanceOf(b):c instanceof b}function d(b,c){if(1===arguments.length)return d.bind(null,b);c&&(b&&!h(b,c))&&(l&&c.constructor&&
void 0!==c.constructor._meta?console.warn("Assigning an instance of '"+(c.declaredClass||"unknown")+"' which is not a subclass of '"+(b.prototype&&b.prototype.declaredClass||"unknown")+"'"):c=new b(c));return c}function b(f,c){return 1===arguments.length?b.bind(null,f):!c?c:Array.isArray(c)?c.map(d.bind(null,f)):[d(f,c)]}var l=0;k.isInstanceOf=h;k.ensureDate=function(b){return null==b?b:new Date(b)};k.ensureBoolean=function(b){return!0===b||!1===b?b:!!b};k.ensureString=function(b){return null==b?
b:b.toString()};k.ensureNumber=function(b){return null==b?b:parseFloat(b)};k.ensureType=d;k.ensureArray=b;Object.defineProperty(k,"__esModule",{value:!0});k.default=d})},"esri/core/accessorSupport/decorators/cast":function(){define(["require","exports","../metadata","../ensureType"],function(e,k,n,h){function d(a){var c="_meta"in a?h.ensureType(a):a;return function(){for(var a=[],f=0;f<arguments.length;f++)a[f-0]=arguments[f];a.push(c);return"number"===typeof a[2]?l.apply(this,a):b.apply(this,a)}}
function b(a,b,c,f){n.getPropertyMetadata(a,b).cast=f}function l(a,b,c,f){n.getParameterMetadata(a,b,c).cast=f}function f(a){return function(b,c,f){n.getPropertyMetadata(b,a).cast=b[c]}}var c=Object.prototype.toString;k.autocastMethod=function(a,b,c){if(n.hasParametersMetadata(a,b)){var f=n.getParametersMetadata(a,b).filter(function(a){return null!=a.cast});if(f.length){var d=c.value;c.value=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];for(b=0;b<f.length;b++){var c=f[b];
a[c.index]=c.cast(a[c.index])}return d.apply(this,a)};return c}console.warn("Method "+a.declaredClass+"::"+b+" is decorated with @autocast but no parameters are decorated")}};k.cast=function(){for(var a=[],b=0;b<arguments.length;b++)a[b-0]=arguments[b];if(!(3===a.length&&"string"===typeof a[1])){if(1===a.length&&"[object Function]"===c.call(a[0]))return d(a[0]);if(1===a.length&&"string"===typeof a[0])return f(a[0])}}})},"esri/core/accessorSupport/watch":function(){define("require exports ../Scheduler ../ArrayPool ../lang ./utils ./get ./wire".split(" "),
function(e,k,n,h,d,b,l,f){function c(g){if(!g.removed){var a=g.callback,b=g.propertyName,c=g.oldValue,m=g.target,f=l.valueOf(m,b,!0);d.equals(c,f)||(g.oldValue=f,a.call(m,f,c,b,m))}}function a(){if(x){x=null;var g=w;r={};m={};w=u.acquire();for(var a=0;a<g.length;a++)c(g[a]);u.release(g)}}function s(g,p,c){return b.parse(g,p,c,function(g,p,c){var d=l.valueOf(g,p,!0),e,z=f.wire(g,p,function(g,p){e||(e={uid:b.uid(),target:g,propertyName:p,oldValue:d,callback:c,removed:!1});var f=e,z=f.uid,s=b.uid(f.target),
u=r[z];u?w.splice(w.indexOf(u),1):(r[z]=f,m[s]||(m[s]=q.acquire()),m[s].push(z));w.push(f);x||(x=n.schedule(a))});return{remove:b.once(function(){z.remove();e&&(e.removed=!0)})}})}function t(g,a,c){return b.parse(g,a,c,function(g,a,b){var p=l.valueOf(g,a,!0),c=!1;return f.wire(g,a,function(g,a){if(!c){c=!0;var m=l.valueOf(g,a,!0);d.equals(p,m)||b.call(g,m,p,a,g);p=l.valueOf(g,a,!0);c=!1}})})}function v(g,a,b,c){void 0===c&&(c=!1);return c?t(g,a,b):s(g,a,b)}var u=new h,q=new h,r={},m={},w=[],x;k.dispatchTarget=
function(g){var a="string"!==typeof g?b.uid(g):g;if(g=m[a]){delete m[a];for(a=0;a<g.length;a++){var f=g[a],d=r[f];delete r[f];w.splice(w.indexOf(d),1);c(d)}q.release(g)}};k.removeTarget=function(g){var a="string"!==typeof g?b.uid(g):g;if(g=m[a]){delete m[a];for(a=0;a<g.length;a++){var c=g[a],f=r[c];delete r[c];w.splice(w.indexOf(f),1)}}};k.dispatch=a;k.watch=v;Object.defineProperty(k,"__esModule",{value:!0});k.default=v})},"esri/core/Scheduler":function(){define(["./ArrayPool","./ObjectPool","./nextTick",
"./requestAnimationFrame","./now"],function(e,k,n,h,d){var b=["prepare","preRender","render","postRender","update"],l=new k(function(){this.isActive=!0;this.callback=null},function(){this.isActive=!1;this.callback=null}),f=function(){},c=function(){this.item.isActive=!1;s.release(this)},a={time:0,deltaTime:0,spendInFrame:0,spendInTask:0},s=new k(function(){this.remove=c;this.item=null},function(){this.remove=f;this.item=null});k=function(){this._boundDispatch=this._dispatch.bind(this);this.willDispatch=
!1;this._queue=e.acquire();this._frameTasks=e.acquire();this._phaseTasks={};this._previousFrameTime=-1;for(var a=0;a<b.length;a++)this._phaseTasks[b[a]]=e.acquire();this._boundAnimationFrame=this._animationFrame.bind(this);this.executing=!1;this._animationFrameRequestId=null};k.prototype={schedule:function(a){var b=l.acquire();b.callback=a;this._schedule(b);a=s.acquire();a.item=b;return a},_dispatch:function(){for(var a=this._queue;a.length;){var b=a.shift();b.isActive&&(b.isActive=!1,b.callback())}this.willDispatch=
!1},_schedule:function(a){this._queue.push(a);this.willDispatch||(this.willDispatch=!0,n(this._boundDispatch))},addFrameTask:function(a){var c={phases:a,paused:!1,pausedAt:0,epoch:-1,dt:0,ticks:-1,removed:!1};this._frameTasks.push(c);for(var f=0;f<b.length;f++){var r=b[f];a[r]&&this._phaseTasks[r].push(c)}this._animationFrameRequestId||(this._previousFrameTime=-1,this._requestAnimationFrame());return{isPaused:function(){return c.paused},remove:function(){c.removed=!0},pause:function(){c.paused=!0;
c.pausedAt=d()},resume:function(){c.paused=!1;-1!==c.epoch&&(c.epoch+=d()-c.pausedAt)}}},clearFrameTasks:function(){for(var a=0;a<this._frameTasks.length;a++)this._frameTasks[a].removed=!0},_purge:function(){for(var a=0;a<this._frameTasks.length;){var c=this._frameTasks[a];a++;if(c.removed){this._frameTasks.splice(a-1,1);for(var f=0;f<b.length;f++){var d=b[f];if(c.phases[d]){var d=this._phaseTasks[d],m=d.indexOf(c);-1!==m&&d.splice(m,1)}}}}},_animationFrame:function(c){this._animationFrameRequestId=
null;this.executing=!0;0<this._frameTasks.length&&this._requestAnimationFrame();c=d();0>this._previousFrameTime&&(this._previousFrameTime=c);var f=c-this._previousFrameTime;this._previousFrameTime=c;for(var e=0;e<this._frameTasks.length;e++){var r=this._frameTasks[e];-1!==r.epoch&&(r.dt=f)}for(e=0;e<b.length;e++)for(var f=b[e],m=this._phaseTasks[f],s=0;s<m.length;s++)r=m[s],!r.paused&&!r.removed&&(0===e&&r.ticks++,-1===r.epoch&&(r.epoch=c),a.time=c,a.deltaTime=r.dt,a.spendInFrame=d()-c,a.spendInTask=
c-r.epoch,r.phases[f].call(r,a));this._purge();this.executing=!1},_requestAnimationFrame:function(){this._animationFrameRequestId=h(this._boundAnimationFrame)}};var t=new k;k.schedule=function(a){return t.schedule(a)};k.addFrameTask=function(a){return t.addFrameTask(a)};k.clearFrameTasks=function(){return t.clearFrameTasks()};Object.defineProperty(k,"executing",{get:function(){return t.executing}});k.instance=t;return k})},"esri/core/ArrayPool":function(){define(["require","exports"],function(e,k){var n=
Array.prototype.splice,h=function(){function b(b,f){void 0===b&&(b=50);void 0===f&&(f=50);this.allocationSize=f;this.pool=[];this.index=-1;for(var c=b;0<c;--c)this.pool.push([]);this.index=b-1}b.prototype.acquire=function(){if(-1===this.index){for(var b=this.allocationSize;0<b;--b)this.pool.push([]);this.index+=this.allocationSize}this.index-=1;return this.pool.pop()};b.prototype.copy=function(b){var f=this.acquire();b.unshift(0,0);n.apply(f,b);b.splice(0,2);return f};b.prototype.release=function(b){b&&
(b.length=0,this.index+=1,this.pool[this.index]=b)};b.acquire=function(){return d.acquire()};b.copy=function(b){return d.copy(b)};b.release=function(b){return d.release(b)};return b}(),d=new h(100);return h})},"esri/core/ObjectPool":function(){define(["require","exports"],function(e,k){var n=function(){};return function(){function e(d,b,l){void 0===d&&(d=new n);void 0===l&&(l=!0);this.cls=d;this.dispose=b;this.constructOnAcquire=l;this._pool=[]}e.prototype.acquire=function(){for(var d=0;d<arguments.length;d++);
this._pool.length?(d=this._pool.pop(),this.constructOnAcquire&&this.cls.call(d)):d=new this.cls;return d};e.prototype.release=function(d){d&&(this.dispose?this.dispose.call(d):d&&(d.dispose&&"function"===typeof d.dispose)&&d.dispose(),this._pool.push(d))};return e}()})},"esri/core/nextTick":function(){define(["require","exports"],function(e,k){function n(){if(h.postMessage&&!h.importScripts){var b=h.onmessage,d=!0;h.onmessage=function(){d=!1};h.postMessage("","*");h.onmessage=b;return d}return!1}
var h=function(){return this}(),d=h.MutationObserver||h.WebKitMutationObserver;return function(){var b;if(h.process&&h.process.nextTick)b=function(a){h.process.nextTick(a)};else if(h.Promise)b=function(a){h.Promise.resolve().then(a)};else if(d){var e=[],f=document.createElement("div");(new d(function(){for(;0<e.length;)e.shift()()})).observe(f,{attributes:!0});b=function(a){e.push(a);f.setAttribute("queueStatus","1")}}else if(n()){var c=[];h.addEventListener("message",function(a){if(a.source===h&&
"esri-nexttick-message"===a.data)for(a.stopPropagation();c.length;)c.shift()()},!0);b=function(a){c.push(a);h.postMessage("esri-nexttick-message","*")}}else b=h.setImmediate?function(a){return h.setImmediate(a)}:function(a){return h.setTimeout(a,0)};return b}()})},"esri/core/requestAnimationFrame":function(){define(["dojo/_base/window","dojo/sniff","./now"],function(e,k,n){var h=e.global;e=k("ff");var d=k("ie"),b=k("webkit");k=k("opera");var l=n(),f=h.requestAnimationFrame;f||(f=h[(b&&"webkit"||e&&
"moz"||k&&"o"||d&&"ms")+"RequestAnimationFrame"])||(f=function(b){var a=n(),f=Math.max(0,16-(a-l)),d=h.setTimeout(function(){b(n())},f);l=a+f;return d});return f})},"esri/core/now":function(){define(["require","exports","./global"],function(e,k,n){return function(){var e=n.performance||{};if(e.now)return function(){return e.now()};if(e.webkitNow)return function(){return e.webkitNow()};if(e.mozNow)return function(){return e.mozNow()};if(e.msNow)return function(){return e.msNow()};if(e.oNow)return function(){return e.oNow()};
var d;d=e.timing&&e.timing.navigationStart?e.timing.navigationStart:Date.now();return function(){return Date.now()-d}}()})},"esri/core/global":function(){define(["require","exports"],function(e,k){return"undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{}})},"esri/core/CollectionFlattener":function(){define("require exports ./tsSupport/declareExtendsHelper ./tsSupport/decorateHelper ./accessorSupport/decorators ./Collection ./HandleRegistry".split(" "),
function(e,k,n,h,d,b,l){return function(f){function c(a){f.call(this);this._handles=new l;this.root=null;this.refresh=this.refresh.bind(this);this.updateCollections=this.updateCollections.bind(this)}n(c,f);c.prototype.initialize=function(){var a=this;this._handles.add(this.rootCollectionNames.map(function(b){return a.watch("root."+b,a.updateCollections,!0)}));this.updateCollections()};c.prototype.destroy=function(){this.root=null;this.refresh();this._handles.destroy();this._handles=null};c.prototype.updateCollections=
function(){var a=this;this._collections=this.rootCollectionNames.map(function(b){return a.get("root."+b)}).filter(function(a){return null!=a});this.refresh()};c.prototype.refresh=function(){var a=this._handles;a.remove("collections");this.removeAll();for(var b=this._collections.slice(),c=0,f=this._collections;c<f.length;c++)this._processCollection(b,this,f[c]);for(c=0;c<b.length;c++)a.add(b[c].on("after-changes",this.refresh),"collections")};c.prototype._createNewInstance=function(a){return new b(a)};
c.prototype._processCollection=function(a,b,c){var f=this;c&&(a.push(c),c.forEach(function(c){c&&(b.push(c),f._processCollection(a,b,f.getChildrenFunction(c)))}))};h([d.property()],c.prototype,"rootCollectionNames",void 0);h([d.property()],c.prototype,"root",void 0);h([d.property()],c.prototype,"getChildrenFunction",void 0);return c=h([d.subclass("esri.core.CollectionFlattener")],c)}(d.declared(b))})},"esri/core/accessorSupport/decorators":function(){define("require exports ./decorators/aliasOf ./decorators/cast ./decorators/declared ./decorators/property ./decorators/read ./decorators/shared ./decorators/subclass ./decorators/write".split(" "),
function(e,k,n,h,d,b,l,f,c,a){function s(a){for(var b in a)k.hasOwnProperty(b)||(k[b]=a[b])}s(n);s(h);s(d);s(b);s(l);s(f);s(c);s(a)})},"esri/core/accessorSupport/decorators/aliasOf":function(){define(["require","exports","../metadata"],function(e,k,n){k.aliasOf=function(e){return function(d,b){n.getPropertyMetadata(d,b).aliasOf=e}}})},"esri/core/accessorSupport/decorators/declared":function(){define(["require","exports"],function(e,k){k.declared=function(e){for(var h=[],d=1;d<arguments.length;d++)h[d-
1]=arguments[d];d=function(){return this||{}};d.__bases__=[e].concat(h);return d}})},"esri/core/accessorSupport/decorators/property":function(){define(["require","exports","../../lang","../metadata"],function(e,k,n,h){k.property=function(d){void 0===d&&(d={});return function(b,e){var f=b.constructor.prototype,c=Object.getOwnPropertyDescriptor(b,e);if(c&&(c.get||c.set))d=n.clone(d),c.set&&(d.set=c.set),c.get&&(d.get=c.get);var f=h.getPropertyMetadata(f,e),a;for(a in d)c=d[a],Array.isArray(c)?f[a]=
(f[a]||[]).concat(c):f[a]=c}};k.propertyJSONMeta=function(d,b,e){d=h.getPropertyMetadata(d.constructor.prototype,e);d.json||(d.json={});d=d.json;void 0!==b&&(d.origins||(d.origins={}),d.origins[b]||(d.origins[b]={}),d=d.origins[b]);return d}})},"esri/core/accessorSupport/decorators/read":function(){define(["require","exports","./property"],function(e,k,n){k.read=function(e,d,b){var l,f;void 0===d||Array.isArray(d)?(f=e,b=d,l=[void 0]):(f=d,l=Array.isArray(e)?e:[e]);return function(c,a,d){var e=c.constructor.prototype;
l.forEach(function(d){d=n.propertyJSONMeta(c,d,f);d.read=e[a];b&&(d.readFrom=(d.readFrom||[]).concat(b))})}}})},"esri/core/accessorSupport/decorators/shared":function(){define(["require","exports"],function(e,k){k.shared=function(e){return function(h,d){h[d]=e}}})},"esri/core/accessorSupport/decorators/subclass":function(){define(["require","exports","../../declare","../metadata"],function(e,k,n,h){function d(b){var c=[];b=h.getPropertiesMetadata(b.prototype);if(!b)return c;for(var a in b){var d=
b[a];d.cast&&c.push(d.cast);d.copy&&c.push(d.copy);if(d=d.json)if(d.read&&c.push(d.read),d.write&&c.push(d.write),d=d.origins)for(var e in d){var l=d[e];l.read&&c.push(l.read);l.write&&c.push(l.write)}}return c}function b(b){var c={},a=["__bases__"],e=h.getPropertiesMetadata(b.prototype),l=d(b);Object.getOwnPropertyNames(b.prototype).filter(function(c){return-1!==a.indexOf(c)||e&&e.hasOwnProperty(c)||-1!==l.indexOf(b.prototype[c])?!1:!0}).forEach(function(a){c[a]=b.prototype[a]});return c}function l(b){var c=
Object.getOwnPropertyNames(b),a=Object.getOwnPropertyNames(Object.getPrototypeOf(b.prototype).constructor);a.push("__bases__");var d={};c.filter(function(b){return-1===a.indexOf(b)}).forEach(function(a){d[a]=b[a]});return d}k.subclass=function(f){return function(c){var a=b(c),d=l(c);null!=f&&(a.declaredClass=f);c=n(c.__bases__,a);for(var e in d)c[e]=d[e];return c}}})},"esri/core/accessorSupport/decorators/write":function(){define(["require","exports","./property"],function(e,k,n){k.write=function(e,
d){var b;void 0===d?(d=e,b=[void 0]):b=Array.isArray(e)?e:[e];return function(e,f,c){var a=e.constructor.prototype;b.forEach(function(b){n.propertyJSONMeta(e,b,d).write=a[f]})}}})},"esri/core/Collection":function(){define("require exports ./tsSupport/declareExtendsHelper ./tsSupport/decorateHelper dojo/aspect ./accessorSupport/decorators ./accessorSupport/ensureType ./Accessor ./ArrayPool ./Evented ./ObjectPool ./Scheduler ./lang".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v){function u(g){return!g?
!1:g.isInstanceOf&&g.isInstanceOf(A)?!0:!1}function q(g){return!g?[]:u(g)?g.toArray():g.length?Array.prototype.slice.apply(g):[]}function r(g){return!g||!g.length?void 0:g[0]}function m(g,a,b,p){a&&a.forEach(function(a,c,f){g.push(a);m(g,b.call(p,a,c,f),b,p)})}(function(){return function(){}})();e=function(){function g(){this.target=null;this.defaultPrevented=this.cancellable=!1}g.prototype.preventDefault=function(){this.cancellable&&(this.defaultPrevented=!0)};g.prototype.reset=function(g){this.defaultPrevented=
!1;this.item=g};return g}();var w=function(){},x=new s(e,function(){this.target=this.item=null}),g=new Set,p=new Set,z=new Set,y=new Map,C=0,A=function(a){function f(g){a.call(this,g);this._boundDispatch=this._dispatchColChange.bind(this);this._chgListeners=[];this._timer=this._notifications=null;this.length=0;this._items=[];Object.defineProperty(this,"uid",{value:C++})}n(f,a);f.ofType=function(g){if(!g)return f;if(y.has(g))return y.get(g);var a=f.createSubclass({declaredClass:"esri.core.Collection\x3c"+
g.prototype.declaredClass+"\x3e"});Object.defineProperty(a.prototype,"itemType",{value:g});y.set(g,a);return a};f.prototype.normalizeCtorArgs=function(g){return!g?{}:Array.isArray(g)||u(g)?{items:g}:g};Object.defineProperty(f.prototype,"items",{get:function(){return this._items},set:function(g){this._emitBeforeChanges()||(this._splice.apply(this,[0,this.length].concat(q(g))),this._emitAfterChanges())},enumerable:!0,configurable:!0});f.prototype.on=function(g,a){var b;Array.isArray(g)?b=g:-1<g.indexOf(",")&&
(b=g.split(/\s*,\s*/));if(b){for(var p=[],c=0;c<b.length;c++)p.push(this.on(b[c],a));p.remove=function(){for(var g=0;g<p.length;g++)p[g].remove()};return p}if("change"===g){var m=this._chgListeners,f={removed:!1,callback:a};m.push(f);this._notifications&&this._notifications.push({listeners:m.slice(),items:this._items.slice(),changes:[]});return{remove:function(){this.remove=w;f.removed=!0;m.splice(m.indexOf(f),1)}}}return d.after(this,"on"+g,a,!0)};f.prototype.hasEventListener=function(g){return"change"===
g?0<this._chgListeners.length:this.inherited(arguments)};f.prototype.add=function(g,a){if(this._emitBeforeChanges())return this;var b=this.getNextIndex(a);this._splice(b,0,g);this._emitAfterChanges();return this};f.prototype.addMany=function(g,a){void 0===a&&(a=this._items.length);if(this._emitBeforeChanges())return this;var b=this.getNextIndex(a);this._splice.apply(this,[b,0].concat(q(g)));this._emitAfterChanges();return this};f.prototype.removeAll=function(){if(!this.length||this._emitBeforeChanges())return[];
var g=this._splice(0,this.length)||[];this._emitAfterChanges();return g};f.prototype.clone=function(){return this._createNewInstance({items:this._items.map(v.clone)})};f.prototype.concat=function(){for(var g=[],a=0;a<arguments.length;a++)g[a-0]=arguments[a];g=g.map(q);return this._createNewInstance({items:(b=this._items).concat.apply(b,g)});var b};f.prototype.drain=function(g,a){if(this.length&&!this._emitBeforeChanges()){for(var b=this._splice(0,this.length),p=0,c=b.length;p<c;p++)g.call(a,b[p],
p,b);this._emitAfterChanges()}};f.prototype.every=function(g,a){return this._items.every(g,a)};f.prototype.filter=function(g,a){var b;b=2===arguments.length?this._items.filter(g,a):this._items.filter(g);return this._createNewInstance({items:b})};f.prototype.find=function(g,a){if("function"!==typeof g)throw new TypeError(g+" is not a function");for(var b=this._items,p=0,c=b.length;p<c;p++){var m=b[p];if(g.call(a,m,p,b))return m}};f.prototype.findIndex=function(g,a){if("function"!==typeof g)throw new TypeError(g+
" is not a function");for(var b=this._items,p=0,c=b.length;p<c;p++)if(g.call(a,b[p],p,b))return p;return-1};f.prototype.flatten=function(g,a){var b=[];m(b,this,g,a);return new f(b)};f.prototype.forEach=function(g,a){for(var b=this._items,p=0,c=b.length;p<c;p++)g.call(a,b[p],p,b)};f.prototype.getItemAt=function(g){return this._items[g]};f.prototype.getNextIndex=function(g){var a=this.length;g=null==g?a:g;0>g?g=0:g>a&&(g=a);return g};f.prototype.includes=function(g,a){void 0===a&&(a=0);return!arguments.length?
!1:-1!==this._items.indexOf(g,a)};f.prototype.indexOf=function(g,a){void 0===a&&(a=0);return this._items.indexOf(g,a)};f.prototype.join=function(g){void 0===g&&(g=",");return this._items.join(g)};f.prototype.lastIndexOf=function(g,a){void 0===a&&(a=this.length-1);return this._items.lastIndexOf(g,a)};f.prototype.map=function(g,a){var b=this._items.map(g,a);return new f({items:b})};f.prototype.reorder=function(g,a){void 0===a&&(a=this.length-1);var b=this.indexOf(g);if(-1!==b){0>a?a=0:a>=this.length&&
(a=this.length-1);if(b!==a){if(this._emitBeforeChanges())return g;this._splice(b,1);this._splice(a,0,g);this._emitAfterChanges()}return g}};f.prototype.pop=function(){if(this.length&&!this._emitBeforeChanges()){var g=r(this._splice(this.length-1,1));this._emitAfterChanges();return g}};f.prototype.push=function(){for(var g=[],a=0;a<arguments.length;a++)g[a-0]=arguments[a];if(this._emitBeforeChanges())return this.length;this._splice.apply(this,[this.length,0].concat(g));this._emitAfterChanges();return this.length};
f.prototype.reduce=function(g,a){var b=this._items;return 2===arguments.length?b.reduce(g,a):b.reduce(g)};f.prototype.reduceRight=function(g,a){var b=this._items;return 2===arguments.length?b.reduceRight(g,a):b.reduceRight(g)};f.prototype.remove=function(g){return this.removeAt(this.indexOf(g))};f.prototype.removeAt=function(g){if(!(0>g||g>=this.length||this._emitBeforeChanges()))return g=r(this._splice(g,1)),this._emitAfterChanges(),g};f.prototype.removeMany=function(g){if(!g||!g.length||this._emitBeforeChanges())return[];
g=u(g)?g.toArray():g;for(var a=this._items,b=[],p=0,c=g.length;p<c;p++){var m=a.indexOf(g[p]);if(-1<m){for(var f=g,d=a,e=p+1,r=m+1,q=Math.min(f.length-e,d.length-r),z=0;z<q&&f[e+z]===d[r+z];)z++;f=1+z;(m=this._splice(m,f))&&0<m.length&&b.push.apply(b,m);p+=f-1}}this._emitAfterChanges();return b};f.prototype.reverse=function(){if(this._emitBeforeChanges())return this;var g=this._splice(0,this.length);g&&(g.reverse(),this._splice.apply(this,[0,0].concat(g)));this._emitAfterChanges();return this};f.prototype.shift=
function(){if(this.length&&!this._emitBeforeChanges()){var g=r(this._splice(0,1));this._emitAfterChanges();return g}};f.prototype.slice=function(g,a){void 0===g&&(g=0);void 0===a&&(a=this.length);return this._createNewInstance({items:this._items.slice(g,a)})};f.prototype.some=function(g,a){return this._items.some(g,a)};f.prototype.sort=function(g){if(!this.length||this._emitBeforeChanges())return this;var a=this._splice(0,this.length);arguments.length?a.sort(g):a.sort();this._splice.apply(this,[0,
0].concat(a));return this};f.prototype.splice=function(g,a){for(var b=[],p=2;p<arguments.length;p++)b[p-2]=arguments[p];if(this._emitBeforeChanges())return[];b=this._splice.apply(this,[g,a].concat(b))||[];this._emitAfterChanges();return b};f.prototype.toArray=function(){return this._items.slice()};f.prototype.toJSON=function(){return this.toArray()};f.prototype.toLocaleString=function(){return this._items.toLocaleString()};f.prototype.toString=function(){return this._items.toString()};f.prototype.unshift=
function(){for(var g=[],a=0;a<arguments.length;a++)g[a-0]=arguments[a];if(this._emitBeforeChanges())return this.length;this._splice.apply(this,[0,0].concat(g));this._emitAfterChanges();return this.length};f.prototype._createNewInstance=function(g){return new this.constructor(g)};f.prototype._splice=function(g,a){for(var b=this,p=[],c=2;c<arguments.length;c++)p[c-2]=arguments[c];var m=this._items,f=this.constructor.prototype.itemType,d,e;!this._notifications&&this.hasEventListener("change")&&(this._notifications=
[{listeners:this._chgListeners.slice(),items:this._items.slice(),changes:[]}],this._timer&&this._timer.remove(),this._timer=t.schedule(this._boundDispatch));if(a){e=m.splice(g,a);if(this.hasEventListener("before-remove")){c=x.acquire();c.target=this;c.cancellable=!0;for(var r=0,q=e.length;r<q;r++)d=e[r],c.reset(d),this.emit("before-remove",c),c.defaultPrevented&&(e.splice(r,1),m.splice(g,0,d),g+=1,r-=1,q-=1);x.release(c)}this.length=this._items.length;if(this.hasEventListener("after-remove")){c=x.acquire();
c.target=this;c.cancellable=!1;r=0;for(q=e.length;r<q;r++)c.reset(e[r]),this.emit("after-remove",c);x.release(c)}this._notifyChangeEvent(null,e)}if(p&&p.length){f&&(p=p.map(l.ensureType.bind(null,f)));if(this.hasEventListener("before-add")){var z=x.acquire();z.target=this;z.cancellable=!0;p=p.filter(function(g){z.reset(g);b.emit("before-add",z);return!z.defaultPrevented});x.release(z)}m.splice.apply(m,[g,0].concat(p));this.length=this._items.length;if(this.hasEventListener("after-add")){c=x.acquire();
c.target=this;c.cancellable=!1;m=0;for(f=p;m<f.length;m++)d=f[m],c.reset(d),this.emit("after-add",c);x.release(c)}this._notifyChangeEvent(p,null)}return e};f.prototype._emitBeforeChanges=function(){var g=!1;if(this.hasEventListener("before-changes")){var a=x.acquire();a.target=this;a.cancellable=!0;this.emit("before-changes",a);g=a.defaultPrevented;x.release(a)}return g};f.prototype._emitAfterChanges=function(){if(this.hasEventListener("after-changes")){var g=x.acquire();g.target=this;g.cancellable=
!1;this.emit("after-changes",g);x.release(g)}};f.prototype._notifyChangeEvent=function(g,a){this.hasEventListener("change")&&this._notifications[this._notifications.length-1].changes.push({added:g,removed:a})};f.prototype._dispatchColChange=function(){this._timer&&(this._timer.remove(),this._timer=null);if(this._notifications){var a=this._notifications;this._notifications=null;for(var b=function(a){var b=a.changes;g.clear();p.clear();z.clear();for(var f=0;f<b.length;f++){var d=b[f],e=d.added,d=d.removed;
if(e)if(0===z.size&&0===p.size)for(var r=0,q=e;r<q.length;r++)e=q[r],g.add(e);else{r=0;for(q=e;r<q.length;r++)e=q[r],p.has(e)?(z.add(e),p.delete(e)):z.has(e)||g.add(e)}if(d)if(0===z.size&&0===g.size)for(r=0;r<d.length;r++)e=d[r],p.add(e);else for(r=0;r<d.length;r++)e=d[r],g.has(e)?g.delete(e):(z.delete(e),p.add(e))}var s=c.acquire();g.forEach(function(g){s.push(g)});var u=c.acquire();p.forEach(function(g){u.push(g)});var l=m._items,w=a.items,x=c.acquire();z.forEach(function(g){w.indexOf(g)!==l.indexOf(g)&&
x.push(g)});if(a.listeners&&(s.length||u.length||x.length)){b={target:m,added:s,removed:u,moved:x};f=0;for(e=a.listeners.length;f<e;f++)d=a.listeners[f],d.removed||d.callback.call(m,b)}c.release(s);c.release(u);c.release(x)},m=this,f=0;f<a.length;f++)b(a[f])}};f.isCollection=u;h([b.property()],f.prototype,"length",void 0);h([b.property()],f.prototype,"items",null);return f=h([b.subclass("esri.core.Collection")],f)}(b.declared(f,a));return A})},"esri/core/Evented":function(){define(["./declare","dojo/Evented"],
function(e,k){return e(k,{declaredClass:"esri.core.Evented",hasEventListener:function(e){e="on"+e;return!(!this[e]||!this[e].after)},emit:function(e,h){if(this.hasEventListener(e))return h=h||{},h.target||(h.target=this),this.inherited(arguments,[e,h])}})})},"esri/core/HandleRegistry":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ./Accessor ./accessorSupport/decorators".split(" "),function(e,k,n,h,d,b){return function(d){function f(){d.call(this);
this._groups=null;this._groups={}}n(f,d);f.prototype.destroy=function(){this.removeAll();this._groups=null};Object.defineProperty(f.prototype,"size",{get:function(){var b=0,a=this._groups,f;for(f in a)b+=a[f].length;return b},enumerable:!0,configurable:!0});f.prototype.add=function(b,a){if(!this._isHandle(b)&&!Array.isArray(b))return this;var f=this._getOrCreateGroup(a);if(Array.isArray(b))for(var d=0;d<b.length;d++)f.push(b[d]);else f.push(b);this.notifyChange("size");return this};f.prototype.has=
function(b){b=this._groups[b];return!!b&&0<b.length};f.prototype.remove=function(b){if(Array.isArray(b))b.forEach(this.remove.bind(this));else{b=this._getGroup(b);if(!b)return this;for(var a=0;a<b.length;a++)b[a].remove();b.length=0;this.notifyChange("size")}return this};f.prototype.removeAll=function(){var b=this._groups,a;for(a in b)this.remove(a),delete b[a];return this};f.prototype._isHandle=function(b){return b&&!!b.remove};f.prototype._getOrCreateGroup=function(b){return this._getGroup(b)||
(this._groups[this._ensureGroupName(b)]=[])};f.prototype._getGroup=function(b){return this._groups[this._ensureGroupName(b)]};f.prototype._ensureGroupName=function(b){return b||"_default_"};h([b.property({readOnly:!0})],f.prototype,"size",null);return f=h([b.subclass()],f)}(b.declared(d))})},"esri/support/LayersMixin":function(){define(["../core/Accessor","../core/Collection","../core/Logger"],function(e,k,n){var h=function(b,d){for(var f,c=0,a=b.length;c<a;c++)if(f=b.getItemAt(c),f.id===d||f.layers&&
(f=h(f.layers,d)))return f},d=n.getLogger("esri.Map");return e.createSubclass({declaredClass:"esri.support.LayersMixin",destroy:function(){this._layersHandle.remove();this._layersHandle=null;this.layers.drain(this._lyrRemove,this)},properties:{layers:{type:k,get:function(){var b=this._get("layers");if(b)return b;b=new k;b.on("after-add",function(b){b=b.item;b.parent&&b.parent!==this&&b.parent.remove(b);b.parent=this;this.layerAdded(b);"elevation"===b.type&&d.error("Layer '"+b.title+", id:"+b.id+"' of type '"+
b.type+"' is not supported as an operational layer and will therefore be ignored.")}.bind(this));b.on("after-remove",function(b){b=b.item;b.parent=null;this.layerRemoved(b)}.bind(this));return b},set:function(b){var d=this._get("layers");d&&this.remove(d.toArray());this.addMany(b.toArray())}}},findLayerById:function(b){return h(this.layers,b)},add:function(b,d){var f=this.layers;d=f.getNextIndex(d);b.parent===this?this.reorder(b,d):f.add(b,d)},addMany:function(b,d){var f=this.layers;d=f.getNextIndex(d);
b.slice().forEach(function(b){b.parent===this?this.reorder(b,d):(f.add(b,d),d+=1)},this)},remove:function(b){return this.layers.remove(b)},removeMany:function(b){return this.layers.removeMany(b)},removeAll:function(){return this.layers.removeAll()},reorder:function(b,d){return this.layers.reorder(b,d)},layerAdded:function(b){},layerRemoved:function(b){}})})},"esri/Ground":function(){define("require exports ./core/tsSupport/declareExtendsHelper ./core/tsSupport/decorateHelper ./core/accessorSupport/decorators ./core/Accessor ./core/Collection ./core/collectionUtils ./core/Logger ./core/requireUtils ./layers/Layer".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s){var t=l.ofType(s),v=c.getLogger("esri.Ground");return function(b){function c(a){b.call(this);this.layers=new t;this.layers.on("after-add",function(a){a=a.item;"elevation"!==a.type&&v.error("Layer '"+a.title+", id:"+a.id+"' of type '"+a.type+"' is not supported as a ground layer and will therefore be ignored. Only layers of type 'elevation' are supported.")})}n(c,b);Object.defineProperty(c.prototype,"layers",{set:function(a){this._set("layers",f.referenceSetter(a,this._get("layers"),
t))},enumerable:!0,configurable:!0});c.prototype.queryElevation=function(b,c){var f=this;return a.when(e,"./layers/support/ElevationQuery").then(function(a){a=new a.ElevationQuery;var g=f.layers.filter(function(g){return"elevation"===g.type}).toArray();return a.queryAll(g,b,c)})};c.prototype.clone=function(){return new c({layers:this.layers.slice()})};h([d.property({type:t}),d.cast(f.castForReferenceSetter)],c.prototype,"layers",null);return c=h([d.subclass("esri.Ground")],c)}(d.declared(b))})},"esri/core/collectionUtils":function(){define(["require",
"exports","./Collection"],function(e,k,n){k.referenceSetter=function(e,d,b){void 0===b&&(b=n);d||(d=new b);d.removeAll();e&&(Array.isArray(e)||e.isInstanceOf&&e.isInstanceOf(n))?d.addMany(e):d.add(e);return d};k.castForReferenceSetter=function(e){return e}})},"esri/core/requireUtils":function(){define(["require","exports","dojo/Deferred"],function(e,k,n){function h(d,b){if(Array.isArray(b)){var e=new n;d(b,function(){for(var b=[],c=0;c<arguments.length;c++)b[c-0]=arguments[c];e.resolve(b)});return e.promise}return h(d,
[b]).then(function(b){return b[0]})}k.when=h;k.getAbsMid=function(d,b,e){return b.toAbsMid?b.toAbsMid(d):e.id.replace(/\/[^\/]*$/ig,"/")+d}})},"esri/layers/Layer":function(){define("require dojo/Deferred ../core/Accessor ../core/Error ../core/Evented ../core/Identifiable ../core/Loadable ../core/urlUtils ../core/requireUtils ../core/promiseUtils ../core/Logger ../config ../kernel ../request ../geometry/SpatialReference ../geometry/Extent".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r){var m=
0,w=s.getLogger("esri.layers.Layer");n=n.createSubclass([d,b,l],{declaredClass:"esri.layers.Layer",properties:{attributionDataUrl:null,credential:{value:null,readOnly:!0,dependsOn:["loaded","parsedUrl"],get:function(){var a=this.loaded&&this.parsedUrl&&v.id&&v.id.findCredential(this.parsedUrl.path)||null;a&&a.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));return a}},fullExtent:new r(-180,-90,180,90,q.WGS84),hasAttributionData:{readOnly:!0,dependsOn:["attributionDataUrl"],get:function(){return null!=
this.attributionDataUrl}},id:{get:function(){return Date.now().toString(16)+"-layer-"+m++}},legendEnabled:!0,listMode:"show",opacity:{value:1,type:Number,cast:function(a){return 0>a?0:1<a?1:a}},parsedUrl:{readOnly:!0,dependsOn:["url"],get:function(){var a=this._get("url");return a?f.urlToObject(a):null}},popupEnabled:!0,refreshInterval:0,attributionVisible:!0,spatialReference:q.WGS84,title:null,token:{dependsOn:["credential.token"],get:function(){var a=this.get("parsedUrl.query.token"),g=this.get("credential.token");
return a||g||null},set:function(a){a?this._override("token",a):this._clearOverride("token")}},type:{type:String,readOnly:!0,value:null,json:{readable:!1}},url:{value:null},visible:!0},initialize:function(){this.otherwise(function(a){s.getLogger(this.declaredClass).error("#load()","Failed to load layer (title: '"+this.title+"', id: '"+this.id+"')",a)})},createLayerView:function(b){var g=this.viewModulePaths[b.type];return g?c.when(e,g).then(function(g){g.default&&(g=g.default);return new g({layer:this,
view:b})}.bind(this)):a.reject(new h("layerview:module-unavailable","No LayerView module available for layer '${layer.declaredClass}' and view type: '${view.type}'",{view:b,layer:this}))},destroyLayerView:function(a){a.destroy()},fetchAttributionData:function(){var a=this.attributionDataUrl;this.hasAttributionData&&a?a=u(a,{query:{f:"json"},responseType:"json"}).then(function(g){return g.data}):(a=new k,a.reject(new h("layer:no-attribution-data","Layer does not have attribution data")),a=a.promise);
return a},refresh:function(){this.emit("refresh")}});n.fromArcGISServerUrl=function(a){"string"===typeof a&&(a={url:a});var g=c.when(e,"./support/arcgisLayers").then(function(g){return g.fromUrl(a)});g.otherwise(function(g){w.error("#fromArcGISServerUrl({ url: '"+a.url+"'})","Failed to create layer from arcgis server url",g)});return g};n.fromPortalItem=function(a){if(a&&!a.portalItem&&"object"===typeof a&&(!a.declaredClass||"esri.portal.PortalItem"===a.declaredClass))a={portalItem:a};var g=c.when(e,
"../portal/support/portalLayers").then(function(g){return g.fromItem(a)});g.otherwise(function(g){var b=a&&a.portalItem;w.error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+(b&&b.portal&&b.portal.url||t.portalUrl)+"', id: '"+(b&&b.id||"unset")+"')",g)});return g};return n})},"esri/core/Error":function(){define(["require","exports","./tsSupport/extendsHelper","./tsSupport/decorateHelper","./Message"],function(e,k,n,h,d){e=function(b){function d(){b.apply(this,arguments)}
n(d,b);return d}(d);e.prototype.type="error";return e})},"esri/core/tsSupport/extendsHelper":function(){define([],function(){return function(e,k){function n(){this.constructor=e}for(var h in k)k.hasOwnProperty(h)&&(e[h]=k[h]);e.prototype=null===k?Object.create(k):(n.prototype=k.prototype,new n)}})},"esri/core/Message":function(){define(["require","exports","./tsSupport/extendsHelper","./tsSupport/decorateHelper","dojo/string"],function(e,k,n,h,d){return function(){function b(b,f,c){this.name=b;this.message=
f&&d.substitute(f,c,function(a){return null==a?"":a})||"";this.details=c}b.prototype.toString=function(){return"["+this.name+"]: "+this.message};return b}()})},"esri/core/Identifiable":function(){define(["./declare"],function(e){var k=0;return e(null,{constructor:function(){Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+k++})}})})},"esri/core/Loadable":function(){define("./Promise ./Accessor ./Error ./Warning dojo/aspect dojo/_base/lang dojo/Deferred".split(" "),
function(e,k,n,h,d,b,l){return e.createSubclass([k],{declaredClass:"esri.core.Loadable","-chains-":b.mixin(k._meta.chains,{load:"after"}),constructor:function(){this._set("loadWarnings",[]);var b=new l;this.addResolvingPromise(b.promise);d.around(this,"load",function(c){return function(){"not-loaded"===this.loadStatus&&(this.loadStatus="loading",c.apply(this),b.resolve(),b=null);return this}});this.then(function(b){this.loadStatus="loaded"}.bind(this),function(b){this.loadStatus="failed";this.loadError=
b}.bind(this))},properties:{loaded:{readOnly:!0,dependsOn:["loadStatus"],get:function(){return"loaded"===this.loadStatus}},loadError:null,loadStatus:"not-loaded",loadWarnings:{type:[h],readOnly:!0}},load:function(){},cancelLoad:function(){if(this.isFulfilled())return this;this.loadError=new n("load:cancelled","Cancelled");this._promiseProps.cancel(this.loadError);return this}})})},"esri/core/Promise":function(){define("./declare dojo/promise/all dojo/aspect dojo/Deferred dojo/errors/create ./Scheduler".split(" "),
function(e,k,n,h,d,b){var l=function(a){if(!a.isFulfilled()){var c=a._promiseProps,f=c.resolvingPromises,d,e;c.allPromise&&c.allPromise.cancel();var r=new h;for(d=f.length-1;0<=d;d--)e=f[d],e.isCanceled&&e.isCanceled()?f.splice(d,1):e.then(null,null,c.resolver.progress);e=null;(c.allPromise=k(f.concat([r.promise]))).then(function(){c.resolver.resolve(a);a=c=r=c.allPromise=c.resolvingPromises=null},function(b){c.allPromise=null;if(!b||"cancel"!==b.dojoType){var f=Array.prototype.slice.call(arguments,
0);c.resolver.reject(f[0]);a=c=r=c.allPromise=c.resolvingPromises=null}});r&&b.schedule(function(){r&&r.resolve()})}},f=d("CancelError",null,function(a){this.target=a}),c=function(a){return a||new f(this.instance)},a=function(a){this.instance=a;this.canceler=c.bind(this);this.resolver=new h;this.initialized=!1;this.resolvingPromises=[]};a.prototype={canceler:null,cancel:function(a){if(!this.resolver.isFulfilled()){this.allPromise.cancel();for(var b=this.resolvingPromises.concat(),c=b.length-1;0<=
c;c--)b[c].cancel(a);this.resolver.cancel(a)}}};return e(null,{declaredClass:"esri.core.Promise",constructor:function(){Object.defineProperty(this,"_promiseProps",{value:new a(this),enumerable:!1,configurable:!1,writable:!0});var b=n.after(this,"postscript",function(a,c){b.remove();b=null;l(this)},!0)},_promiseProps:null,always:function(a){return this.then(a,a)},then:function(a,b,c){var f=new h(this._promiseProps.canceler);a=f.then(a,b,c);this._promiseProps.resolver.then(f.resolve,f.reject,f.progress);
return a},isResolved:function(){return this._promiseProps.resolver.isResolved()},isRejected:function(){return this._promiseProps.resolver.isRejected()},isFulfilled:function(){return this._promiseProps.resolver.isFulfilled()},otherwise:function(a){return this.then(null,a)},addResolvingPromise:function(a){a&&!this.isFulfilled()&&(this._promiseProps.resolvingPromises.push(a),l(this))}})})},"dojo/promise/all":function(){define(["../_base/array","../Deferred","../when"],function(e,k,n){var h=e.some;return function(d){var b,
e;d instanceof Array?e=d:d&&"object"===typeof d&&(b=d);var f,c=[];if(b){e=[];for(var a in b)Object.hasOwnProperty.call(b,a)&&(c.push(a),e.push(b[a]));f={}}else e&&(f=[]);if(!e||!e.length)return(new k).resolve(f);var s=new k;s.promise.always(function(){f=c=null});var t=e.length;h(e,function(a,d){b||c.push(d);n(a,function(a){s.isFulfilled()||(f[c[d]]=a,0===--t&&s.resolve(f))},s.reject);return s.isFulfilled()});return s.promise}})},"esri/core/Warning":function(){define(["require","exports","./tsSupport/extendsHelper",
"./tsSupport/decorateHelper","./Message"],function(e,k,n,h,d){e=function(b){function d(){b.apply(this,arguments)}n(d,b);return d}(d);e.prototype.type="warning";return e})},"esri/core/urlUtils":function(){define("require exports dojo/_base/window dojo/_base/lang dojo/_base/url dojo/io-query ../config ./lang ./sniff ./Logger ./Error".split(" "),function(e,k,n,h,d,b,l,f,c,a,s){function t(g){var a={path:null,query:null},p=new d(g),c=g.indexOf("?");null===p.query?a.path=g:(a.path=g.substring(0,c),a.query=
b.queryToObject(p.query));p.fragment&&(a.hash=p.fragment,null===p.query&&(a.path=a.path.substring(0,a.path.length-(p.fragment.length+1))));return a}function v(g,a){void 0===g&&(g=!1);void 0===a&&(a=!0);var b,p=L.proxyUrl;if("string"===typeof g){b=/^\s*https:/i.test(g)||F(g)&&"https"===k.appUrl.scheme;var c=r(g);c&&(p=c.proxyUrl)}else b=!!g;if(!p)throw D.warn(E),new s("urlutils:proxy-not-set",E);var f;b&&(a&&"https"===k.appUrl.scheme)&&(b=G(p),x(b)&&(p=b,f=1));p=t(p);p._xo=f;return p}function u(g){var a=
g.indexOf("?");-1!==a?(N.path=g.slice(0,a),N.query=g.slice(a+1)):(N.path=g,N.query=null);return N}function q(g){g=u(g).path;if(!g||"/"!==g[g.length-1])g+="/";g=P(g,!0);return g=g.toLowerCase()}function r(g){var a=L.proxyRules;g=q(g);for(var b=0;b<a.length;b++)if(0===g.indexOf(a[b].urlPrefix))return a[b]}function m(g){g=C(g);var a=g.indexOf("/sharing");return 0<a?g.substring(0,a):g.replace(/\/+$/,"")}function w(g,a,b){void 0===b&&(b=!1);g=H(g);a=H(a);return!b&&g.scheme!==a.scheme?!1:g.host.toLowerCase()===
a.host.toLowerCase()&&g.port===a.port}function x(a){return c("esri-phonegap")?!0:!c("esri-cors")?!1:null!=g(a)}function g(g,a){void 0===a&&(a=!1);"string"===typeof g&&(g=B(g)?H(g):k.appUrl);for(var b=L.corsEnabledServers||[],c=0;c<b.length;c++)for(var f=b[c],m=void 0,m="string"===typeof f?p(f):f.host?p(f.host):[],d=0;d<m.length;d++)if(w(g,m[d]))return a?c:f;return a?-1:null}function p(g){k.corsServersUrlCache[g]||(!I.test(g)&&!F(g)?k.corsServersUrlCache[g]=[new d("http://"+g),new d("https://"+g)]:
k.corsServersUrlCache[g]=[new d(z(g))]);return k.corsServersUrlCache[g]}function z(g,a,b){void 0===a&&(a=k.appBaseUrl);if(F(g))return b&&b.preserveProtocolRelative?g:"file"===k.appUrl.scheme?"https:"+g:k.appUrl.scheme+":"+g;if(I.test(g))return g;b=A;if("/"===g[0]){var p=a.indexOf("//"),p=a.indexOf("/",p+2);a=-1===p?a:a.slice(0,p)}return b(a,g)}function y(g,a){void 0===a&&(a=k.appBaseUrl);if(!B(g))return g;for(var b=C(g),p=b.toLowerCase(),c=C(a).toLowerCase().replace(/\/+$/,""),f=function(g,a,b){b=
g.indexOf(a,b);return-1===b?g.length:b},m=f(p,"/",p.indexOf("//")+2),d=-1;p.slice(0,m+1)===c.slice(0,m)+"/";){d=m+1;if(m===p.length)break;m=f(p,"/",m+1)}if(-1===d)return g;g=b.slice(d);b=c.slice(d-1).replace(/[^/]+/g,"").length;if(0<b)for(p=0;p<b;p++)g="../"+g;else g="./"+g;return g}function C(g){g=z(g);g=Q(g);return g=g.replace(/^(https?:\/\/)(arcgis\.com)/i,"$1www.$2")}function A(){for(var g=[],a=0;a<arguments.length;a++)g[a-0]=arguments[a];if(g&&g.length){a=[];if(B(g[0])){var b=g[0],p=b.indexOf("//");
a.push(b.slice(0,p+1));V.test(g[0])&&(a[0]+="/");g[0]=b.slice(p+2)}else"/"===g[0][0]&&a.push("");g=g.reduce(function(g,a){return g.concat(a.split("/"))},[]);for(b=0;b<g.length;b++)p=g[b],".."===p&&0<a.length?a.pop():p&&("."!==p||0===a.length)&&a.push(p);return a.join("/")}}function B(g){return F(g)||I.test(g)}function K(g){return"data:"===g.slice(0,5)}function F(g){return g&&"/"===g[0]&&"/"===g[1]}function G(g){return F(g)?"https:"+g:g.replace(R,"https:")}function P(g,a){void 0===a&&(a=!1);if(F(g))return g.slice(2);
g=g.replace(I,"");a&&(1<g.length&&"/"===g[0]&&"/"===g[1])&&(g=g.slice(2));return g}function Q(g){var a=l.request.httpsDomains;if(!(R.test(g)||F(g)&&"http"===k.appUrl.scheme)||!("https"===k.appUrl.scheme||V.test(k.appBaseUrl)))return g;var b=g.indexOf("/",7),p;p=-1===b?g:g.slice(0,b);if(f.endsWith(p,""+k.appUrl.host+(null!=k.appUrl.port?":"+k.appUrl.port:""))||a&&a.some(function(g){return f.endsWith(p,g)}))g=G(g);return g}function H(g){if("string"===typeof g)return new d(z(g));g.scheme||(g.scheme=
k.appUrl.scheme);return g}e=n.global;var D=a.getLogger("esri.core.urlUtils"),L=l.request,E="esri/config: esriConfig.request.proxyUrl is not set. If making a request to a CORS-enabled\n server, please push the domain into esriConfig.request.corsEnabledServers.",I=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,R=/^\s*http:/i,V=/^\s*file:/i;k.appUrl=new d(e.location);k.corsServersUrlCache={};k.appBaseUrl=function(){var g=k.appUrl.path,g=g.substring(0,g.lastIndexOf(g.split("/")[g.split("/").length-1]));return""+
(k.appUrl.scheme+"://"+k.appUrl.host+(null!=k.appUrl.port?":"+k.appUrl.port:""))+g}();k.urlToObject=t;k.getProxyUrl=v;k.addProxy=function(g){var a=r(g),p,c;a?(c=u(a.proxyUrl),p=c.path,c=c.query?b.queryToObject(c.query):null):L.forceProxy&&(c=v(),p=c.path,c=c.query);p&&(a=t(g),g=p+"?"+a.path,(p=b.objectToQuery(h.mixin(c||{},a.query)))&&(g=g+"?"+p));return g};var N={path:"",query:""};k.addProxyRule=function(g){g={proxyUrl:g.proxyUrl,urlPrefix:q(g.urlPrefix)};for(var a=L.proxyRules,b=g.urlPrefix,p=a.length,
c=0;c<a.length;c++){var f=a[c].urlPrefix;if(0===b.indexOf(f)){if(b.length===f.length)return-1;p=c;break}0===f.indexOf(b)&&(p=c+1)}a.splice(p,0,g);return p};k.getProxyRule=r;k.hasSamePortal=function(g,a){g=m(g);a=m(a);return P(g)===P(a)};k.hasSameOrigin=w;k.canUseXhr=x;k.getCorsConfig=g;k.makeAbsolute=z;k.makeRelative=y;k.normalize=C;k.join=A;k.getOrigin=function(g){if(K(g))return null;var a=g.indexOf("://");if(-1===a&&F(g))a=2;else if(-1!==a)a+=3;else return null;a=g.indexOf("/",a);return-1===a?g:
g.slice(0,a)};k.isAbsolute=B;k.isDataProtocol=K;k.isProtocolRelative=F;k.read=function(g,a){var b=a&&a.url&&a.url.path;return!g||!b?g:z(g,b,{preserveProtocolRelative:!0})};k.write=function(g,a){if(!g)return g;g=z(g);var b=a&&a.url&&a.url.path;b&&(g=y(g,b));return g}})},"dojo/_base/url":function(){define(["./kernel"],function(e){var k=/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/,n=/^((([^\[:]+):)?([^@]+)@)?(\[([^\]]+)\]|([^\[:]*))(:([0-9]+))?$/,h=function(){for(var d=arguments,b=
[d[0]],e=1;e<d.length;e++)if(d[e]){var f=new h(d[e]+""),b=new h(b[0]+"");if(""==f.path&&!f.scheme&&!f.authority&&!f.query)null!=f.fragment&&(b.fragment=f.fragment),f=b;else if(!f.scheme&&(f.scheme=b.scheme,!f.authority&&(f.authority=b.authority,"/"!=f.path.charAt(0)))){for(var b=(b.path.substring(0,b.path.lastIndexOf("/")+1)+f.path).split("/"),c=0;c<b.length;c++)"."==b[c]?c==b.length-1?b[c]="":(b.splice(c,1),c--):0<c&&(!(1==c&&""==b[0])&&".."==b[c]&&".."!=b[c-1])&&(c==b.length-1?(b.splice(c,1),b[c-
1]=""):(b.splice(c-1,2),c-=2));f.path=b.join("/")}b=[];f.scheme&&b.push(f.scheme,":");f.authority&&b.push("//",f.authority);b.push(f.path);f.query&&b.push("?",f.query);f.fragment&&b.push("#",f.fragment)}this.uri=b.join("");d=this.uri.match(k);this.scheme=d[2]||(d[1]?"":null);this.authority=d[4]||(d[3]?"":null);this.path=d[5];this.query=d[7]||(d[6]?"":null);this.fragment=d[9]||(d[8]?"":null);null!=this.authority&&(d=this.authority.match(n),this.user=d[3]||null,this.password=d[4]||null,this.host=d[6]||
d[7],this.port=d[9]||null)};h.prototype.toString=function(){return this.uri};return e._Url=h})},"esri/config":function(){define(["require","exports","dojo/_base/window"],function(e,k,n){return{screenDPI:96,geometryService:null,geometryServiceUrl:null,geoRSSServiceUrl:null,kmlServiceUrl:null,portalUrl:"https://www.arcgis.com",request:{corsDetection:!(n.global&&n.global.cordova),corsDetectionTimeout:15,corsEnabledServers:"dev.arcgis.com devext.arcgis.com elevation3d.arcgis.com elevation3ddev.arcgis.com js.arcgis.com jsdev.arcgis.com jsqa.arcgis.com geocode.arcgis.com geocodedev.arcgis.com geocodeqa.arcgis.com geoenrich.arcgis.com geoenrichdev.arcgis.com geoenrichqa.arcgis.com qaext.arcgis.com server.arcgisonline.com services.arcgis.com services.arcgisonline.com services1.arcgis.com services2.arcgis.com services3.arcgis.com services4.arcgis.com services5.arcgis.com services6.arcgis.com services7.arcgis.com servicesdev.arcgis.com servicesdev1.arcgis.com servicesdev2.arcgis.com servicesdev3.arcgis.com servicesqa.arcgis.com servicesqa1.arcgis.com servicesqa2.arcgis.com servicesqa3.arcgis.com static.arcgis.com staticdev.arcgis.com tiles.arcgis.com tiles1.arcgis.com tiles2.arcgis.com tiles3.arcgis.com tiles4.arcgis.com tilesdevext.arcgis.com tilesqa.arcgis.com utility.arcgisonline.com www.arcgis.com".split(" "),
corsStatus:{},forceProxy:!1,maxUrlLength:2E3,maxWorkers:5,proxyRules:[],proxyUrl:null,timeout:6E4,useCors:"with-credentials",useWorkers:"on-request",httpsDomains:"arcgis.com arcgisonline.com esrikr.com premiumservices.blackbridge.com esripremium.accuweather.com gbm.digitalglobe.com firstlook.digitalglobe.com msi.digitalglobe.com".split(" ")},useSpatialIndex:!1}})},"esri/core/sniff":function(){define(["dojo/_base/window","dojo/sniff","../kernel"],function(e,k,n){var h=k("ff"),d=k("ie"),b=void 0===
d&&7<=k("trident"),l=k("webkit"),f=k("opera"),c=k("chrome"),a=k("safari"),s=e.global;e=navigator.userAgent;var t;(t=e.match(/(iPhone|iPad|CPU)\s+OS\s+(\d+\_\d+)/i))&&k.add("esri-iphone",parseFloat(t[2].replace("_",".")));(t=e.match(/Android\s+(\d+\.\d+)/i))&&k.add("esri-android",parseFloat(t[1]));(t=e.match(/Fennec\/(\d+\.\d+)/i))&&k.add("esri-fennec",parseFloat(t[1]));0<=e.indexOf("BlackBerry")&&0<=e.indexOf("WebKit")&&k.add("esri-blackberry",1);k.add("esri-touch",k("esri-iphone")||k("esri-android")||
k("esri-blackberry")||6<=k("esri-fennec")||(h||l)&&document.createTouch?!0:!1);(t=e.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i))&&k.add("esri-mobile",t);k.add("esri-pointer",navigator.pointerEnabled||navigator.msPointerEnabled);n._getDOMAccessor=function(a){var b="";h?b="Moz":l?b="Webkit":d?b="ms":f&&(b="O");return b+a.charAt(0).toUpperCase()+a.substr(1)};k.add("esri-phonegap",!!s.cordova);k.add("esri-cors",k("esri-phonegap")||"XMLHttpRequest"in s&&"withCredentials"in new XMLHttpRequest);
if(k("host-webworker"))return k;k.add("esri-file-upload",s.FormData&&s.FileList?!0:!1);k.add("esri-workers",s.Worker?!0:!1);k.add("esri-transforms",b||9<=d||3.5<=h||4<=c||3.1<=a||10.5<=f||3.2<=k("esri-iphone")||2.1<=k("esri-android"));k.add("esri-transitions",b||10<=d||4<=h||4<=c||3.1<=a||10.5<=f||3.2<=k("esri-iphone")||2.1<=k("esri-android"));k.add("esri-transforms3d",b||10<=h||12<=c||4<=a||3.2<=k("esri-iphone")||3<=k("esri-android"));k.add("esri-url-encodes-apostrophe",function(){var a=s.document.createElement("a");
a.href="?'";return-1<a.href.indexOf("?%27")});3>k("esri-android")&&(k.add("esri-transforms",!1,!1,!0),k.add("esri-transitions",!1,!1,!0),k.add("esri-transforms3d",!1,!1,!0));n._css=function(b){var e=k("esri-transforms3d");if(void 0!==b&&null!==b)e=b;else if(e&&(c||a&&!k("esri-iphone")))e=!1;var q=e?"translate3d(":"translate(",r=e?c?",-1px)":",0px)":")",m=e?"scale3d(":"scale(",s=e?",1)":")",t=e?"rotate3d(0,0,1,":"rotate(",g=e?"matrix3d(":"matrix(",p=e?",0,0,":",",z=e?",0,0,0,0,1,0,":",",y=e?",0,1)":
")";return{names:{transition:l&&"-webkit-transition"||h&&"MozTransition"||f&&"OTransition"||d&&"msTransition"||"transition",transform:l&&"-webkit-transform"||h&&"MozTransform"||f&&"OTransform"||d&&"msTransform"||"transform",transformName:l&&"-webkit-transform"||h&&"-moz-transform"||f&&"-o-transform"||d&&"-ms-transform"||"transform",origin:l&&"-webkit-transform-origin"||h&&"MozTransformOrigin"||f&&"OTransformOrigin"||d&&"msTransformOrigin"||"transformOrigin",endEvent:l&&"webkitTransitionEnd"||h&&"transitionend"||
f&&"oTransitionEnd"||d&&"MSTransitionEnd"||"transitionend"},translate:function(g,a){return q+g+"px,"+a+"px"+r},scale:function(g){return m+g+","+g+s},rotate:function(g){return t+g+"deg)"},matrix:function(a){return a.m?(a=a.m,g+a[0].toFixed(10)+","+a[1].toFixed(10)+p+a[2].toFixed(10)+","+a[3].toFixed(10)+z+a[4].toFixed(10)+(h?"px,":",")+a[5].toFixed(10)+(h?"px":"")+y):g+a.xx.toFixed(10)+","+a.yx.toFixed(10)+p+a.xy.toFixed(10)+","+a.yy.toFixed(10)+z+a.dx.toFixed(10)+(h?"px,":",")+a.dy.toFixed(10)+(h?
"px":"")+y},matrix3d:function(g){g=g.m;return"matrix3d("+g[0].toFixed(10)+","+g[1].toFixed(10)+",0,0,"+g[2].toFixed(10)+","+g[3].toFixed(10)+",0,0,0,0,1,0,"+g[4].toFixed(10)+","+g[5].toFixed(10)+",0,1)"},getScaleFromMatrix:function(g){if(!g)return 1;g=g.toLowerCase();var a=-1<g.indexOf("matrix3d")?"matrix3d(":"matrix(";return Number(g.substring(a.length,g.indexOf(",")))}}};k.add("esri-webgl",function(){var a;try{if(!s.WebGLRenderingContext)throw 0;a=document.createElement("canvas")}catch(b){return!1}for(var c=
["webgl","experimental-webgl","webkit-3d","moz-webgl"],f=null,m=0;m<c.length;++m){try{f=a.getContext(c[m])}catch(d){}if(f)break}a=f;if(!a)return!1;a=a.getParameter(a.VERSION);return!a?!1:(a=a.match(/^WebGL\s+([\d.]*)/))&&0.91<parseFloat(a[1])});return k})},"esri/kernel":function(){define([],function(){return{version:"4.2",workerMessages:{}}})},"esri/core/promiseUtils":function(){define(["require","exports","dojo/Deferred","./Error"],function(e,k,n,h){k.eachAlways=function(d){var b=new n,e=[],f=d.length;
0===f&&b.resolve(e);d.forEach(function(c){var a={promise:c};e.push(a);c.then(function(b){a.value=b}).otherwise(function(b){a.error=b}).then(function(){--f;0===f&&b.resolve(e)})});return b.promise};k.create=function(d){var b=new n;d(function(d){void 0===d&&(d=null);return b.resolve(d)},b.reject);return b.promise};k.reject=function(d){var b=new n;b.reject(d);return b.promise};k.resolve=function(d){void 0===d&&(d=null);var b=new n;b.resolve(d);return b.promise};k.after=function(d,b){void 0===b&&(b=null);
var e=0,f=new n(function(){e&&(clearTimeout(e),e=0)}),e=setTimeout(function(){f.resolve(b)},d);return f.promise};k.timeout=function(d,b,e){var f=0,c=new n(d.cancel);d.then(function(a){c.isFulfilled()||(c.resolve(a),f&&(clearTimeout(f),f=0))});d.otherwise(function(a){c.isFulfilled()||(c.reject(a),f&&(clearTimeout(f),f=0))});f=setTimeout(function(){var a=e||new h("promiseUtils:timeout","The wrapped promise did not resolve within "+b+" ms");c.reject(a)},b);return c.promise};k.wrapCallback=function(d){var b=
!1,e=new n(function(){return b=!0});d(function(f){b||e.resolve(f)});return e.promise}})},"esri/request":function(){define("require dojo/_base/array dojo/_base/config dojo/Deferred dojo/_base/lang dojo/_base/url dojo/request dojo/io-query dojo/when ./kernel ./config ./core/sniff ./core/lang ./core/urlUtils ./core/deferredUtils ./core/promiseUtils dojo/has!host-browser?dojo/io/script dojo/has!host-browser?dojo/io/iframe dojo/has!host-browser?dojo/dom-construct".split(" "),function(e,k,n,h,d,b,l,f,c,
a,s,t,v,u,q,r,m,w,x){function g(g,a,b){if(b)return r.reject(d.mixin(Error(),{message:"When using responseType 'image', URL length cannot exceed 2000 characters."}));if(b=f.objectToQuery(g.content))g.url+=(-1===g.url.indexOf("?")?"?":"\x26")+b;var p=new Image;g.allowImageDataAccess&&(g.withCredentials?p.crossOrigin="use-credentials":a&&(p.crossOrigin="anonymous"));var c=!1,m=new h(function(g){c=!0;p.onload=p.onerror=p.onabort=null;p.src=""});a=function(g){p.onload=p.onerror=p.onabort=null;c||m.reject(g)};
p.onload=function(){p.onload=p.onerror=p.onabort=null;c||m.resolve(this)};p.onerror=a;p.onabort=a;p.alt="";p.src=g.url;return m.promise}function p(g){g=new b(g);return(g.host+(g.port?":"+g.port:"")).toLowerCase()}function z(b,p,c){var e=!!b.useProxy,r=b.method||"auto",q;q=b.crossOrigin;b=d.mixin({},b);b._ssl&&(b.url=b.url.replace(/^http:/i,"https:"));var z=b.content,s=b.url,y=p&&b.form;q=v.isDefined(q)?q:G.useCors;b.load=function(g){var a;g&&(g.error?(a=d.mixin(Error(),g.error),a.log=n.isDebug):"error"===
g.status&&(a=d.mixin(Error(),g),a.log=n.isDebug),a&&!v.isDefined(a.httpCode)&&(a.httpCode=a.code));return a||g};b.error=function(g,a){a&&a.xhr&&a.xhr.abort();g instanceof Error||(g=d.mixin(Error(),g));g.log=n.isDebug;return g};b._token&&(b.content=b.content||{},b.content.token=b._token);var C=0,K;s&&(K=f.objectToQuery(z),C=K.length+s.length+1,t("esri-url-encodes-apostrophe")&&(C=K.replace(/'/g,"%27").length+s.length+1));b.timeout=v.isDefined(b.timeout)?b.timeout:G.timeout;b.handleAs=b.handleAs||"json";
try{var B,A,P=q&&u.canUseXhr(b.urlObj)&&!/https?:\/\/[^\/]+\/[^\/]+\/admin\/?(\/.*)?$/i.test(b.url),H=u.hasSameOrigin(b.urlObj,u.appUrl)||P,Y="post"===r||p||C>G.maxUrlLength?!0:!1,ca=!H&&-1!==b.handleAs.indexOf("json")&&b.callbackParamName&&!p?!0:!1,ba=u.getProxyRule(b.url)||G.forceProxy||e||("image"!==b.handleAs||b.allowImageDataAccess)&&(!ca||Y)&&!H?!0:!1;p&&(!t("esri-file-upload")&&!ba&&P)&&(ba=!0);if((t("host-browser")||t("host-webworker"))&&ba)if(B=u.getProxyUrl(s,q),A=B.path,B._xo&&(P=!0),!Y&&
A.length+1+C>G.maxUrlLength&&(Y=!0),b.url=A+"?"+s,Y)b.content=d.mixin(B.query||{},z);else{var qa=f.objectToQuery(d.mixin(B.query||{},z));qa&&(b.url+=(-1===s.indexOf("?")?"?":"\x26")+qa);b.content=null}if((t("host-browser")||t("host-webworker"))&&ca&&!Y)return!v.isDefined(b.isAsync)&&4>t("ff")&&(b.isAsync=!0),m.get(F?F(b):b);var ka=b.headers;if((t("host-browser")||t("host-webworker"))&&(!ka||!ka.hasOwnProperty("X-Requested-With")))ka=b.headers=ka||{},ka["X-Requested-With"]=null;if(t("host-browser")&&
p){var ra=b.callbackParamName||"callback.html",sa=b.callbackElementName||"textarea",pa,ya,wa,ua,ta=y.elements?y.elements.length:0,ja;if(z=b.content)for(pa in z)if(wa=z[pa],v.isDefined(wa)){ya=null;for(ua=0;ua<ta;ua++)if(ja=y.elements[ua],ja.name===pa){ya=ja;break}ya?ya.value=wa:c?y.append(pa,wa):y.appendChild(x.create("input",{type:"hidden",name:pa,value:wa}))}if(t("esri-file-upload"))k.forEach(y.elements,function(g){g.name===ra&&y.removeChild(g)}),b.contentType=!1,b.postData=c?y:new FormData(y),
delete b.form;else{y.enctype="multipart/form-data";9>t("ie")&&(y.encoding="multipart/form-data");y.method="post";k.some(y.elements,function(g){return g.name===ra})||y.appendChild(x.create("input",{type:"hidden",name:ra,value:sa}));if(-1!==s.toLowerCase().indexOf("addattachment")||-1!==s.toLowerCase().indexOf("updateattachment"))b.url=s+(-1===s.indexOf("?")?"?":"\x26")+ra+"\x3d"+sa,ba&&(b.url=A+"?"+b.url);delete b.content}}if(P&&!b.hasOwnProperty("withCredentials")&&"with-credentials"===G.useCors){c=
ba?A:s;var za=u.getCorsConfig(c);if(za&&za.hasOwnProperty("withCredentials"))za.withCredentials&&(b.withCredentials=!0);else if(a.id){var Ea=a.id.findServerInfo(c);Ea&&Ea.webTierAuth&&(b.withCredentials=!0)}}b=F?F(b):b;if("image"===b.handleAs)return g(b,P,Y);if(Y){b.data=b.content;if(t("host-browser")&&p&&!t("esri-file-upload"))return w.send(b);!ba&&t("safari")&&(b.url+=(-1===b.url.indexOf("?")?"?":"\x26")+"_ts\x3d"+(new Date).getTime()+Q++);return l.post(b.url,b)}b.query=b.content;return l.get(b.url,
b)}catch(Aa){return p=new h,p.reject(b.error(Aa)),p}}function y(g){var a=G.corsStatus,b=u.getCorsConfig(g,!0);-1<b&&G.corsEnabledServers.splice(b,1);a[p(g)]=1;return b}function C(g){var a=G.corsStatus;try{var b=p(g.url);if(G.corsDetection&&G.useCors&&t("esri-cors")&&g.url&&-1!==g.url.toLowerCase().indexOf("/rest/services")&&!u.hasSameOrigin(g.urlObj,u.appUrl)&&!u.canUseXhr(g.urlObj)){if(a[b])return a[b];var c=new h;a[b]=c.promise;var f=g.url.substring(0,g.url.toLowerCase().indexOf("/rest/")+6)+"info";
l.get(f,{query:{f:"json"},failOk:!0,handleAs:"json",headers:{"X-Requested-With":null},timeout:1E3*G.corsDetectionTimeout}).then(function(a){a?(u.canUseXhr(g.url)||G.corsEnabledServers.push(b),c.resolve()):c.reject()},function(g){c.reject()});return c.promise}}catch(m){console.log("esri._detectCors: an unknown error occurred while detecting CORS support")}}function A(g,b,c,f){function m(g){g._pendingDfd=z(c,C,x);if(g._pendingDfd){var b=!!g._pendingDfd.response;(g._pendingDfd.response||g._pendingDfd).then(function(a){var p=
b?a.data:a;a=b?a.getHeader.bind(a):H;var c=null;g.ioArgs=g._pendingDfd&&g._pendingDfd.ioArgs;if(p&&(p.error?(c=d.mixin(Error(),p.error),c.log=n.isDebug):"error"===p.status&&(c=d.mixin(Error(),p),c.log=n.isDebug),c&&!v.isDefined(c.httpCode)&&(c.httpCode=c.code),c))throw c;g.resolve({data:p,url:f.url,requestOptions:f.requestOptions,getHeader:a});g._pendingDfd=null}).then(null,function(b){var p,m,d;b&&(p=b.code,m=b.subcode,d=(d=b.messageCode)&&d.toUpperCase());if(b&&403==p&&(4==m||b.message&&-1<b.message.toLowerCase().indexOf("ssl")&&
-1===b.message.toLowerCase().indexOf("permission"))){if(!c._ssl){c._ssl=c._sslFromServer=!0;A(g,!0,c,f);return}}else if(b&&415==b.status){if(y(c.url),!c._err415){c._err415=1;A(g,!0,c,f);return}}else if(a.id&&-1!==k.indexOf(a.id._errorCodes,p)&&!a.id._isPublic(c.url)&&!q&&(403!=p||-1===k.indexOf(P,d)&&(!v.isDefined(m)||2==m&&c._token))){B(g,c,f,b);return}g.ioArgs=g._pendingDfd&&g._pendingDfd.ioArgs;g.reject(b);g._pendingDfd=null})}else{g.ioArgs=g._pendingDfd&&g._pendingDfd.ioArgs;var p=Error("Deferred object is missing");
p.log=n.isDebug;g.reject(p);g._pendingDfd=null}}var r=c.form,q=c.disableIdentityLookup,s=c._preLookup,w=!1;if(t("esri-workers")&&!1!==G.useWorkers)if(!0===c.useWorkers||!0===G.useWorkers)w=!0;else if(c.workerOptions){var h=c.workerOptions;if(h.callback||h.worker&&h.worker.worker instanceof Worker)w=!0}var x=r&&t("esri-file-upload")&&r instanceof FormData,C=r&&(r.elements?k.some(r.elements,function(g){return"file"===g.type}):x),K=-1!==c.url.toLowerCase().indexOf("token\x3d")||c.content&&c.content.token||
C&&k.some(r.elements,function(g){return"token"===g.name})?1:0;if(!b){g.then(function(g){if((/\/sharing\/rest\/accounts\/self/i.test(c.url)||/\/sharing\/rest\/portals\/self/i.test(c.url))&&!K&&!c._token&&g.user&&g.user.username){var b=G.corsEnabledServers,f=u.getCorsConfig(c.url,!0),m={host:p(c.url),withCredentials:!0};if(-1===f)b.push(m);else{var d=b[f];"object"===typeof d?d.withCredentials=!0:b.splice(f,1,m)}}if(b=c._credential)if(f=(f=a.id.findServerInfo(b.server))&&f.owningSystemUrl)f=f.replace(/\/?$/,
"/sharing"),(b=a.id.findCredential(f,b.userId))&&-1===a.id._getIdenticalSvcIdx(f,b)&&b.resources.splice(0,0,f);return g}).always(function(g){delete c._credential;g&&(g.ssl=!!c._ssl)});var F=c.load,Q=c.error;F&&g.then(function(a){var b=g._pendingDfd,b=b&&b.ioArgs;return F.call(b&&b.args,a,b)});Q&&g.then(null,function(a){var b=g._pendingDfd,b=b&&b.ioArgs;return Q.call(b&&b.args,a,b)})}if(a.id&&!K&&!c._token&&!a.id._isPublic(c.url)&&(!q||s))if(b=a.id.findCredential(c.url))c._token=b.token,c._ssl=b.ssl;
w?c.workerOptions&&c.workerOptions.worker?(l=c.workerOptions.worker,m(g)):e(["./workers/RequestClient"],function(a){if(c.workerOptions){var b=c.workerOptions;l=a.getClient(b.callback,b.cbFunction)}else l=a.getClient();m(g)}):m(g);return g.promise}function B(g,b,p,c){g._pendingDfd=a.id.getCredential(b.url,{token:b._token,error:c});g._pendingDfd.then(function(a){b._token=a.token;b._credential=a;b._ssl=b._sslFromServer||a.ssl;A(g,!0,b,p)}).then(null,function(a){g.reject(a);g._pendingDfd=null})}function K(g,
a){"string"!==typeof g&&console.error("esri/request: the first parameter should be a url string");var p=d.mixin({},a),f={url:g,requestOptions:d.mixin({},a)};p.content=p.query;delete p.query;p.preventCache=!!p.cacheBust;delete p.cacheBust;p.handleAs=p.responseType;delete p.responseType;"array-buffer"===p.handleAs&&(p.handleAs="arraybuffer");if("image"===p.handleAs){if(t("host-webworker"))return r.reject(d.mixin(Error(),{message:"The responseType 'image' is not supported in Web Workers or Node environment."}));
p.preventCache&&(p.content=p.content||{},p.content["request.preventCache"]=Date.now());p.method="auto"}p.url=u.normalize(g);"file"!==u.appUrl.scheme&&(p.url=u.makeAbsolute(p.url));p.urlObj=new b(p.url);var m=q.makeDeferredCancellingPending();c(C(p)).always(function(){A(m,!1,p,f)});return m.promise}var F,G=s.request,P=["COM_0056","COM_0057"],Q=0,H=function(){return null};K._makeRequest=z;K._processRequest=A;K._disableCors=y;K._detectCors=C;K.setRequestPreCallback=function(g){F=g};return K})},"dojo/request":function(){define(["./request/default!"],
function(e){return e})},"dojo/request/default":function(){define(["exports","require","../has"],function(e,k,n){var h=n("config-requestProvider"),d;if(n("host-browser")||n("host-webworker"))d="./xhr";h||(h=d);e.getPlatformDefaultId=function(){return d};e.load=function(b,e,f,c){k(["platform"==b?d:h],function(a){f(a)})}})},"esri/core/deferredUtils":function(){define(["dojo/Deferred"],function(e){var k={makeDeferredCancellingPending:function(){var n={},h=k._dfdCanceller.bind(null,n),h=new e(h);return n.deferred=
h},_dfdCanceller:function(e){e=e.deferred?e.deferred:e;e.canceled=!0;var h=e._pendingDfd;!e.isResolved()&&(h&&!h.isResolved())&&h.cancel();e._pendingDfd=null},_fixDfd:function(e){var h=e.then;e.then=function(d,b,e){if(d){var f=d;d=function(b){return b&&b._argsArray?f.apply(null,b):f(b)}}return h.call(this,d,b,e)};return e},_resDfd:function(e,h,d){var b=h.length;1===b?d?e.reject(h[0]):e.resolve(h[0]):1<b?(h._argsArray=!0,e.resolve(h)):e.resolve()}};return k})},"esri/geometry/SpatialReference":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/JSONSupport ../core/accessorSupport/decorators ./support/spatialReferenceUtils".split(" "),
function(e,k,n,h,d,b,l){e=function(a){function d(b){a.call(this);this.wkt=this.wkid=this.latestWkid=null}n(d,a);d.prototype.normalizeCtorArgs=function(a){return a&&"object"===typeof a?a:(b={},b["string"===typeof a?"wkt":"wkid"]=a,b);var b};Object.defineProperty(d.prototype,"isWGS84",{get:function(){return 4326===this.wkid},enumerable:!0,configurable:!0});Object.defineProperty(d.prototype,"isWebMercator",{get:function(){return-1!==f.indexOf(this.wkid)},enumerable:!0,configurable:!0});Object.defineProperty(d.prototype,
"isGeographic",{get:function(){return l.isGeographic(this)},enumerable:!0,configurable:!0});Object.defineProperty(d.prototype,"isWrappable",{get:function(){return-1!==c.indexOf(this.wkid)},enumerable:!0,configurable:!0});d.prototype.writeWkt=function(a,b){this.wkid||(b.wkt=a)};d.prototype.clone=function(){if(this===d.WGS84)return d.WGS84;if(this===d.WebMercator)return d.WebMercator;var a=new d;null!=this.wkid?(a.wkid=this.wkid,null!=this.latestWkid&&(a.latestWkid=this.latestWkid),null!=this.vcsWkid&&
(a.vcsWkid=this.vcsWkid),null!=this.latestVcsWkid&&(a.latestVcsWkid=this.latestVcsWkid)):null!=this.wkt&&(a.wkt=this.wkt);return a};d.prototype.equals=function(a){if(a){if(this===a)return!0;if(null!=this.wkid||null!=a.wkid)return this.wkid===a.wkid||this.isWebMercator&&a.isWebMercator||null!=a.latestWkid&&this.wkid===a.latestWkid||null!=this.latestWkid&&a.wkid===this.latestWkid;if(this.wkt&&a.wkt)return this.wkt.toUpperCase()===a.wkt.toUpperCase()}return!1};d.fromJSON=function(a){if(!a)return null;
if(a.wkid){if(102100===a.wkid)return d.WebMercator;if(4326===a.wkid)return d.WGS84}var b=new d;b.read(a);return b};d.WGS84=null;d.WebMercator=null;h([b.property({dependsOn:["wkid"],readOnly:!0})],d.prototype,"isWGS84",null);h([b.property({dependsOn:["wkid"],readOnly:!0})],d.prototype,"isWebMercator",null);h([b.property({dependsOn:["wkid","wkt"],readOnly:!0})],d.prototype,"isGeographic",null);h([b.property({dependsOn:["wkid"],readOnly:!0})],d.prototype,"isWrappable",null);h([b.property({json:{writable:!0}})],
d.prototype,"latestWkid",void 0);h([b.property({json:{writable:!0}})],d.prototype,"wkid",void 0);h([b.property()],d.prototype,"wkt",void 0);h([b.write("wkt")],d.prototype,"writeWkt",null);h([b.property({json:{writable:!0}})],d.prototype,"vcsWkid",void 0);h([b.property({json:{writable:!0}})],d.prototype,"latestVcsWkid",void 0);return d=h([b.subclass("esri.SpatialReference")],d)}(b.declared(d));e.WGS84=new e(4326);e.WebMercator=new e({wkid:102100,latestWkid:3857});Object.freeze&&(Object.freeze(e.WGS84),
Object.freeze(e.WebMercator));var f=[102113,102100,3857,3785],c=[102113,102100,3857,3785,4326];return e})},"esri/core/JSONSupport":function(){define("require exports ./tsSupport/declareExtendsHelper ./tsSupport/decorateHelper ./Accessor ./declare ./accessorSupport/read ./accessorSupport/write ./accessorSupport/decorators".split(" "),function(e,k,n,h,d,b,l,f,c){function a(a,b){if(!a)return null;if(a.declaredClass)throw Error("JSON object is already hydrated");var c=new this;c.read(a,b);return c}var s=
function(a){function b(){a.apply(this,arguments)}n(b,a);b.prototype.read=function(a,b){l.default(this,a,b);return this};b.prototype.write=function(a,b){return f.default(this,a||{},b)};b.prototype.toJSON=function(a){return this.write(null,a)};return b=h([c.subclass("esri.core.JSONSupport")],b)}(c.declared(d));s.prototype.toJSON.isDefaultToJSON=!0;b.after(function(c){b.hasMixin(c,s)&&(c.fromJSON=a.bind(c))});return s})},"esri/core/accessorSupport/read":function(){define("require exports ./utils ./extensions/serializableProperty ./get dojo/_base/lang".split(" "),
function(e,k,n,h,d,b){function l(b,a,e){void 0===e&&(e=f);for(var l=n.getProperties(b),v=l.metadatas,u={},q=0,r=Object.getOwnPropertyNames(a);q<r.length;q++){var m=u,w=v,x=r[q],g=a,p=e,z=w[x],y=h.originSpecificReadPropertyDefinition(z,p);z&&((!y||void 0===y.readable||y.readable)&&!(y&&null!=y.readFrom))&&(m[x]=!0);z=0;for(y=Object.getOwnPropertyNames(w);z<y.length;z++){var k=y[z],A;a:{var B=h.originSpecificReadPropertyDefinition(w[k],p);A=x;var K=g;if(B=B&&(!B||void 0===B.readable||B.readable)&&B.readFrom)if("string"===
typeof B){if(B===A||-1<B.indexOf(".")&&0===B.indexOf(A)&&d.exists(B,K)){A=!0;break a}}else for(var F=0;F<B.length;F++){var G=B[F];if(G===A||-1<G.indexOf(".")&&0===G.indexOf(A)&&d.exists(G,K)){A=!0;break a}}A=!1}A&&(m[k]=!0)}}l.setDefaultOrigin(e.origin);q=0;for(u=Object.getOwnPropertyNames(u);q<u.length;q++)r=u[q],w=(m=h.originSpecificReadPropertyDefinition(v[r],e))&&m.read,x=m&&m.readFrom,g=a[r],x&&"string"===typeof x&&(g=d.valueOf(a,m.readFrom)),w&&(g=w.call(b,g,a,e)),void 0!==g&&l.set(r,g);l.setDefaultOrigin("user")}
var f={origin:"service"};k.read=l;k.readLoadable=function(c,a,d,e){void 0===e&&(e=f);a=b.mixin({},e,{messages:[]});d(a);a.messages.forEach(function(a){"warning"===a.type&&!c.loaded?c.loadWarnings.push(a):e&&e.messages.push(a)})};Object.defineProperty(k,"__esModule",{value:!0});k.default=l})},"esri/core/accessorSupport/write":function(){define(["require","exports","./PropertyOrigin","./utils","./extensions/serializableProperty"],function(e,k,n,h,d){function b(a,b,c,f){var d={};void 0!==c&&(null!==
c||b.writeNull)&&b.write.call(a,c,d,f);return d}function l(a,b,c,f){a=a.store.originOf(b);return c.writeAlways||void 0===f||void 0===f.origin||a>=n.nameToId(f.origin)}function f(a,b,c){void 0===c&&(c=[]);if(-1!==c.indexOf(a))return c;c.push(a);a=b[a];if(!a||!a.writeWith)return c;a.writeWith.forEach(function(a){f(a,b,c)});return c}function c(a,b,c){return f(a,b).some(function(a){return c[a]})}function a(a,f,e){var u=h.getProperties(a),q=u.metadatas,r={},m=[],w={},x;for(x in q){var g=d.originSpecificWritePropertyDefinition(q[x],
e);if((w[x]=g)&&g.writable&&g.write)l(u,x,g,e)?(g=b(a,g,a.get(x),e),0<Object.keys(g).length&&(f=h.merge(f,g),r[x]=!0)):g.writeWith&&m.push(x)}m.filter(function(g){return c(g,w,r)}).forEach(function(g){var p=a.get(g),p=b(a,w[g],p,e);0<Object.keys(p).length&&(f=h.merge(f,p),r[g]=!0)});if(e&&e.writtenProperties)for(var p in r)e.writtenProperties.push({target:a,propName:p,oldOrigin:n.idToReadableName(u.store.originOf(p)),newOrigin:e.origin});return f}k.write=a;Object.defineProperty(k,"__esModule",{value:!0});
k.default=a})},"esri/geometry/support/spatialReferenceUtils":function(){define(["require","exports","./WKIDUnitConversion"],function(e,k,n){k.isGeographic=function(d){return d.wkid?null==n[d.wkid]:d.wkt?/^\s*GEOGCS/i.test(d.wkt):!1};k.getInfo=function(d){return d.wkid?h[d.wkid]:null};e=[-2.0037508342788905E7,2.0037508342788905E7];k=[-2.0037508342787E7,2.0037508342787E7];var h={102113:{wkTemplate:'PROJCS["WGS_1984_Web_Mercator",GEOGCS["GCS_WGS_1984_Major_Auxiliary_Sphere",DATUM["D_WGS_1984_Major_Auxiliary_Sphere",SPHEROID["WGS_1984_Major_Auxiliary_Sphere",6378137.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",{Central_Meridian}],PARAMETER["Standard_Parallel_1",0.0],UNIT["Meter",1.0]]',
valid:e,origin:k,dx:1E-5},102100:{wkTemplate:'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",{Central_Meridian}],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]',valid:e,origin:k,
dx:1E-5},3785:{wkTemplate:'PROJCS["WGS_1984_Web_Mercator",GEOGCS["GCS_WGS_1984_Major_Auxiliary_Sphere",DATUM["D_WGS_1984_Major_Auxiliary_Sphere",SPHEROID["WGS_1984_Major_Auxiliary_Sphere",6378137.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",{Central_Meridian}],PARAMETER["Standard_Parallel_1",0.0],UNIT["Meter",1.0]]',valid:e,origin:k,dx:1E-5},3857:{wkTemplate:'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",{Central_Meridian}],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]',
valid:e,origin:k,dx:1E-5},4326:{wkTemplate:'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",{Central_Meridian}],UNIT["Degree",0.0174532925199433]]',altTemplate:'PROJCS["WGS_1984_Plate_Carree",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Plate_Carree"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",{Central_Meridian}],UNIT["Degrees",111319.491]]',
valid:[-180,180],origin:[-180,180],dx:1E-5}}})},"esri/geometry/support/WKIDUnitConversion":function(){define([],function(){var e,k={values:[1,0.3048,0.3048006096012192,0.3047972654,0.9143917962,0.201166195164,0.9143984146160287,0.3047994715386762,20.11676512155263,20.11678249437587,0.9143985307444408,0.91439523,0.3047997101815088,20.116756,5E4,15E4],2066:5,2136:12,2155:2,2157:0,2158:0,2159:12,2160:12,2204:2,2219:0,2220:0,2254:2,2255:2,2256:1,2265:1,2266:1,2267:2,2268:2,2269:1,2270:1,2271:2,2272:2,
2273:1,2294:0,2295:0,2314:3,2899:2,2900:2,2901:1,2909:1,2910:1,2911:2,2912:2,2913:1,2914:1,2992:1,2993:0,2994:1,3080:1,3089:2,3090:0,3091:2,3102:2,3141:0,3142:0,3167:13,3359:2,3360:0,3361:1,3362:0,3363:2,3364:0,3365:2,3366:3,3404:2,3405:0,3406:0,3407:3,3439:0,3440:0,3479:1,3480:0,3481:1,3482:0,3483:1,3484:0,3485:2,3486:0,3487:2,3488:0,3489:0,3490:2,3491:0,3492:2,3493:0,3494:2,3495:0,3496:2,3497:0,3498:2,3499:0,3500:2,3501:0,3502:2,3503:0,3504:2,3505:0,3506:2,3507:0,3508:2,3509:0,3510:2,3511:0,3512:2,
3513:0,3514:0,3515:2,3516:0,3517:2,3518:0,3519:2,3520:0,3521:2,3522:0,3523:2,3524:0,3525:2,3526:0,3527:2,3528:0,3529:2,3530:0,3531:2,3532:0,3533:2,3534:0,3535:2,3536:0,3537:2,3538:0,3539:2,3540:0,3541:2,3542:0,3543:2,3544:0,3545:2,3546:0,3547:2,3548:0,3549:2,3550:0,3551:2,3552:0,3553:2,3582:2,3583:0,3584:2,3585:0,3586:2,3587:0,3588:1,3589:0,3590:1,3591:0,3592:0,3593:1,3598:2,3599:0,3600:2,3605:1,3606:0,3607:0,3608:2,3609:0,3610:2,3611:0,3612:2,3613:0,3614:2,3615:0,3616:2,3617:0,3618:2,3619:0,3620:2,
3621:0,3622:2,3623:0,3624:2,3625:0,3626:2,3627:0,3628:2,3629:0,3630:2,3631:0,3632:2,3633:0,3634:1,3635:0,3636:1,3640:2,3641:0,3642:2,3643:0,3644:1,3645:0,3646:1,3647:0,3648:1,3649:0,3650:2,3651:0,3652:2,3653:0,3654:2,3655:0,3656:1,3657:0,3658:2,3659:0,3660:2,3661:0,3662:2,3663:0,3664:2,3668:2,3669:0,3670:2,3671:0,3672:2,3673:0,3674:2,3675:0,3676:1,3677:2,3678:0,3679:1,3680:2,3681:0,3682:1,3683:2,3684:0,3685:0,3686:2,3687:0,3688:2,3689:0,3690:2,3691:0,3692:2,3696:2,3697:0,3698:2,3699:0,3700:2,3793:0,
3794:0,3812:0,3854:0,3857:0,3920:0,3978:0,3979:0,3991:2,3992:2,4026:0,4037:0,4038:0,4071:0,4082:0,4083:0,4087:0,4088:0,4217:2,4414:0,4415:0,4417:0,4434:0,4437:0,4438:2,4439:2,4462:0,4467:0,4471:0,4474:0,4559:0,4647:0,4822:0,4826:0,4839:0,5018:0,5048:0,5167:0,5168:0,5221:0,5223:0,5234:0,5235:0,5243:0,5247:0,5266:0,5316:0,5320:0,5321:0,5325:0,5337:0,5361:0,5362:0,5367:0,5382:0,5383:0,5396:0,5456:0,5457:0,5469:0,5472:4,5490:0,5513:0,5514:0,5523:0,5559:0,5588:1,5589:3,5596:0,5627:0,5629:0,5641:0,5643:0,
5644:0,5646:2,5654:2,5655:2,5659:0,5700:0,5825:0,5836:0,5837:0,5839:0,5842:0,5844:0,5858:0,5879:0,5880:0,5887:0,5890:0,6128:1,6129:1,6141:1,6204:0,6210:0,6211:0,6307:0,6312:0,6316:0,6362:0,6391:1,6405:1,6406:0,6407:1,6408:0,6409:1,6410:0,6411:2,6412:0,6413:2,6414:0,6415:0,6416:2,6417:0,6418:2,6419:0,6420:2,6421:0,6422:2,6423:0,6424:2,6425:0,6426:2,6427:0,6428:2,6429:0,6430:2,6431:0,6432:2,6433:0,6434:2,6435:0,6436:2,6437:0,6438:2,6439:0,6440:0,6441:2,6442:0,6443:2,6444:0,6445:2,6446:0,6447:2,6448:0,
6449:2,6450:0,6451:2,6452:0,6453:2,6454:0,6455:2,6456:0,6457:2,6458:0,6459:2,6460:0,6461:2,6462:0,6463:2,6464:0,6465:2,6466:0,6467:2,6468:0,6469:2,6470:0,6471:2,6472:0,6473:2,6474:0,6475:2,6476:0,6477:2,6478:0,6479:2,6484:2,6485:0,6486:2,6487:0,6488:2,6489:0,6490:2,6491:0,6492:2,6493:0,6494:1,6495:0,6496:1,6497:0,6498:0,6499:1,6500:0,6501:2,6502:0,6503:2,6504:0,6505:2,6506:0,6507:2,6508:0,6509:0,6510:2,6515:1,6516:0,6518:0,6519:2,6520:0,6521:2,6522:0,6523:2,6524:0,6525:2,6526:0,6527:2,6528:0,6529:2,
6530:0,6531:2,6532:0,6533:2,6534:0,6535:2,6536:0,6537:2,6538:0,6539:2,6540:0,6541:2,6542:0,6543:2,6544:0,6545:1,6546:0,6547:1,6548:0,6549:2,6550:0,6551:2,6552:0,6553:2,6554:0,6555:2,6556:0,6557:1,6558:0,6559:1,6560:0,6561:1,6562:0,6563:2,6564:0,6565:2,6566:0,6567:0,6568:2,6569:0,6570:1,6571:0,6572:2,6573:0,6574:2,6575:0,6576:2,6577:0,6578:2,6582:2,6583:0,6584:2,6585:0,6586:2,6587:0,6588:2,6589:0,6590:2,6591:0,6592:0,6593:2,6594:0,6595:2,6596:0,6597:2,6598:0,6599:2,6600:0,6601:2,6602:0,6603:2,6605:2,
6606:0,6607:2,6608:0,6609:2,6610:0,6611:0,6612:2,6613:0,6614:2,6615:0,6616:2,6617:0,6618:2,6633:2,6646:0,6703:0,6784:0,6785:1,6786:0,6787:1,6788:0,6789:1,6790:0,6791:1,6792:0,6793:1,6794:0,6795:1,6796:0,6797:1,6798:0,6799:1,6800:0,6801:1,6802:0,6803:1,6804:0,6805:1,6806:0,6807:1,6808:0,6809:1,6810:0,6811:1,6812:0,6813:1,6814:0,6815:1,6816:0,6817:1,6818:0,6819:1,6820:0,6821:1,6822:0,6823:1,6824:0,6825:1,6826:0,6827:1,6828:0,6829:1,6830:0,6831:1,6832:0,6833:1,6834:0,6835:1,6836:0,6837:1,6838:0,6839:1,
6840:0,6841:1,6842:0,6843:1,6844:0,6845:1,6846:0,6847:1,6848:0,6849:1,6850:0,6851:1,6852:0,6853:1,6854:0,6855:1,6856:0,6857:1,6858:0,6859:1,6860:0,6861:1,6862:0,6863:1,6867:0,6868:1,6870:0,6875:0,6876:0,6879:0,6880:2,6884:0,6885:1,6886:0,6887:1,6915:0,6922:0,6923:2,6924:0,6925:2,6962:0,6984:0,6991:0,7128:2,7131:0,7132:2,7257:0,7258:2,7259:0,7260:2,7261:0,7262:2,7263:0,7264:2,7265:0,7266:2,7267:0,7268:2,7269:0,7270:2,7271:0,7272:2,7273:0,7274:2,7275:0,7276:2,7277:0,7278:2,7279:0,7280:2,7281:0,7282:2,
7283:0,7284:2,7285:0,7286:2,7287:0,7288:2,7289:0,7290:2,7291:0,7292:2,7293:0,7294:2,7295:0,7296:2,7297:0,7298:2,7299:0,7300:2,7301:0,7302:2,7303:0,7304:2,7305:0,7306:2,7307:0,7308:2,7309:0,7310:2,7311:0,7312:2,7313:0,7314:2,7315:0,7316:2,7317:0,7318:2,7319:0,7320:2,7321:0,7322:2,7323:0,7324:2,7325:0,7326:2,7327:0,7328:2,7329:0,7330:2,7331:0,7332:2,7333:0,7334:2,7335:0,7336:2,7337:0,7338:2,7339:0,7340:2,7341:0,7342:2,7343:0,7344:2,7345:0,7346:2,7347:0,7348:2,7349:0,7350:2,7351:0,7352:2,7353:0,7354:2,
7355:0,7356:2,7357:0,7358:2,7359:0,7360:2,7361:0,7362:2,7363:0,7364:2,7365:0,7366:2,7367:0,7368:2,7369:0,7370:2,20499:0,20538:0,20539:0,20790:0,20791:0,21291:0,21292:0,21500:0,21817:0,21818:0,22032:0,22033:0,22091:0,22092:0,22332:0,22391:0,22392:0,22700:0,22770:0,22780:0,22832:0,23090:0,23095:0,23239:0,23240:0,23433:0,23700:0,24047:0,24048:0,24100:3,24200:0,24305:0,24306:0,24382:10,24383:0,24500:0,24547:0,24548:0,24571:9,24600:0,25E3:0,25231:0,25884:0,25932:0,26237:0,26331:0,26332:0,26432:0,26591:0,
26592:0,26632:0,26692:0,27120:0,27200:0,27291:6,27292:6,27429:0,27492:0,27493:0,27500:0,27700:0,28232:0,28600:0,28991:0,28992:0,29100:0,29101:0,29220:0,29221:0,29333:0,29635:0,29636:0,29701:0,29738:0,29739:0,29849:0,29850:0,29871:8,29872:7,29873:0,30200:5,30339:0,30340:0,30591:0,30592:0,30791:0,30792:0,30800:0,31028:0,31121:0,31154:0,31170:0,31171:0,31370:0,31528:0,31529:0,31600:0,31700:0,31838:0,31839:0,31900:0,31901:0,32061:0,32062:0,32098:0,32099:2,32100:0,32104:0,32161:0,32766:0,53034:0,53048:0,
53049:0,54034:0,65061:2,65062:2,65161:0,65163:0,102041:2,102064:11,102068:14,102069:15,102118:2,102119:1,102120:2,102121:2,102217:2,102218:0,102219:2,102220:2,102378:1,102379:1,102380:0,102381:1,102589:2,102599:2,102600:2,102604:2,102647:0,102704:2,102705:2,102706:0,102761:2,102762:0,102763:2,102764:0,102765:0,102766:2,102962:0,102963:0,102970:1,102974:2,102993:0,102994:0,102995:2,102996:2,103015:0,103016:2,103017:0,103018:2,103025:0,103026:0,103027:2,103028:2,103035:0,103036:0,103037:2,103038:2,
103039:0,103040:0,103041:2,103042:2,103043:0,103044:0,103045:2,103046:2,103047:0,103048:0,103049:2,103050:2,103051:0,103052:2,103053:0,103054:2,103055:0,103056:2,103057:0,103058:0,103059:2,103060:2,103061:0,103062:0,103063:2,103064:2,103069:2,103070:0,103071:0,103072:2,103073:2,103086:0,103087:0,103088:2,103089:2,103094:1,103095:0,103096:2,103103:0,103104:2,103105:0,103106:2,103121:0,103122:2,103123:0,103124:0,103125:1,103126:1,103127:0,103128:0,103129:2,103130:2,103131:0,103132:0,103133:2,103134:2,
103135:0,103136:0,103137:1,103138:1,103139:0,103140:2,103141:0,103142:2,103143:0,103144:2,103145:0,103146:1,103147:0,103148:0,103149:2,103150:2,103151:0,103152:2,103172:0,103173:2,103174:0,103175:0,103176:2,103177:2,103178:0,103179:0,103180:2,103181:2,103182:0,103183:0,103184:2,103185:2,103228:0,103229:0,103230:2,103231:2,103250:0,103251:2,103252:0,103253:2,103260:0,103261:0,103262:2,103263:2,103270:0,103271:0,103272:2,103273:2,103274:0,103275:0,103276:2,103277:2,103278:0,103279:0,103280:2,103281:2,
103282:0,103283:0,103284:2,103285:2,103286:0,103287:2,103288:0,103289:2,103290:0,103291:2,103292:0,103293:0,103294:2,103295:2,103296:0,103297:0,103298:2,103299:2,103376:2,103377:0,103378:0,103379:2,103380:2,103393:0,103394:0,103395:2,103396:2,103472:0,103473:1,103474:0,103475:2,103482:0,103483:2,103484:0,103485:2,103500:0,103501:2,103502:0,103503:0,103504:1,103505:1,103506:0,103507:0,103508:2,103509:2,103510:0,103511:0,103512:2,103513:2,103514:0,103515:2,103516:0,103517:2,103518:0,103519:2,103520:0,
103521:1,103522:0,103523:0,103524:2,103525:2,103526:0,103527:2,103561:2,103562:2,103563:0,103564:0,103565:2,103566:2,103567:0,103568:0,103569:2,103570:2,103584:0,103585:2,103695:2};for(e=2E3;2045>=e;e++)k[e]=0;for(e=2056;2065>=e;e++)k[e]=0;for(e=2067;2135>=e;e++)k[e]=0;for(e=2137;2154>=e;e++)k[e]=0;for(e=2161;2170>=e;e++)k[e]=0;for(e=2172;2193>=e;e++)k[e]=0;for(e=2195;2198>=e;e++)k[e]=0;for(e=2200;2203>=e;e++)k[e]=0;for(e=2205;2217>=e;e++)k[e]=0;for(e=2222;2224>=e;e++)k[e]=1;for(e=2225;2250>=e;e++)k[e]=
2;for(e=2251;2253>=e;e++)k[e]=1;for(e=2257;2264>=e;e++)k[e]=2;for(e=2274;2279>=e;e++)k[e]=2;for(e=2280;2282>=e;e++)k[e]=1;for(e=2283;2289>=e;e++)k[e]=2;for(e=2290;2292>=e;e++)k[e]=0;for(e=2308;2313>=e;e++)k[e]=0;for(e=2315;2491>=e;e++)k[e]=0;for(e=2494;2866>=e;e++)k[e]=0;for(e=2867;2869>=e;e++)k[e]=1;for(e=2870;2888>=e;e++)k[e]=2;for(e=2891;2895>=e;e++)k[e]=2;for(e=2896;2898>=e;e++)k[e]=1;for(e=2902;2908>=e;e++)k[e]=2;for(e=2915;2920>=e;e++)k[e]=2;for(e=2921;2923>=e;e++)k[e]=1;for(e=2924;2930>=e;e++)k[e]=
2;for(e=2931;2962>=e;e++)k[e]=0;for(e=2964;2968>=e;e++)k[e]=2;for(e=2969;2973>=e;e++)k[e]=0;for(e=2975;2991>=e;e++)k[e]=0;for(e=2995;3051>=e;e++)k[e]=0;for(e=3054;3079>=e;e++)k[e]=0;for(e=3081;3088>=e;e++)k[e]=0;for(e=3092;3101>=e;e++)k[e]=0;for(e=3106;3138>=e;e++)k[e]=0;for(e=3146;3151>=e;e++)k[e]=0;for(e=3153;3166>=e;e++)k[e]=0;for(e=3168;3172>=e;e++)k[e]=0;for(e=3174;3203>=e;e++)k[e]=0;for(e=3294;3358>=e;e++)k[e]=0;for(e=3367;3403>=e;e++)k[e]=0;for(e=3408;3416>=e;e++)k[e]=0;for(e=3417;3438>=e;e++)k[e]=
2;for(e=3441;3446>=e;e++)k[e]=2;for(e=3447;3450>=e;e++)k[e]=0;for(e=3451;3459>=e;e++)k[e]=2;for(e=3460;3478>=e;e++)k[e]=0;for(e=3554;3559>=e;e++)k[e]=0;for(e=3560;3570>=e;e++)k[e]=2;for(e=3571;3581>=e;e++)k[e]=0;for(e=3594;3597>=e;e++)k[e]=0;for(e=3601;3604>=e;e++)k[e]=0;for(e=3637;3639>=e;e++)k[e]=0;for(e=3665;3667>=e;e++)k[e]=0;for(e=3693;3695>=e;e++)k[e]=0;for(e=3701;3727>=e;e++)k[e]=0;for(e=3728;3739>=e;e++)k[e]=2;for(e=3740;3751>=e;e++)k[e]=0;for(e=3753;3760>=e;e++)k[e]=2;for(e=3761;3773>=e;e++)k[e]=
0;for(e=3775;3777>=e;e++)k[e]=0;for(e=3779;3781>=e;e++)k[e]=0;for(e=3783;3785>=e;e++)k[e]=0;for(e=3788;3791>=e;e++)k[e]=0;for(e=3797;3802>=e;e++)k[e]=0;for(e=3814;3816>=e;e++)k[e]=0;for(e=3825;3829>=e;e++)k[e]=0;for(e=3832;3841>=e;e++)k[e]=0;for(e=3844;3852>=e;e++)k[e]=0;for(e=3873;3885>=e;e++)k[e]=0;for(e=3890;3893>=e;e++)k[e]=0;for(e=3907;3912>=e;e++)k[e]=0;for(e=3942;3950>=e;e++)k[e]=0;for(e=3968;3970>=e;e++)k[e]=0;for(e=3973;3976>=e;e++)k[e]=0;for(e=3986;3989>=e;e++)k[e]=0;for(e=3994;3997>=e;e++)k[e]=
0;for(e=4048;4051>=e;e++)k[e]=0;for(e=4056;4063>=e;e++)k[e]=0;for(e=4093;4096>=e;e++)k[e]=0;for(e=4390;4398>=e;e++)k[e]=0;for(e=4399;4413>=e;e++)k[e]=2;for(e=4418;4433>=e;e++)k[e]=2;for(e=4455;4457>=e;e++)k[e]=2;for(e=4484;4489>=e;e++)k[e]=0;for(e=4491;4554>=e;e++)k[e]=0;for(e=4568;4589>=e;e++)k[e]=0;for(e=4652;4656>=e;e++)k[e]=0;for(e=4766;4800>=e;e++)k[e]=0;for(e=5014;5016>=e;e++)k[e]=0;for(e=5069;5072>=e;e++)k[e]=0;for(e=5105;5130>=e;e++)k[e]=0;for(e=5173;5188>=e;e++)k[e]=0;for(e=5253;5259>=e;e++)k[e]=
0;for(e=5269;5275>=e;e++)k[e]=0;for(e=5292;5311>=e;e++)k[e]=0;for(e=5329;5331>=e;e++)k[e]=0;for(e=5343;5349>=e;e++)k[e]=0;for(e=5355;5357>=e;e++)k[e]=0;for(e=5387;5389>=e;e++)k[e]=0;for(e=5459;5463>=e;e++)k[e]=0;for(e=5479;5482>=e;e++)k[e]=0;for(e=5518;5520>=e;e++)k[e]=0;for(e=5530;5539>=e;e++)k[e]=0;for(e=5550;5552>=e;e++)k[e]=0;for(e=5562;5583>=e;e++)k[e]=0;for(e=5623;5625>=e;e++)k[e]=2;for(e=5631;5639>=e;e++)k[e]=0;for(e=5649;5653>=e;e++)k[e]=0;for(e=5663;5680>=e;e++)k[e]=0;for(e=5682;5685>=e;e++)k[e]=
0;for(e=5875;5877>=e;e++)k[e]=0;for(e=5921;5940>=e;e++)k[e]=0;for(e=6050;6125>=e;e++)k[e]=0;for(e=6244;6275>=e;e++)k[e]=0;for(e=6328;6348>=e;e++)k[e]=0;for(e=6350;6356>=e;e++)k[e]=0;for(e=6366;6372>=e;e++)k[e]=0;for(e=6381;6387>=e;e++)k[e]=0;for(e=6393;6404>=e;e++)k[e]=0;for(e=6480;6483>=e;e++)k[e]=0;for(e=6511;6514>=e;e++)k[e]=0;for(e=6579;6581>=e;e++)k[e]=0;for(e=6619;6624>=e;e++)k[e]=0;for(e=6625;6627>=e;e++)k[e]=2;for(e=6628;6632>=e;e++)k[e]=0;for(e=6634;6637>=e;e++)k[e]=0;for(e=6669;6692>=e;e++)k[e]=
0;for(e=6707;6709>=e;e++)k[e]=0;for(e=6720;6723>=e;e++)k[e]=0;for(e=6732;6738>=e;e++)k[e]=0;for(e=6931;6933>=e;e++)k[e]=0;for(e=6956;6959>=e;e++)k[e]=0;for(e=7005;7007>=e;e++)k[e]=0;for(e=7057;7070>=e;e++)k[e]=2;for(e=7074;7082>=e;e++)k[e]=0;for(e=7109;7118>=e;e++)k[e]=0;for(e=7119;7127>=e;e++)k[e]=1;for(e=7374;7376>=e;e++)k[e]=0;for(e=7528;7586>=e;e++)k[e]=0;for(e=7587;7645>=e;e++)k[e]=2;for(e=7845;7859>=e;e++)k[e]=0;for(e=20002;20032>=e;e++)k[e]=0;for(e=20062;20092>=e;e++)k[e]=0;for(e=20135;20138>=
e;e++)k[e]=0;for(e=20248;20258>=e;e++)k[e]=0;for(e=20348;20358>=e;e++)k[e]=0;for(e=20436;20440>=e;e++)k[e]=0;for(e=20822;20824>=e;e++)k[e]=0;for(e=20934;20936>=e;e++)k[e]=0;for(e=21035;21037>=e;e++)k[e]=0;for(e=21095;21097>=e;e++)k[e]=0;for(e=21148;21150>=e;e++)k[e]=0;for(e=21413;21423>=e;e++)k[e]=0;for(e=21473;21483>=e;e++)k[e]=0;for(e=21780;21782>=e;e++)k[e]=0;for(e=21891;21894>=e;e++)k[e]=0;for(e=21896;21899>=e;e++)k[e]=0;for(e=22171;22177>=e;e++)k[e]=0;for(e=22181;22187>=e;e++)k[e]=0;for(e=22191;22197>=
e;e++)k[e]=0;for(e=22234;22236>=e;e++)k[e]=0;for(e=22521;22525>=e;e++)k[e]=0;for(e=22991;22994>=e;e++)k[e]=0;for(e=23028;23038>=e;e++)k[e]=0;for(e=23830;23853>=e;e++)k[e]=0;for(e=23866;23872>=e;e++)k[e]=0;for(e=23877;23884>=e;e++)k[e]=0;for(e=23886;23894>=e;e++)k[e]=0;for(e=23946;23948>=e;e++)k[e]=0;for(e=24311;24313>=e;e++)k[e]=0;for(e=24342;24347>=e;e++)k[e]=0;for(e=24370;24374>=e;e++)k[e]=10;for(e=24375;24381>=e;e++)k[e]=0;for(e=24718;24721>=e;e++)k[e]=0;for(e=24817;24821>=e;e++)k[e]=0;for(e=24877;24882>=
e;e++)k[e]=0;for(e=24891;24893>=e;e++)k[e]=0;for(e=25391;25395>=e;e++)k[e]=0;for(e=25828;25838>=e;e++)k[e]=0;for(e=26191;26195>=e;e++)k[e]=0;for(e=26391;26393>=e;e++)k[e]=0;for(e=26701;26722>=e;e++)k[e]=0;for(e=26729;26799>=e;e++)k[e]=2;for(e=26801;26803>=e;e++)k[e]=2;for(e=26811;26813>=e;e++)k[e]=2;for(e=26847;26870>=e;e++)k[e]=2;for(e=26891;26899>=e;e++)k[e]=0;for(e=26901;26923>=e;e++)k[e]=0;for(e=26929;26946>=e;e++)k[e]=0;for(e=26948;26998>=e;e++)k[e]=0;for(e=27037;27040>=e;e++)k[e]=0;for(e=27205;27232>=
e;e++)k[e]=0;for(e=27258;27260>=e;e++)k[e]=0;for(e=27391;27398>=e;e++)k[e]=0;for(e=27561;27564>=e;e++)k[e]=0;for(e=27571;27574>=e;e++)k[e]=0;for(e=27581;27584>=e;e++)k[e]=0;for(e=27591;27594>=e;e++)k[e]=0;for(e=28191;28193>=e;e++)k[e]=0;for(e=28348;28358>=e;e++)k[e]=0;for(e=28402;28432>=e;e++)k[e]=0;for(e=28462;28492>=e;e++)k[e]=0;for(e=29118;29122>=e;e++)k[e]=0;for(e=29168;29172>=e;e++)k[e]=0;for(e=29177;29185>=e;e++)k[e]=0;for(e=29187;29195>=e;e++)k[e]=0;for(e=29900;29903>=e;e++)k[e]=0;for(e=30161;30179>=
e;e++)k[e]=0;for(e=30491;30494>=e;e++)k[e]=0;for(e=30729;30732>=e;e++)k[e]=0;for(e=31251;31259>=e;e++)k[e]=0;for(e=31265;31268>=e;e++)k[e]=0;for(e=31275;31279>=e;e++)k[e]=0;for(e=31281;31297>=e;e++)k[e]=0;for(e=31461;31469>=e;e++)k[e]=0;for(e=31491;31495>=e;e++)k[e]=0;for(e=31917;31922>=e;e++)k[e]=0;for(e=31965;32E3>=e;e++)k[e]=0;for(e=32001;32003>=e;e++)k[e]=2;for(e=32005;32031>=e;e++)k[e]=2;for(e=32033;32060>=e;e++)k[e]=2;for(e=32064;32067>=e;e++)k[e]=2;for(e=32074;32077>=e;e++)k[e]=2;for(e=32081;32086>=
e;e++)k[e]=0;for(e=32107;32130>=e;e++)k[e]=0;for(e=32133;32158>=e;e++)k[e]=0;for(e=32164;32167>=e;e++)k[e]=2;for(e=32180;32199>=e;e++)k[e]=0;for(e=32201;32260>=e;e++)k[e]=0;for(e=32301;32360>=e;e++)k[e]=0;for(e=32601;32662>=e;e++)k[e]=0;for(e=32664;32667>=e;e++)k[e]=2;for(e=32701;32761>=e;e++)k[e]=0;for(e=53001;53004>=e;e++)k[e]=0;for(e=53008;53019>=e;e++)k[e]=0;for(e=53021;53032>=e;e++)k[e]=0;for(e=53042;53046>=e;e++)k[e]=0;for(e=53074;53080>=e;e++)k[e]=0;for(e=54001;54004>=e;e++)k[e]=0;for(e=54008;54019>=
e;e++)k[e]=0;for(e=54021;54032>=e;e++)k[e]=0;for(e=54042;54046>=e;e++)k[e]=0;for(e=54048;54053>=e;e++)k[e]=0;for(e=54074;54080>=e;e++)k[e]=0;for(e=102001;102040>=e;e++)k[e]=0;for(e=102042;102063>=e;e++)k[e]=0;for(e=102065;102067>=e;e++)k[e]=0;for(e=102070;102117>=e;e++)k[e]=0;for(e=102122;102216>=e;e++)k[e]=0;for(e=102221;102377>=e;e++)k[e]=0;for(e=102382;102388>=e;e++)k[e]=0;for(e=102389;102398>=e;e++)k[e]=2;for(e=102399;102444>=e;e++)k[e]=0;for(e=102445;102447>=e;e++)k[e]=2;for(e=102448;102458>=
e;e++)k[e]=0;for(e=102459;102468>=e;e++)k[e]=2;for(e=102469;102496>=e;e++)k[e]=0;for(e=102500;102519>=e;e++)k[e]=1;for(e=102520;102524>=e;e++)k[e]=0;for(e=102525;102529>=e;e++)k[e]=2;for(e=102530;102561>=e;e++)k[e]=0;for(e=102570;102588>=e;e++)k[e]=0;for(e=102590;102598>=e;e++)k[e]=0;for(e=102601;102603>=e;e++)k[e]=0;for(e=102605;102628>=e;e++)k[e]=0;for(e=102629;102646>=e;e++)k[e]=2;for(e=102648;102700>=e;e++)k[e]=2;for(e=102701;102703>=e;e++)k[e]=0;for(e=102707;102730>=e;e++)k[e]=2;for(e=102733;102758>=
e;e++)k[e]=2;for(e=102767;102798>=e;e++)k[e]=0;for(e=102965;102969>=e;e++)k[e]=0;for(e=102971;102973>=e;e++)k[e]=0;for(e=102975;102989>=e;e++)k[e]=0;for(e=102990;102992>=e;e++)k[e]=1;for(e=102997;103002>=e;e++)k[e]=0;for(e=103003;103008>=e;e++)k[e]=2;for(e=103009;103011>=e;e++)k[e]=0;for(e=103012;103014>=e;e++)k[e]=2;for(e=103019;103021>=e;e++)k[e]=0;for(e=103022;103024>=e;e++)k[e]=2;for(e=103029;103031>=e;e++)k[e]=0;for(e=103032;103034>=e;e++)k[e]=2;for(e=103065;103068>=e;e++)k[e]=0;for(e=103074;103076>=
e;e++)k[e]=0;for(e=103077;103079>=e;e++)k[e]=1;for(e=103080;103082>=e;e++)k[e]=0;for(e=103083;103085>=e;e++)k[e]=2;for(e=103090;103093>=e;e++)k[e]=0;for(e=103097;103099>=e;e++)k[e]=0;for(e=103100;103102>=e;e++)k[e]=2;for(e=103107;103109>=e;e++)k[e]=0;for(e=103110;103112>=e;e++)k[e]=2;for(e=103113;103116>=e;e++)k[e]=0;for(e=103117;103120>=e;e++)k[e]=2;for(e=103153;103157>=e;e++)k[e]=0;for(e=103158;103162>=e;e++)k[e]=2;for(e=103163;103165>=e;e++)k[e]=0;for(e=103166;103168>=e;e++)k[e]=1;for(e=103169;103171>=
e;e++)k[e]=2;for(e=103186;103188>=e;e++)k[e]=0;for(e=103189;103191>=e;e++)k[e]=2;for(e=103192;103195>=e;e++)k[e]=0;for(e=103196;103199>=e;e++)k[e]=2;for(e=103200;103224>=e;e++)k[e]=0;for(e=103225;103227>=e;e++)k[e]=1;for(e=103232;103237>=e;e++)k[e]=0;for(e=103238;103243>=e;e++)k[e]=2;for(e=103244;103246>=e;e++)k[e]=0;for(e=103247;103249>=e;e++)k[e]=2;for(e=103254;103256>=e;e++)k[e]=0;for(e=103257;103259>=e;e++)k[e]=2;for(e=103264;103266>=e;e++)k[e]=0;for(e=103267;103269>=e;e++)k[e]=2;for(e=103300;103375>=
e;e++)k[e]=0;for(e=103381;103383>=e;e++)k[e]=0;for(e=103384;103386>=e;e++)k[e]=1;for(e=103387;103389>=e;e++)k[e]=0;for(e=103390;103392>=e;e++)k[e]=2;for(e=103397;103399>=e;e++)k[e]=0;for(e=103400;103471>=e;e++)k[e]=2;for(e=103476;103478>=e;e++)k[e]=0;for(e=103479;103481>=e;e++)k[e]=2;for(e=103486;103488>=e;e++)k[e]=0;for(e=103489;103491>=e;e++)k[e]=2;for(e=103492;103495>=e;e++)k[e]=0;for(e=103496;103499>=e;e++)k[e]=2;for(e=103528;103543>=e;e++)k[e]=0;for(e=103544;103548>=e;e++)k[e]=2;for(e=103549;103551>=
e;e++)k[e]=0;for(e=103552;103554>=e;e++)k[e]=1;for(e=103555;103557>=e;e++)k[e]=2;for(e=103558;103560>=e;e++)k[e]=0;for(e=103571;103573>=e;e++)k[e]=0;for(e=103574;103576>=e;e++)k[e]=2;for(e=103577;103580>=e;e++)k[e]=0;for(e=103581;103583>=e;e++)k[e]=2;for(e=103600;103694>=e;e++)k[e]=0;for(e=103700;103793>=e;e++)k[e]=2;for(e=103794;103871>=e;e++)k[e]=0;for(e=103900;103971>=e;e++)k[e]=2;return k})},"esri/geometry/Extent":function(){define("dojo/_base/lang ../core/lang ./SpatialReference ./Geometry ./Point ./support/webMercatorUtils ./support/mathUtils ./support/spatialReferenceUtils".split(" "),
function(e,k,n,h,d,b,l,f){var c=h.createSubclass({declaredClass:"esri.geometry.Extent",type:"extent",normalizeCtorArgs:function(a,b,c,f,d){return this.isSR(a)?{spatialReference:a,xmin:0,ymin:0,xmax:0,ymax:0}:e.isObject(a)?(a.spatialReference=a.spatialReference||n.WGS84,a):{xmin:a,ymin:b,xmax:c,ymax:f,spatialReference:d||n.WGS84}},properties:{cache:{dependsOn:"xmin ymin zmin mmin xmax ymax zmax mmax".split(" ")},center:{readOnly:!0,dependsOn:["cache"],get:function(a){a||(a=new d({spatialReference:this.spatialReference}));
a.x=0.5*(this.xmin+this.xmax);a.y=0.5*(this.ymin+this.ymax);this.hasZ&&(a.z=0.5*(this.zmin+this.zmax));this.hasM&&(a.m=0.5*(this.mmin+this.mmax));return a}},extent:{readOnly:!0,dependsOn:["cache"],get:function(){return this.clone()}},hasM:{readOnly:!0,dependsOn:["mmin","mmax"],get:function(){return null!=this.mmin&&null!=this.mmax}},hasZ:{readOnly:!0,dependsOn:["zmin","zmax"],get:function(){return null!=this.zmin&&null!=this.zmax}},height:{readOnly:!0,dependsOn:["ymin","ymax"],get:function(){return Math.abs(this.ymax-
this.ymin)}},width:{readOnly:!0,dependsOn:["xmin","xmax"],get:function(){return Math.abs(this.xmax-this.xmin)}},xmin:0,ymin:0,mmin:void 0,zmin:void 0,xmax:0,ymax:0,mmax:void 0,zmax:void 0},centerAt:function(a){var b=this.center;return null!=a.z&&this.hasZ?this.offset(a.x-b.x,a.y-b.y,a.z-b.z):this.offset(a.x-b.x,a.y-b.y)},clone:function(){var a=new c;a.xmin=this.xmin;a.ymin=this.ymin;a.xmax=this.xmax;a.ymax=this.ymax;a.spatialReference=this.spatialReference;null!=this.zmin&&(a.zmin=this.zmin,a.zmax=
this.zmax);null!=this.mmin&&(a.mmin=this.mmin,a.mmax=this.mmax);return a},contains:function(a){if(!a)return!1;var c=a.type;if("point"===c){var f=this.spatialReference,e=a.spatialReference,c=a.x,u=a.y;a=a.z;f&&(e&&!f.equals(e)&&b.canProject(f,e))&&(f=f.isWebMercator?d.lngLatToXY(c,u):d.xyToLngLat(c,u,!0),c=f[0],u=f[1]);if(c>=this.xmin&&c<=this.xmax&&u>=this.ymin&&u<=this.ymax)return null!=a&&this.hasZ?a>=this.zmin&&a<=this.zmax:!0}else if("extent"===c)return this._containsExtent(a);return!1},equals:function(a){if(!a)return!1;
var c=this.spatialReference;if(!c.equals(a.spatialReference))if(b.canProject(a.spatialReference,c))a=b.project(a,c);else return!1;return this.xmin===a.xmin&&this.ymin===a.ymin&&this.zmin===a.zmin&&this.mmin===a.mmin&&this.xmax===a.xmax&&this.ymax===a.ymax&&this.zmax===a.zmax&&this.mmax===a.mmax},expand:function(a){a=0.5*(1-a);var b=this.width*a,c=this.height*a;this.xmin+=b;this.ymin+=c;this.xmax-=b;this.ymax-=c;this.hasZ&&(b=(this.zmax-this.zmin)*a,this.zmin+=b,this.zmax-=b);this.hasM&&(a*=this.mmax-
this.mmin,this.mmin+=a,this.mmax-=a);return this},intersects:function(a){if(!a)return!1;var c=a.type,f=this.spatialReference,d=a.spatialReference;f&&(d&&!f.equals(d)&&b.canProject(f,d))&&(a=f.isWebMercator?b.geographicToWebMercator(a):b.webMercatorToGeographic(a,!0));switch(c){case "point":return this.contains(a);case "multipoint":return this._intersectsMultipoint(a);case "extent":return this._intersectsExtent(a);case "polygon":return this._intersectsPolygon(a);case "polyline":return this._intersectsPolyline(a)}},
normalize:function(){var a=this._normalize(!1,!0);Array.isArray(a)||(a=[a]);return a},offset:function(a,b,c){this.xmin+=a;this.ymin+=b;this.xmax+=a;this.ymax+=b;null!=c&&(this.zmin+=c,this.zmax+=c);return this},shiftCentralMeridian:function(){return this._normalize(!0)},toJSON:function(){var a=this.spatialReference,a={xmin:this.xmin,ymin:this.ymin,xmax:this.xmax,ymax:this.ymax,spatialReference:a&&a.toJSON()};this.hasZ&&(a.zmin=this.zmin,a.zmax=this.zmax);this.hasM&&(a.mmax=this.mmax,a.mmin=this.mmin);
return a},union:function(a){function b(a,c,f){return null==c?f:null==f?c:a(c,f)}this.xmin=Math.min(this.xmin,a.xmin);this.ymin=Math.min(this.ymin,a.ymin);this.xmax=Math.max(this.xmax,a.xmax);this.ymax=Math.max(this.ymax,a.ymax);if(this.hasZ||a.hasZ)this.zmin=b(Math.min,this.zmin,a.zmin),this.zmax=b(Math.max,this.zmax,a.zmax);if(this.hasM||a.hasM)this.mmin=b(Math.min,this.mmin,a.mmin),this.mmax=b(Math.max,this.mmax,a.mmax);return this},intersection:function(a){function b(a,c,f){return null==c?f:null==
f?c:a(c,f)}if(!this._intersectsExtent(a))return null;this.xmin=Math.max(this.xmin,a.xmin);this.ymin=Math.max(this.ymin,a.ymin);this.xmax=Math.min(this.xmax,a.xmax);this.ymax=Math.min(this.ymax,a.ymax);if(this.hasZ||a.hasZ)this.zmin=b(Math.max,this.zmin,a.zmin),this.zmax=b(Math.min,this.zmax,a.zmax);if(this.hasM||a.hasM)this.mmin=b(Math.max,this.mmin,a.mmin),this.mmax=b(Math.min,this.mmax,a.mmax);return this},_containsExtent:function(a){var b=a.xmin,c=a.ymin,f=a.zmin,e=a.xmax,q=a.ymax,r=a.zmax;a=a.spatialReference;
return null!=f&&this.hasZ?this.contains(new d(b,c,f,a))&&this.contains(new d(b,q,f,a))&&this.contains(new d(e,q,f,a))&&this.contains(new d(e,c,f,a))&&this.contains(new d(b,c,r,a))&&this.contains(new d(b,q,r,a))&&this.contains(new d(e,q,r,a))&&this.contains(new d(e,c,r,a)):this.contains(new d(b,c,a))&&this.contains(new d(b,q,a))&&this.contains(new d(e,q,a))&&this.contains(new d(e,c,a))},_intersectsMultipoint:function(a){var b=a.points.length,c;for(c=0;c<b;c++)if(this.contains(a.getPoint(c)))return!0;
return!1},_intersectsExtent:function(a){var b,c;c=this.hasZ&&a.hasZ;if(this.xmin<=a.xmin){if(b=a.xmin,this.xmax<b)return!1}else if(b=this.xmin,a.xmax<b)return!1;if(this.ymin<=a.ymin){if(b=a.ymin,this.ymax<b)return!1}else if(b=this.ymin,a.ymax<b)return!1;if(c&&a.hasZ)if(this.zmin<=a.zmin){if(c=a.zmin,this.zmax<c)return!1}else if(c=this.zmin,a.zmax<c)return!1;return!0},_intersectsPolygon:function(a){var b=[this.xmin,this.ymax],c=[this.xmax,this.ymax],f=[this.xmin,this.ymin],e=[this.xmax,this.ymin],
q=[b,c,f,e],b=[[f,b],[b,c],[c,e],[e,f]],f=a.rings,e=f.length,r,m=new d(0,0,this.spatialReference);r=q.length;for(c=0;c<r;c++)if(m.x=q[c][0],m.y=q[c][1],a.contains(m))return!0;for(var m={x:0,y:0,spatialReference:a.spatialReference,type:"point"},w,l,c=0;c<e;c++)if(q=f[c],r=q.length){w=q[0];m.x=w[0];m.y=w[1];if(this.contains(m))return!0;for(a=1;a<r;a++){l=q[a];m.x=l[0];m.y=l[1];if(this.contains(m)||this._intersectsLine([w,l],b))return!0;w=l}}return!1},_intersectsPolyline:function(a){var b=[[[this.xmin,
this.ymin],[this.xmin,this.ymax]],[[this.xmin,this.ymax],[this.xmax,this.ymax]],[[this.xmax,this.ymax],[this.xmax,this.ymin]],[[this.xmax,this.ymin],[this.xmin,this.ymin]]],c,f=a.paths,d=f.length,e,r,m,w,l={x:0,y:0,spatialReference:a.spatialReference,type:"point"};for(a=0;a<d;a++)if(e=f[a],r=e.length){m=e[0];l.x=m[0];l.y=m[1];if(this.contains(l))return!0;for(c=1;c<r;c++){w=e[c];l.x=w[0];l.y=w[1];if(this.contains(l)||this._intersectsLine([m,w],b))return!0;m=w}}return!1},_intersectsLine:function(a,
b){var c=l._getLineIntersection2,f,d=b.length;for(f=0;f<d;f++)if(c(a,b[f]))return!0;return!1},_shiftCM:function(a){var c=this.spatialReference;if(a=a||f.getInfo(c)){var d=this._getCM(a);if(d){var e=c.isWebMercator?b.webMercatorToGeographic(d):d;this.xmin-=d.x;this.xmax-=d.x;c.isWebMercator||(e.x=this._normalizeX(e.x,a).x);this.spatialReference=new n(k.substitute({Central_Meridian:e.x},4326===c.wkid?a.altTemplate:a.wkTemplate))}}return this},_getCM:function(a){var b,c=a.valid[0];a=a.valid[1];var f=
this.xmin,d=this.xmax;if(!(f>=c&&f<=a)||!(d>=c&&d<=a))b=this.center;return b},_normalize:function(a,b,c){var d=this.spatialReference;if(d&&(c=c||f.getInfo(d))){var e=this._getParts(c).map(function(a){return a.extent});if(2<e.length)return a?this._shiftCM(c):this.set({xmin:c.valid[0],xmax:c.valid[1]});if(2===e.length){if(a)return this._shiftCM(c);if(b)return e;var q=!0,r=!0;e.map(function(a){a.hasZ||(q=!1);a.hasM||(r=!1)});return{rings:e.map(function(a){var b=[[a.xmin,a.ymin],[a.xmin,a.ymax],[a.xmax,
a.ymax],[a.xmax,a.ymin],[a.xmin,a.ymin]];if(q)for(var c=(a.zmax-a.zmin)/2,g=0;g<b.length;g++)b[g].push(c);if(r){a=(a.mmax-a.mmin)/2;for(g=0;g<b.length;g++)b[g].push(a)}return b}),hasZ:q,hasM:r,spatialReference:d}}return e[0]||this}return this},_getParts:function(a){var b=this.cache._parts;if(!b){var b=[],d=this.xmin,e=this.xmax,u=this.ymin,q=this.ymax,r=this.spatialReference,m=this.width,w=d,l=e,g=0,p=0,z,h;a=a||f.getInfo(r);z=a.valid[0];h=a.valid[1];p=this._normalizeX(d,a);d=p.x;g=p.frameId;p=this._normalizeX(e,
a);e=p.x;p=p.frameId;a=d===e&&0<m;if(m>2*h){m=new c(w<l?d:e,u,h,q,r);d=new c(z,u,w<l?e:d,q,r);h=new c(0,u,h,q,r);u=new c(z,u,0,q,r);r=[];z=[];m.contains(h)&&r.push(g);m.contains(u)&&z.push(g);d.contains(h)&&r.push(p);d.contains(u)&&z.push(p);for(q=g+1;q<p;q++)r.push(q),z.push(q);b.push({extent:m,frameIds:[g]},{extent:d,frameIds:[p]},{extent:h,frameIds:r},{extent:u,frameIds:z})}else d>e||a?b.push({extent:new c(d,u,h,q,r),frameIds:[g]},{extent:new c(z,u,e,q,r),frameIds:[p]}):b.push({extent:new c(d,
u,e,q,r),frameIds:[g]});this.cache._parts=b}p=this.hasZ;u=this.hasM;if(p||u){g={};p&&(g.zmin=this.zmin,g.zmax=this.zmax);u&&(g.mmin=this.mmin,g.mmax=this.mmax);for(p=0;p<b.length;p++)b[p].extent.set(g)}return b},_normalizeX:function(a,b){var c=0,f=b.valid[0],d=b.valid[1],e=2*d;a>d?(c=Math.ceil(Math.abs(a-d)/e),a-=c*e):a<f&&(c=Math.ceil(Math.abs(a-f)/e),a+=c*e,c=-c);return{x:a,frameId:c}}});return c})},"esri/geometry/Geometry":function(){define(["../core/JSONSupport","./SpatialReference"],function(e,
k){return e.createSubclass({declaredClass:"esri.geometry.Geometry",type:null,properties:{cache:{value:null,readOnly:!0,dependsOn:["spatialReference"],get:function(){return{}}},extent:{value:null,readOnly:!0,dependsOn:["spatialReference"]},hasM:!1,hasZ:!1,spatialReference:k.WGS84},isSR:function(e){return e&&("esri.SpatialReference"===e.declaredClass||null!=e.wkid)},clone:function(){console.warn(".clone() is not implemented for "+this.declaredClass);return null},toJSON:function(){console.warn(".toJSON() is not implemented for "+
this.declaredClass);return null},clearCache:function(){this.notifyChange("cache")},getCacheValue:function(e){return this.cache[e]},setCacheValue:function(e,h){this.cache[e]=h}})})},"esri/geometry/Point":function(){define(["./SpatialReference","./Geometry","./support/webMercatorUtils","./support/spatialReferenceUtils"],function(e,k,n,h){var d=[0,0],b=n.lngLatToXY,l=n.xyToLngLat,f=k.createSubclass({declaredClass:"esri.geometry.Point",normalizeCtorArgs:function(c,a,f,l,h){var u;Array.isArray(c)?(u=c,
h=a,c=u[0],a=u[1],f=u[2],l=u[3]):c&&"object"===typeof c?(u=c,c=null!=u.x?u.x:u.longitude,a=null!=u.y?u.y:u.latitude,f=null!=u.z?u.z:u.altitude,l=u.m,(h=u.spatialReference)&&"esri.SpatialReference"!==h.declaredClass&&(h=new e(h)),!u.declaredClass&&(h&&h.isWebMercator&&null!=u.longitude&&null!=u.latitude)&&(a=b(u.longitude,u.latitude,!1,d),c=a[0],a=a[1])):this.isSR(f)?(h=f,f=null):this.isSR(l)&&(h=l,l=null);c={x:c,y:a};null!=h&&(c.spatialReference=h);null!=f&&(c.z=f);null!=l&&(c.m=l);return c},properties:{cache:{dependsOn:["x",
"y","z","m"]},hasM:{dependsOn:["m"],get:function(){return void 0!==this.m},set:function(b){var a=this._get("hasM");b!==a&&(this._set("m",b?0:void 0),this._set("hasM",b))}},hasZ:{dependsOn:["z"],get:function(){return void 0!==this.z},set:function(b){var a=this._get("hasZ");b!==a&&(this._set("z",b?0:void 0),this._set("hasZ",b))}},latitude:{dependsOn:["y"],get:function(){var b=this._get("spatialReference");if(b){if(b.isWebMercator)return l(this.x,this.y,!1,d)[1];if(4326===b.wkid)return this._get("y")}return null},
set:function(c){var a=this._get("spatialReference");a&&(a.isWebMercator?this._set("y",b(this.x,c,!1,d)[1]):4326===a.wkid&&this._set("y",c),this._set("latitude",c))}},longitude:{dependsOn:["x"],get:function(){var b=this._get("spatialReference");if(b){if(b.isWebMercator)return l(this._get("x"),this._get("y"),!1,d)[0];if(4326===b.wkid)return this._get("x")}return null},set:function(c){var a=this._get("spatialReference");a&&(a.isWebMercator?this._set("x",b(c,this._get("y"),!1,d)[0]):4326===a.wkid&&this._set("x",
c),this._set("longitude",c))}},x:0,y:0,z:void 0,m:void 0,type:"point"},clone:function(){var b=new f;b.x=this.x;b.y=this.y;b.z=this.z;b.m=this.m;b.spatialReference=this.spatialReference;return b},copy:function(b){f.copy(b,this);return this},equals:function(c){if(!c)return!1;var a=this.x,f=this.y,d=this.z,e=this.m,u=this.spatialReference,q=c.x,r=c.y,m=c.z,w=c.m;c=c.spatialReference;if(!u.equals(c))if(u.isWebMercator&&4326===c.wkid)r=b(q,r),q=r[0],r=r[1],c=u;else if(4326===u.wkid&&c.isWebMercator)r=
l(q,r),q=r[0],r=r[1],c=u;else return!1;return a===q&&f===r&&d===m&&e===w&&u.wkid===c.wkid},offset:function(b,a,f){this.x+=b;this.y+=a;null!=f&&this.hasZ&&(this.z+=f);return this},normalize:function(){var b=this.x,a=this.spatialReference;if(a){var f=h.getInfo(a);if(f){var a=f.valid[0],d=f.valid[1],f=2*d;b>d?(a=Math.ceil(Math.abs(b-d)/f),b-=a*f):b<a&&(a=Math.ceil(Math.abs(b-a)/f),b+=a*f)}}this._set("x",b);return this},distance:function(b){return f.distance(this,b)},toArray:function(){var b=this.hasZ,
a=this.hasM;return b&&a?[this.x,this.y,this.z,this.m]:b?[this.x,this.y,this.z]:a?[this.x,this.y,this.m]:[this.x,this.y]},toJSON:function(){var b=this.spatialReference,a={x:this.x,y:this.y};this.hasZ&&(a.z=this.z);this.hasM&&(a.m=this.m);a.spatialReference=b&&b.toJSON();return a}});f.lngLatToXY=b;f.xyToLngLat=l;f.copy=function(b,a){a.x=b.x;a.y=b.y;a.z=b.z;a.m=b.m;a.spatialReference=Object.isFrozen(b.spatialReference)?b.spatialReference:b.spatialReference.clone()};f.distance=function(b,a){var f=b.x-
a.x,d=b.y-a.y,e=b.hasZ&&a.hasZ?b.z-a.z:0;return Math.sqrt(f*f+d*d+e*e)};return f})},"esri/geometry/support/webMercatorUtils":function(){define(["require","exports","../SpatialReference"],function(e,k,n){function h(a,b,c,f,d){if("point"===a.type)b=b(a.x,a.y,f,t),d.x=b[0],d.y=b[1];else if("extent"===a.type)k=b(a.xmin,a.ymin,f,t),d.xmin=k[0],d.ymin=k[1],b=b(a.xmax,a.ymax,f,t),d.xmax=b[0],d.ymax=b[1];else if("polyline"===a.type||"polygon"===a.type){var e="polyline"===a.type,l=e?a.paths:a.rings,g=[],p=
void 0;a=0;for(k=l.length;a<k;a++){var z=l[a],p=[];g.push(p);for(var h=0,s=z.length;h<s;h++)p.push(b(z[h][0],z[h][1],f)),2<z[h].length&&p[h].push(z[h][2]),3<z[h].length&&p[h].push(z[h][3])}e?d.paths=g:d.rings=g}else if("multipoint"===a.type){e=a.points;l=[];a=0;for(k=e.length;a<k;a++)l[a]=b(e[a][0],e[a][1],f),2<e[a].length&&l[a].push(e[a][2]),3<e[a].length&&l[a].push(e[a][3]);d.points=l}d.spatialReference=c;return d;var k}function d(a,b){var c=a&&(null!=a.wkid?a:a.spatialReference),f=b&&(null!=b.wkid?
b:b.spatialReference);return!c||!f?!1:f.equals(c)?!0:f.isWebMercator&&4326===c.wkid||c.isWebMercator&&4326===f.wkid}function b(a,b,c,d){void 0===d&&(d=[0,0]);89.99999<b?b=89.99999:-89.99999>b&&(b=-89.99999);b*=s;d[0]=a*s*f;d[1]=0.5*f*Math.log((1+Math.sin(b))/(1-Math.sin(b)));return d}function l(b,d,e,r){void 0===e&&(e=!1);void 0===r&&(r=[0,0]);b=b/f*a;r[0]=e?b:b-360*Math.floor((b+180)/360);e=r;d=c/2-2*Math.atan(Math.exp(-1*d/f));e[1]=d*a;return r}var f=6378137,c=3.141592653589793,a=57.29577951308232,
s=0.017453292519943,t=[0,0];k.canProject=d;k.project=function(a,c){var f=a&&a.spatialReference,e=c&&(null!=c.wkid?c:c.spatialReference);return!d(f,e)?null:f.equals(e)?a.clone():e.isWebMercator?h(a,b,n.WebMercator,!1,a.clone()):4326===e.wkid?h(a,l,n.WGS84,!1,a.clone()):null};k.lngLatToXY=b;k.xyToLngLat=l;k.geographicToWebMercator=function(a,c,f){void 0===c&&(c=!1);void 0===f&&(f=a.clone());return h(a,b,n.WebMercator,c,f)};k.webMercatorToGeographic=function(a,b,c){void 0===b&&(b=!1);void 0===c&&(c=
a.clone());return h(a,l,n.WGS84,b,c)}})},"esri/geometry/support/mathUtils":function(){define(["../Point"],function(e){function k(b,d){var f,c,a;b instanceof e?(f=d.x-b.x,c=d.y-b.y,a=0,null!=b.z&&null!=d.z&&(a=b.z-d.z)):(f=d[0]-b[0],c=d[1]-b[1],a=0,null!=b[2]&&null!=d[2]&&(a=b[2]-d[2]));return Math.sqrt(f*f+c*c+a*a)}function n(b,d,f){var c,a,h;if(b instanceof e)return c=b.x+f*(d.x-b.x),a=b.y+f*(d.y-b.y),null!=b.z&&null!=d.z&&(h=b.z+f*(d.z-b.z)),new e(c,a,h);c=b[0]+f*(d[0]-b[0]);a=b[1]+f*(d[1]-b[1]);
return 2<b.length&&2<d.length?[c,a,b[2]+f*(d[2]-b[2])]:[c,a]}function h(b,d){return 1E-8>Math.abs(b-d)}function d(b,d,f,c){var a,e=h(b[0],d[0])?1E10:(b[1]-d[1])/(b[0]-d[0]),t=h(f[0],c[0])?1E10:(f[1]-c[1])/(f[0]-c[0]),k=b[1]-e*b[0],u=f[1]-t*f[0];if(h(e,t)){if(h(k,u)){if(h(b[0],d[0]))if(Math.min(b[1],d[1])<Math.max(f[1],c[1])||Math.max(b[1],d[1])>Math.min(f[1],c[1]))b=(b[1]+d[1]+f[1]+c[1]-Math.min(b[1],d[1],f[1],c[1])-Math.max(b[1],d[1],f[1],c[1]))/2,a=(b-k)/e;else return null;else if(Math.min(b[0],
d[0])<Math.max(f[0],c[0])||Math.max(b[0],d[0])>Math.min(f[0],c[0]))a=(b[0]+d[0]+f[0]+c[0]-Math.min(b[0],d[0],f[0],c[0])-Math.max(b[0],d[0],f[0],c[0]))/2,b=e*a+k;else return null;return[a,b]}return null}h(e,1E10)?(a=b[0],b=t*a+u):h(t,1E10)?(a=f[0],b=e*a+k):(a=-(k-u)/(e-t),b=b[1]===d[1]?b[1]:f[1]===c[1]?f[1]:e*a+k);return[a,b]}return{getLength:k,_getLength:function(b,d){var f=d[0]-b[0],c=d[1]-b[1];return Math.sqrt(f*f+c*c)},getPointOnLine:n,getMidpoint:function(b,d){return n(b,d,0.5)},_equals:h,_getLineIntersection:d,
getLineIntersection:function(b,h,f,c,a){(b=d([b.x,b.y],[h.x,h.y],[f.x,f.y],[c.x,c.y]))&&(b=new e(b[0],b[1],a));return b},_getLineIntersection2:function(b,d){var f=b[0],c=b[1],a=d[0],e=d[1],h=f[0],f=f[1],k=c[0],c=c[1],u=a[0],q=a[1],a=e[0]-u,u=h-u,r=k-h,e=e[1]-q,q=f-q,m=c-f,w=e*r-a*m;if(0===w)return!1;a=(a*q-e*u)/w;u=(r*q-m*u)/w;return 0<=a&&1>=a&&0<=u&&1>=u?[h+a*(k-h),f+a*(c-f)]:!1},_pointLineDistance:function(b,d){var f=d[0],c=d[1],a=f[0],e=f[1],f=b[0],h=b[1],k=c[0]-a,u=c[1]-e,q=f-a,r=h-e,c=Math.sqrt,
m=Math.pow,w=c(m(k,2)+m(u,2)),q=(q*k+r*u)/(w*w),e=e+q*u;return c(m(f-(a+q*k),2)+m(h-e,2))},getPathLength:function(b){for(var d=0,f=b.length,c=0;c<f-1;++c)d+=k(b[c],b[c+1]);return d},getPointOnPath:function(b,d){if(0>=d)return b[0];for(var f=0,c=b.length,a=0;a<c-1;++a){var e=k(b[a],b[a+1]);if(d-f<e)return n(b[a],b[a+1],(d-f)/e);f+=e}return b[c-1]}}})},"esri/support/basemapUtils":function(){define("require exports ./basemapDefinitions ../core/accessorSupport/ensureType ../core/urlUtils ../core/Logger ../Basemap".split(" "),
function(e,k,n,h,d,b,l){function f(a,b){var g;if("string"===typeof a){if(!(a in n))return g=Object.keys(n).map(function(g){return'"'+g+'"'}).join(", "),m.warn("Unable to find basemap definition for: "+a+". Try one of these: "+g),null;b&&(g=b[a]);g||(g=l.fromId(a),b&&(b[a]=g))}else g=h.default(l,a);return g}function c(a,b){return a.map(function(g){return b.find(function(a){var b=s(g);a=s(a);return b.type===a.type&&b.url===a.url})||g})}function a(a){return!a?null:!a.loaded&&a.resourceInfo?t(a.resourceInfo):
{baseLayers:(Array.isArray(a.baseLayers)?a.baseLayers:a.baseLayers.toArray()).map(s),referenceLayers:(Array.isArray(a.referenceLayers)?a.referenceLayers:a.referenceLayers.toArray()).map(s)}}function s(a){return{type:a.type,url:r(a.urlTemplate||a.url||a.styleUrl)}}function t(a){return!a?null:{baseLayers:v(a.baseMapLayers.filter(function(a){return!a.isReference})),referenceLayers:v(a.baseMapLayers.filter(function(a){return a.isReference}))}}function v(a){return a.map(function(a){var g;switch(a.layerType){case "VectorTileLayer":g=
"vector-tile";break;case "ArcGISTiledMapServiceLayer":g="tile";break;default:g="unknown"}return{type:g,url:r(a.templateUrl||a.urlTemplate||a.styleUrl||a.url)}})}function u(a,b,g){return null!=a!==(null!=b)?"not-equal":!a?"equal":!q(a.baseLayers,b.baseLayers)?"not-equal":q(a.referenceLayers,b.referenceLayers)?"equal":g.mustMatchReferences?"not-equal":"base-layers-equal"}function q(a,b){return a.length!==b.length?!1:!a.some(function(g){return!b.some(function(a){return g.type===a.type&&g.url===a.url})})}
function r(a){return a?d.normalize(a).replace(/^\s*https?:/i,"").toLowerCase():""}var m=b.getLogger("esri.Basemap");k.createCache=function(){return{}};k.ensureType=f;k.clonePreservingTiledLayers=function(a,b){void 0===b&&(b=null);var g=f(a);if(!g)return null;g=new l({id:g.id,title:g.title,baseLayers:g.baseLayers.slice(),referenceLayers:g.referenceLayers.slice()});b&&(g.baseLayers=c(g.baseLayers,b.baseLayers),g.referenceLayers=c(g.referenceLayers,b.referenceLayers));return g};k.wellKnownBasemapId=
function(b){var c=null;b=a(b);for(var g in n){var p=t(n[g]),p=u(b,p,{mustMatchReferences:!1});if("equal"===p){c=g;break}else"base-layers-equal"===p&&(c=g)}return c};k.contentEquals=function(b,c){if(b===c)return!0;var g=a(b),p=a(c);return"equal"===u(g,p,{mustMatchReferences:!0})}})},"esri/support/basemapDefinitions":function(){define(["require","exports","dojo/i18n!../nls/basemaps"],function(e,k,n){return{streets:{id:"streets",title:n.streets,thumbnailUrl:e.toUrl("../images/basemap/streets.jpg"),baseMapLayers:[{id:"streets-base-layer",
url:"//services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Street Map",showLegend:!1,visibility:!0,opacity:1}]},satellite:{id:"satellite",title:n.satellite,thumbnailUrl:e.toUrl("../images/basemap/satellite.jpg"),baseMapLayers:[{id:"satellite-base-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Imagery",showLegend:!1,visibility:!0,opacity:1}]},
hybrid:{id:"hybrid",title:n.hybrid,thumbnailUrl:e.toUrl("../images/basemap/hybrid.jpg"),baseMapLayers:[{id:"hybrid-base-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Imagery",showLegend:!1,visibility:!0,opacity:1},{id:"hybrid-reference-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Boundaries and Places",
isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},terrain:{id:"terrain",title:n.terrain,thumbnailUrl:e.toUrl("../images/basemap/terrain.jpg"),baseMapLayers:[{id:"terrain-base-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Terrain Base",showLegend:!1,visibility:!0,opacity:1},{id:"terrain-reference-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer",
layerType:"ArcGISTiledMapServiceLayer",title:"World Reference Overlay",isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},topo:{id:"topo",title:n.topo,thumbnailUrl:e.toUrl("../images/basemap/topo.jpg"),baseMapLayers:[{id:"topo-base-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Topo Map",showLegend:!1,visibility:!0,opacity:1}]},gray:{id:"gray",title:n.gray,thumbnailUrl:e.toUrl("../images/basemap/gray.jpg"),
baseMapLayers:[{id:"gray-base-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Light Gray Base",showLegend:!1,visibility:!0,opacity:1},{id:"gray-reference-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Reference/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Light Gray Reference",isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},"dark-gray":{id:"dark-gray",
title:n["dark-gray"],thumbnailUrl:e.toUrl("../images/basemap/dark-gray.jpg"),baseMapLayers:[{id:"dark-gray-base-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Dark Gray Base",showLegend:!1,visibility:!0,opacity:1},{id:"dark-gray-reference-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Reference/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Dark Gray Reference",
isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},oceans:{id:"oceans",title:n.oceans,thumbnailUrl:e.toUrl("../images/basemap/oceans.jpg"),baseMapLayers:[{id:"oceans-base-layer",url:"//services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer",layerType:"ArcGISTiledMapServiceLayer",title:"World Ocean Base",showLegend:!1,visibility:!0,opacity:1},{id:"oceans-reference-layer",url:"//services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Reference/MapServer",layerType:"ArcGISTiledMapServiceLayer",
title:"World Ocean Reference",isReference:!0,showLegend:!1,visibility:!0,opacity:1}]},"national-geographic":{id:"national-geographic",title:n["national-geographic"],thumbnailUrl:e.toUrl("../images/basemap/national-geographic.jpg"),baseMapLayers:[{id:"national-geographic-base-layer",url:"//services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer",title:"NatGeo World Map",showLegend:!1,layerType:"ArcGISTiledMapServiceLayer",visibility:!0,opacity:1}]},osm:{id:"osm",title:n.osm,thumbnailUrl:e.toUrl("../images/basemap/osm.jpg"),
baseMapLayers:[{id:"osm-base-layer",layerType:"OpenStreetMap",title:"Open Street Map",showLegend:!1,visibility:!0,opacity:1}]},"dark-gray-vector":{id:"dark-gray-vector",title:n["dark-gray"],thumbnailUrl:e.toUrl("../images/basemap/dark-gray.jpg"),baseMapLayers:[{id:"dark-gray-base-layer",styleUrl:"//www.arcgis.com/sharing/rest/content/items/850db44b9eb845d3bd42b19e8aa7a024/resources/styles/root.json",layerType:"VectorTileLayer",title:"World Dark Gray",visibility:!0,opacity:1}]},"gray-vector":{id:"gray-vector",
title:n.gray,thumbnailUrl:e.toUrl("../images/basemap/gray.jpg"),baseMapLayers:[{id:"gray-base-layer",styleUrl:"//www.arcgis.com/sharing/rest/content/items/0e02e6f86d02455091796eaae811d9b5/resources/styles/root.json",layerType:"VectorTileLayer",title:"World Light Gray",visibility:!0,opacity:1}]},"streets-vector":{id:"streets-vector",title:n.streets,thumbnailUrl:e.toUrl("../images/basemap/streets.jpg"),baseMapLayers:[{id:"streets-vector-base-layer",styleUrl:"//www.arcgis.com/sharing/rest/content/items/4e1133c28ac04cca97693cf336cd49ad/resources/styles/root.json",
layerType:"VectorTileLayer",title:"World Streets",visibility:!0,opacity:1}]},"topo-vector":{id:"topo-vector",title:n.topo,thumbnailUrl:e.toUrl("../images/basemap/topo.jpg"),baseMapLayers:[{id:"topo-vector-base-layer",styleUrl:"//www.arcgis.com/sharing/rest/content/items/6f65bc1351b7411588a8cb43fe23dad7/resources/styles/root.json",layerType:"VectorTileLayer",title:"World Topo",visibility:!0,opacity:1}]},"streets-night-vector":{id:"streets-night-vector",title:n["streets-night-vector"],thumbnailUrl:e.toUrl("../images/basemap/streets-night.jpg"),
baseMapLayers:[{id:"streets-night-vector-base-layer",styleUrl:"//www.arcgis.com/sharing/rest/content/items/bf79e422e9454565ae0cbe9553cf6471/resources/styles/root.json",layerType:"VectorTileLayer",title:"World Streets Night",visibility:!0,opacity:1}]},"streets-relief-vector":{id:"streets-relief-vector",title:n["streets-relief-vector"],thumbnailUrl:e.toUrl("../images/basemap/streets-relief.jpg"),baseMapLayers:[{id:"streets-relief-vector-base-layer",url:"//services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer",
layerType:"ArcGISTiledMapServiceLayer",title:"World Streets Relief Base",showLegend:!1,visibility:!0,opacity:1},{id:"streets-relief-vector-reference-layer",styleUrl:"//www.arcgis.com/sharing/rest/content/items/2e063e709e3446459f8538ed6743f879/resources/styles/root.json",title:"World Streets Relief Reference",layerType:"VectorTileLayer",showLegend:!1,visibility:!0,opacity:1}]},"streets-navigation-vector":{id:"streets-navigation-vector",title:n["streets-navigation-vector"],thumbnailUrl:e.toUrl("../images/basemap/streets-navigation.jpg"),
baseMapLayers:[{id:"streets-navigation-vector-base-layer",styleUrl:"//www.arcgis.com/sharing/rest/content/items/dcbbba0edf094eaa81af19298b9c6247/resources/styles/root.json",layerType:"VectorTileLayer",title:"World Streets Navigation",visibility:!0,opacity:1}]}}})},"esri/Basemap":function(){define("require exports ./core/tsSupport/declareExtendsHelper ./core/tsSupport/decorateHelper ./core/accessorSupport/decorators dojo/_base/lang ./support/basemapDefinitions ./core/Collection ./core/collectionUtils ./core/Evented ./core/JSONSupport ./core/Loadable ./core/promiseUtils ./core/requireUtils ./core/urlUtils ./core/Logger ./portal/Portal ./portal/PortalItem ./layers/Layer".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w,x){var g=0,p=f.ofType(x),z=r.getLogger("esri.Basemap");return function(a){function r(b){a.call(this);this.thumbnailUrl=this.resourceInfo=this.portalItem=this.id=null;this.title="Basemap";this.id=Date.now().toString(16)+"-basemap-"+g++;this.baseLayers=new f;this.referenceLayers=new f;var p=function(g){"elevation"===g.type&&z.error("Layer '"+g.title+", id:"+g.id+"' of type '"+g.type+"' is not supported as a basemap layer and will therefore be ignored.")};
this.baseLayers.on("after-add",function(g){return p(g.item)});this.referenceLayers.on("after-add",function(g){return p(g.item)})}n(r,a);r.prototype.initialize=function(){var g=this;this.otherwise(function(a){z.error("#load()","Failed to load basemap (title: '"+g.title+"', id: '"+g.id+"')",a)});this.resourceInfo&&this.read(this.resourceInfo)};Object.defineProperty(r.prototype,"baseLayers",{set:function(g){this._set("baseLayers",c.referenceSetter(g,this._get("baseLayers"),p))},enumerable:!0,configurable:!0});
r.prototype.writeBaseLayers=function(g,a,p){var c=[];if(!g)return c;p=b.mixin({},p,{layerContainerType:"basemap"});this.baseLayers.forEach(function(g){if(g.write){var a={};g.write(a,p)&&c.push(a)}});this.referenceLayers.forEach(function(g){if(g.write){var a={isReference:!0};g.write(a,p)&&c.push(a)}});a.baseMapLayers=c};Object.defineProperty(r.prototype,"referenceLayers",{set:function(g){this._set("referenceLayers",c.referenceSetter(g,this._get("referenceLayers"),p))},enumerable:!0,configurable:!0});
r.prototype.writeTitle=function(g,a){a.title=g||"Basemap"};r.prototype.load=function(){this.addResolvingPromise(this._loadFromSource());return this};r.prototype.clone=function(){var g={id:this.id,title:this.title};this.resourceInfo||this.portalItem?(g.portalItem=this.portalItem,g.resourceInfo=this.resourceInfo):(g.baseLayers=this.baseLayers.slice(),g.referenceLayers=this.referenceLayers.slice());return new r(g)};r.prototype.read=function(g,a){a&&a.origin&&(this._layerOrigin=a.origin);a&&a.portal&&
(this._layerPortal=a.portal);return this.inherited(arguments)};r.prototype.write=function(g,a){g=g||{};this.inherited(arguments,[g,a]);!this.loaded&&(this.resourceInfo&&this.resourceInfo.baseMapLayers)&&(g.baseMapLayers=this.resourceInfo.baseMapLayers.map(function(g){g=b.clone(g);g.url&&q.isProtocolRelative(g.url)&&(g.url="https:"+g.url);g.templateUrl&&q.isProtocolRelative(g.templateUrl)&&(g.templateUrl="https:"+g.templateUrl);return g}));return g};r.prototype.toJSON=function(){return this.write(null,
{origin:"web-map"})};r.prototype._loadFromSource=function(){var g=this.resourceInfo,a=this.portalItem;return g?this._loadFromJSON(g):a?this._loadFromItem(a):v.resolve(null)};r.prototype._loadFromJSON=function(g,a){var b=this,p=this.portalItem&&this.portalItem.portal||this._layerPortal||null;return u.when(e,"./portal/support/layersCreator").then(function(c){var f=[];if(g.baseMapLayers&&Array.isArray(g.baseMapLayers)){var d={context:{origin:b._layerOrigin||"web-map",layerContainerType:"basemap",url:a,
portal:p},defaultLayerType:"DefaultTileLayer"},m=c.populateOperationalLayers(b.baseLayers,g.baseMapLayers.filter(function(g){return!g.isReference}),d);f.push.apply(f,m);c=c.populateOperationalLayers(b.referenceLayers,g.baseMapLayers.filter(function(g){return g.isReference}),d);f.push.apply(f,c)}return v.eachAlways(f)}).then(function(){})};r.prototype._loadFromItem=function(g){var a=this,b;return g.load().then(function(g){return g.fetchData()}).then(function(p){var c=q.urlToObject(g.itemUrl);b={origin:"portal-item",
portal:g.portal||m.getDefault(),url:c};a.resourceInfo=p.baseMap;a.read(a.resourceInfo,b);a.read({title:g.title,thumbnailUrl:g.thumbnailUrl},b);return a._loadFromJSON(a.resourceInfo,c)})};r.fromJSON=function(g){return!g?null:new r({resourceInfo:g})};r.fromId=function(g){return(g=l[g])?r.fromJSON(g):null};h([d.property({type:p,json:{writeAlways:!0}}),d.cast(c.castForReferenceSetter)],r.prototype,"baseLayers",null);h([d.write("baseLayers")],r.prototype,"writeBaseLayers",null);h([d.property({json:{origins:{webScene:{writable:!0}}}})],
r.prototype,"id",void 0);h([d.property({type:w})],r.prototype,"portalItem",void 0);h([d.property({type:p}),d.cast(c.castForReferenceSetter)],r.prototype,"referenceLayers",null);h([d.property()],r.prototype,"resourceInfo",void 0);h([d.property()],r.prototype,"thumbnailUrl",void 0);h([d.property()],r.prototype,"title",void 0);h([d.write("title")],r.prototype,"writeTitle",null);return r=h([d.subclass("esri.Basemap")],r)}(d.declared(s,a,t))})},"esri/portal/Portal":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/tsSupport/paramHelper ../core/accessorSupport/decorators ../core/Error ../config ../identity/IdentityManager ../request ../geometry/Extent ../core/JSONSupport ../core/Loadable ./PortalQueryParams ./PortalQueryResult ./PortalUser ../core/promiseUtils ../core/requireUtils dojo/promise/all dojo/_base/kernel dojo/_base/lang".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w,x,g,p){var z;return function(t){function k(g){t.call(this);this.access=null;this.allSSL=!1;this.authMode=k.AUTH_MODE_AUTO;this.bingKey=this.authorizedCrossOriginDomains=null;this.canSignInIDP=this.canSignInArcGIS=this.canSharePublic=this.canShareBingPublic=this.canSearchPublic=this.canProvisionDirectPurchase=this.canListPreProvisionedItems=this.canListData=this.canListApps=!1;this.colorSetsGroupQuery=null;this.commentsEnabled=!1;this.ipCntryCode=this.id=
this.httpsPort=this.httpPort=this.homePageFeaturedContentCount=this.homePageFeaturedContent=this.livingAtlasGroupQuery=this.galleryTemplatesGroupQuery=this.featuredItemsGroupQuery=this.featuredGroups=this.description=this.defaultExtent=this.defaultBasemap=this.customBaseUrl=this.culture=this.created=null;this.isPortal=!1;this.rotatorPanels=this.region=this.portalProperties=this.portalMode=this.portalHostname=this.name=this.modified=this.maxTokenExpirationMinutes=this.layerTemplatesGroupQuery=null;
this.supportsHostedServices=this.showHomePageDescription=!1;this.units=this.templatesGroupQuery=this.symbolSetsGroupQuery=null;this.url=f.portalUrl;this.user=this.urlKey=null;this.useStandardizedQuery=!1}n(k,t);k.prototype.normalizeCtorArgs=function(g){return"string"===typeof g?{url:g}:g};k.prototype.initialize=function(){var g=this;this._esriId_credentialCreateHandle=c.on("credential-create",function(){g.loaded&&(!g.credential&&g.authMode===k.AUTH_MODE_AUTO)&&(g.credential=c.findCredential(g.restUrl),
g.credential&&g._fetchSelf().then(function(a){g.read(a)}))})};k.prototype.destroy=function(){this._esriId_credentialCreateHandle&&(this._esriId_credentialCreateHandle.remove(),this._esriId_credentialCreateHandle=null)};k.prototype.readDefaultBasemap=function(g){return g?(g=z.fromJSON(g),g.portalItem={portal:this},g):null};Object.defineProperty(k.prototype,"extraQuery",{get:function(){return this.id&&!this.canSearchPublic?" AND orgid:"+this.id:null},enumerable:!0,configurable:!0});Object.defineProperty(k.prototype,
"isOrganization",{get:function(){return!!this.access},enumerable:!0,configurable:!0});Object.defineProperty(k.prototype,"restUrl",{get:function(){var g=this.url;if(g)var a=g.indexOf("/sharing"),g=0<a?g.substring(0,a):this.url.replace(/\/+$/,""),g=g+"/sharing/rest";return g},enumerable:!0,configurable:!0});Object.defineProperty(k.prototype,"thumbnailUrl",{get:function(){var g=this.restUrl,a=this.thumbnail;return g&&a?this._normalizeSSL(g+"/portals/self/resources/"+a):null},enumerable:!0,configurable:!0});
k.prototype.readUser=function(g){var a=null;g&&(a=r.fromJSON(g),a.portal=this);return a};k.prototype.load=function(){var g=this,a=m.resolve().then(function(){return g.authMode===k.AUTH_MODE_IMMEDIATE?c.getCredential(g.restUrl):g.authMode===k.AUTH_MODE_AUTO?c.checkSignInStatus(g.restUrl).otherwise(function(){return null}):null}).then(function(a){g.credential=a;return w.when(e,"../Basemap")}).then(function(g){z=g}).then(function(){return g._fetchSelf()}).then(function(a){g.read(a)});this.addResolvingPromise(a);
return this};k.prototype.fetchBasemaps=function(){var g=new u;g.query=this.basemapGalleryGroupQuery;g.disableExtraQuery=!0;return this.queryGroups(g).then(function(a){g.num=100;g.query='type:"Web Map" -type:"Web Application"';return a.total?(a=a.results[0],g.sortField=a.sortField||"name",g.sortOrder=a.sortOrder||"desc",a.queryItems(g)):null}).then(function(g){return g&&g.total?g.results.filter(function(g){return"Web Map"===g.type}).map(function(g){return new z({portalItem:g})}):[]})};k.prototype.fetchFeaturedGroups=
function(){var g=this.featuredGroups,a=new u;a.num=100;a.sortField="title";if(g&&g.length){for(var b=[],p=0;p<g.length;p++){var c=g[p];b.push('(title:"'+c.title+'" AND owner:'+c.owner+")")}a.query=b.join(" OR ");return this.queryGroups(a).then(function(g){return g.results})}return m.resolve([])};k.getDefault=function(){k._default||(k._default=new k);return k._default};k.prototype.queryGroups=function(g){return this._queryPortal("/community/groups",g,"PortalGroup")};k.prototype.queryItems=function(g){return this._queryPortal("/search",
g,"PortalItem")};k.prototype.queryUsers=function(g){g.sortField||(g.sortField="username");return this._queryPortal("/community/users",g,"PortalUser")};k.prototype.toJSON=function(){throw new l("internal:not-yet-implemented","Portal.toJSON is not yet implemented");};k.prototype._fetchSelf=function(){return this._request(this.restUrl+"/portals/self",{query:{culture:g.locale}})};k.prototype._queryPortal=function(g,a,b){var p=this,c=function(b){return p._request(p.restUrl+g,a.toRequestOptions(p)).then(function(g){var c=
a.clone();c.start=g.nextStart;return new q({nextQueryParams:c,queryParams:a,total:g.total,results:k._resultsToTypedArray(b,{portal:p},g)})}).then(function(g){return x(g.results).always(function(){return g})})};return b?w.when(e,"./"+b).then(function(g){return c(g)}):c()};k.prototype._normalizeSSL=function(g){var a=this.allSSL||window&&"https:"===window.location.protocol;if(this.isPortal){var b=k._getLocation(g);if(-1<this.portalHostname.toLowerCase().indexOf(b.hostname.toLowerCase())&&b.port&&"80"!==
b.port&&"443"!==b.port)return g=b.pathname,0!==g.indexOf("/")&&(g="/"+g),a?"https://"+b.hostname+(this.httpsPort&&443!==this.httpsPort?":"+this.httpsPort:"")+g+b.search:"http://"+b.hostname+(this.httpPort&&80!==this.httpPort?":"+this.httpPort:"")+g+b.search}return a?g.replace("http:","https:"):g};k.prototype._normalizeUrl=function(g){var a=this.credential&&this.credential.token;return this._normalizeSSL(a?g+(-1<g.indexOf("?")?"\x26":"?")+"token\x3d"+a:g)};k.prototype._requestToTypedArray=function(g,
a,b){var p=this,c=function(b){return p._request(g,a).then(function(g){var a=k._resultsToTypedArray(b,{portal:p},g);return x(a).always(function(){return a})})};return b?w.when(e,"./"+b).then(function(g){return c(g)}):c()};k.prototype._request=function(g,b){var c={f:"json"},f={disableIdentityLookup:this.authMode===k.AUTH_MODE_ANONYMOUS},d;b&&(p.mixin(c,b.query),d=b.responseType,f.method=b.method);return a(this._normalizeSSL(g),p.mixin({callbackParamName:"callback",query:c,responseType:d,timeout:0},
f)).then(function(g){return g.data})};k._getLocation=function(g){var a=document.createElement("a");a.href=g;return{protocol:a.protocol,hostname:a.hostname,port:a.port,pathname:a.pathname,search:a.search,hash:a.hash,host:a.host}};k._resultsToTypedArray=function(g,a,b){if(b){if(b=b.listings||b.notifications||b.userInvitations||b.tags||b.items||b.groups||b.comments||b.provisions||b.results||b.relatedItems||b,g||a)b=b.map(function(b){b=p.mixin(g?g.fromJSON(b):b,a);"function"===typeof b.load&&b.load();
return b})}else b=[];return b};k.AUTH_MODE_ANONYMOUS="anonymous";k.AUTH_MODE_AUTO="auto";k.AUTH_MODE_IMMEDIATE="immediate";h([b.property()],k.prototype,"access",void 0);h([b.property()],k.prototype,"allSSL",void 0);h([b.property()],k.prototype,"authMode",void 0);h([b.property()],k.prototype,"authorizedCrossOriginDomains",void 0);h([b.property()],k.prototype,"basemapGalleryGroupQuery",void 0);h([b.property()],k.prototype,"bingKey",void 0);h([b.property()],k.prototype,"canListApps",void 0);h([b.property()],
k.prototype,"canListData",void 0);h([b.property()],k.prototype,"canListPreProvisionedItems",void 0);h([b.property()],k.prototype,"canProvisionDirectPurchase",void 0);h([b.property()],k.prototype,"canSearchPublic",void 0);h([b.property()],k.prototype,"canShareBingPublic",void 0);h([b.property()],k.prototype,"canSharePublic",void 0);h([b.property()],k.prototype,"canSignInArcGIS",void 0);h([b.property()],k.prototype,"canSignInIDP",void 0);h([b.property()],k.prototype,"colorSetsGroupQuery",void 0);h([b.property()],
k.prototype,"commentsEnabled",void 0);h([b.property({type:Date})],k.prototype,"created",void 0);h([b.property()],k.prototype,"credential",void 0);h([b.property()],k.prototype,"culture",void 0);h([b.property()],k.prototype,"customBaseUrl",void 0);h([b.property()],k.prototype,"defaultBasemap",void 0);h([b.read("defaultBasemap")],k.prototype,"readDefaultBasemap",null);h([b.property({type:s})],k.prototype,"defaultExtent",void 0);h([b.property()],k.prototype,"description",void 0);h([b.property({dependsOn:["id",
"canSearchPublic"],readOnly:!0})],k.prototype,"extraQuery",null);h([b.property()],k.prototype,"featuredGroups",void 0);h([b.property()],k.prototype,"featuredItemsGroupQuery",void 0);h([b.property()],k.prototype,"galleryTemplatesGroupQuery",void 0);h([b.property()],k.prototype,"livingAtlasGroupQuery",void 0);h([b.property()],k.prototype,"helpBase",void 0);h([b.property()],k.prototype,"helperServices",void 0);h([b.property()],k.prototype,"helpMap",void 0);h([b.property()],k.prototype,"homePageFeaturedContent",
void 0);h([b.property()],k.prototype,"homePageFeaturedContentCount",void 0);h([b.property()],k.prototype,"httpPort",void 0);h([b.property()],k.prototype,"httpsPort",void 0);h([b.property()],k.prototype,"id",void 0);h([b.property()],k.prototype,"ipCntryCode",void 0);h([b.property({dependsOn:["access"],readOnly:!0})],k.prototype,"isOrganization",null);h([b.property()],k.prototype,"isPortal",void 0);h([b.property()],k.prototype,"layerTemplatesGroupQuery",void 0);h([b.property()],k.prototype,"maxTokenExpirationMinutes",
void 0);h([b.property({type:Date})],k.prototype,"modified",void 0);h([b.property()],k.prototype,"name",void 0);h([b.property()],k.prototype,"portalHostname",void 0);h([b.property()],k.prototype,"portalMode",void 0);h([b.property()],k.prototype,"portalProperties",void 0);h([b.property()],k.prototype,"region",void 0);h([b.property({dependsOn:["url"],readOnly:!0})],k.prototype,"restUrl",null);h([b.property()],k.prototype,"rotatorPanels",void 0);h([b.property()],k.prototype,"showHomePageDescription",
void 0);h([b.property()],k.prototype,"staticImagesUrl",void 0);h([b.property()],k.prototype,"stylesGroupQuery",void 0);h([b.property()],k.prototype,"supportsHostedServices",void 0);h([b.property()],k.prototype,"symbolSetsGroupQuery",void 0);h([b.property()],k.prototype,"templatesGroupQuery",void 0);h([b.property()],k.prototype,"thumbnail",void 0);h([b.property({dependsOn:["restUrl","thumbnail"],readOnly:!0})],k.prototype,"thumbnailUrl",null);h([b.property()],k.prototype,"units",void 0);h([b.property()],
k.prototype,"url",void 0);h([b.property()],k.prototype,"urlKey",void 0);h([b.property()],k.prototype,"user",void 0);h([b.read("user")],k.prototype,"readUser",null);h([b.property()],k.prototype,"useStandardizedQuery",void 0);h([d(1,b.cast(u))],k.prototype,"_queryPortal",null);return k=h([b.subclass("esri.portal.Portal")],k)}(b.declared(t,v))})},"esri/core/tsSupport/paramHelper":function(){define([],function(){return function(e,k){return function(n,h){k(n,h,e)}}})},"esri/identity/IdentityManager":function(){define(["./IdentityManagerDialog",
"../kernel","./OAuthSignInHandler","../core/declare"],function(e,k,n,h){e=new e;k.id=h.safeMixin(e,n);return k.id})},"esri/identity/IdentityManagerDialog":function(){define("dojo/_base/kernel ../core/declare dojo/_base/config dojo/Deferred dojo/_base/lang dojo/dom-attr dojo/keys dijit/registry dijit/Dialog ../kernel ../core/lang ../core/domUtils ./Credential ./IdentityManagerBase dojo/i18n!./nls/identity dojo/query dijit/form/Button dijit/form/Form dijit/form/ValidationTextBox".split(" "),function(e,
k,n,h,d,b,l,f,c,a,s,t,v,u,q){return k([u],{declaredClass:"esri.IdentityManager",constructor:function(a){d.mixin(this,a)},_dialogContent:"\x3cdiv data-dojo-type\x3d'dijit.form.Form' data-dojo-props\x3d'\"class\":\"esriIdForm\"'\x3e\x3cdiv class\x3d'dijitDialogPaneContentArea'\x3e\x3cdiv style\x3d'padding-bottom: 5px; word-wrap: break-word;'\x3e{info}\x3c/div\x3e\x3cdiv style\x3d'margin: 0px; padding: 0px; height: 10px;'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriErrorMsg' style\x3d'display: none; color: white; background-color: #D46464; text-align: center; padding-top: 3px; padding-bottom: 3px;'\x3e{invalidUser}\x3c/div\x3e\x3cdiv style\x3d'margin: 0px; padding: 0px; height: 10px;'\x3e\x3c/div\x3e\x3ctable style\x3d'width: 100%;'\x3e\x3ctr\x3e\x3ctd\x3e\x3clabel\x3e{lblUser}\x3c/label\x3e\x3cbr/\x3e\x3cinput data-dojo-type\x3d'dijit.form.ValidationTextBox' data-dojo-props\x3d'type:\"text\", \"class\":\"esriIdUser\", required:true, trim:true, style:\"width: 100%;\", autocapitalize:\"none\", autocorrect:\"off\", spellcheck:false' /\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e\x3clabel\x3e{lblPwd}\x3c/label\x3e\x3cbr/\x3e\x3cinput data-dojo-type\x3d'dijit.form.ValidationTextBox' data-dojo-props\x3d'type:\"password\", \"class\":\"esriIdPwd\", required:true, style:\"width: 100%;\"' /\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e\x3cdiv class\x3d'dijitDialogPaneActionBar'\x3e\x3cbutton data-dojo-type\x3d'dijit.form.Button' data-dojo-props\x3d'type:\"button\", \"class\":\"esriIdSubmit\"'\x3e{lblOk}\x3c/button\x3e\x3cbutton data-dojo-type\x3d'dijit.form.Button' data-dojo-props\x3d'type:\"button\", \"class\":\"esriIdCancel\"'\x3e{lblCancel}\x3c/button\x3e\x3c/div\x3e\x3c/div\x3e",
signIn:function(a,c,f){this._nls||(this._nls=q);this._loginDialog||(this._loginDialog=this.dialog=this._createLoginDialog(),this.emit("dialog-create"));var d=this._loginDialog,g=f&&f.error,p=f&&f.token,e=new h(function(){d.onCancel()});if(d.open)return a=Error("BUSY"),a.code="IdentityManager.1",a.log=n.isDebug,e.reject(a),e.promise;t.hide(d.errMsg_);g&&(403==g.code&&p)&&(b.set(d.errMsg_,"innerHTML",this._nls.forbidden),t.show(d.errMsg_));d.dfd_=e;d.serverInfo_=c;d.resUrl_=a;d.admin_=f&&f.isAdmin;
b.set(d.resLink_,{title:a,innerHTML:"("+(this.getResourceName(a)||this._nls.lblItem)+")"});b.set(d.serverLink_,{title:c.server,innerHTML:(-1!==c.server.toLowerCase().indexOf("arcgis.com")?"ArcGIS Online":c.server)+" "});d.txtPwd_.set("value","");d.show();return e.promise},_createLoginDialog:function(){var d=this._nls,m=s.substitute(d,this._dialogContent),m=s.substitute({resource:"\x3cspan class\x3d'resLink' style\x3d'word-wrap: break-word;'\x3e\x3c/span\x3e",server:"\x3cspan class\x3d'serverLink' style\x3d'word-wrap: break-word;'\x3e\x3c/span\x3e"},
m),q=new c({title:d.title,content:m,"class":" esri-widget esriSignInDialog esriIdentityDialog",style:"width: 18em;",esriIdMgr_:this,onShow:function(){this.domNode.classList.add("esriIdentityDialog--visible")},onHide:function(){this.domNode.classList.remove("esriIdentityDialog--visible")},keypressed_:function(a){a.charOrCode===l.ENTER&&this.execute_()},execute_:function(){var f=this.txtUser_.get("value"),g=this.txtPwd_.get("value"),p=this.dfd_,m=this;if(this.form_.validate()&&f&&g){this.btnSubmit_.set("label",
d.lblSigning);var e=a.id.findCredential(m.resUrl_,f),q=function(g){m.btnSubmit_.set("label",d.lblOk);m.btnSubmit_.set("disabled",!1);t.hide(m.errMsg_);m.hide();c._DialogLevelManager.hide(m);var a=m.serverInfo_;m.dfd_=m.serverInfo_=m.generateDfd_=m.resUrl_=null;var b,q,h=e,u;g&&(b=g.token,q=s.isDefined(g.expires)?Number(g.expires):null,u=!!g.ssl,h?(h.userId=f,h.token=b,h.expires=q,h.validity=g.validity,h.ssl=u,h.creationTime=(new Date).getTime()):h=new v({userId:f,server:a.server,token:b,expires:q,
ssl:u,isAdmin:m.admin_,validity:g.validity}));p.resolve(h)};e&&!e._enqueued?q():(m.btnSubmit_.set("disabled",!0),m.generateDfd_=a.id.generateToken(this.serverInfo_,{username:f,password:g},{isAdmin:this.admin_}).then(q).then(null,function(g){m.btnSubmit_.set("disabled",!1);m.generateDfd_=null;m.btnSubmit_.set("label",d.lblOk);b.set(m.errMsg_,"innerHTML",g&&g.code?d.invalidUser:d.noAuthService);t.show(m.errMsg_)}))}},cancel_:function(){q.generateDfd_&&q.generateDfd_.cancel();var a=q.dfd_,g=q.resUrl_,
b=q.serverInfo_;q.btnSubmit_.set("disabled",!1);q.dfd_=q.serverInfo_=q.generateDfd_=q.resUrl_=null;t.hide(q.errMsg_);c._DialogLevelManager.hide(q);q.esriIdMgr_.emit("dialog-cancel",{resourceUrl:g,serverInfo:b});g=Error("ABORTED");g.code="IdentityManager.2";g.log=n.isDebug;a.reject(g)}}),m=q.domNode;q.form_=f.byNode(e.query(".esriIdForm",m)[0]);q.txtUser_=f.byNode(e.query(".esriIdUser",m)[0]);q.txtPwd_=f.byNode(e.query(".esriIdPwd",m)[0]);q.btnSubmit_=f.byNode(e.query(".esriIdSubmit",m)[0]);q.btnCancel_=
f.byNode(e.query(".esriIdCancel",m)[0]);q.resLink_=e.query(".resLink",m)[0];q.serverLink_=e.query(".serverLink",m)[0];q.errMsg_=e.query(".esriErrorMsg",m)[0];q.connect(q.txtUser_,"onKeyPress",q.keypressed_);q.connect(q.txtPwd_,"onKeyPress",q.keypressed_);q.connect(q.btnSubmit_,"onClick",q.execute_);q.connect(q.btnCancel_,"onClick",q.onCancel);q.connect(q,"onCancel",q.cancel_);return q}})})},"dijit/registry":function(){define(["dojo/_base/array","dojo/_base/window","./main"],function(e,k,n){var h=
{},d={},b={length:0,add:function(b){if(d[b.id])throw Error("Tried to register widget with id\x3d\x3d"+b.id+" but that id is already registered");d[b.id]=b;this.length++},remove:function(b){d[b]&&(delete d[b],this.length--)},byId:function(b){return"string"==typeof b?d[b]:b},byNode:function(b){return d[b.getAttribute("widgetId")]},toArray:function(){var b=[],f;for(f in d)b.push(d[f]);return b},getUniqueId:function(b){var f;do f=b+"_"+(b in h?++h[b]:h[b]=0);while(d[f]);return"dijit"==n._scopeName?f:
n._scopeName+"_"+f},findWidgets:function(b,f){function c(b){for(b=b.firstChild;b;b=b.nextSibling)if(1==b.nodeType){var e=b.getAttribute("widgetId");e?(e=d[e])&&a.push(e):b!==f&&c(b)}}var a=[];c(b);return a},_destroyAll:function(){n._curFocus=null;n._prevFocus=null;n._activeStack=[];e.forEach(b.findWidgets(k.body()),function(b){b._destroyed||(b.destroyRecursive?b.destroyRecursive():b.destroy&&b.destroy())})},getEnclosingWidget:function(b){for(;b;){var f=1==b.nodeType&&b.getAttribute("widgetId");if(f)return d[f];
b=b.parentNode}return null},_hash:d};return n.registry=b})},"dijit/main":function(){define(["dojo/_base/kernel"],function(e){return e.dijit})},"dijit/Dialog":function(){define("require dojo/_base/array dojo/aspect dojo/_base/declare dojo/Deferred dojo/dom dojo/dom-class dojo/dom-geometry dojo/dom-style dojo/_base/fx dojo/i18n dojo/keys dojo/_base/lang dojo/on dojo/ready dojo/sniff dojo/window dojo/dnd/Moveable dojo/dnd/TimedMoveable ./focus ./_base/manager ./_Widget ./_TemplatedMixin ./_CssStateMixin ./form/_FormMixin ./_DialogMixin ./DialogUnderlay ./layout/ContentPane ./layout/utils dojo/text!./templates/Dialog.html ./a11yclick dojo/i18n!./nls/common".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w,x,g,p,z,y,C,A,B,K,F,G,P){function Q(){}var H=new d;H.resolve(!0);p=h("dijit._DialogBase"+(r("dojo-bidi")?"_NoBidi":""),[y,A,B,C],{templateString:P,baseClass:"dijitDialog",cssStateNodes:{closeButtonNode:"dijitDialogCloseIcon"},_setTitleAttr:{node:"titleNode",type:"innerHTML"},open:!1,duration:p.defaultDuration,refocus:!0,autofocus:!0,_firstFocusItem:null,_lastFocusItem:null,draggable:!0,_setDraggableAttr:function(g){this._set("draggable",g)},maxRatio:0.9,
closable:!0,_setClosableAttr:function(g){this.closeButtonNode.style.display=g?"":"none";this._set("closable",g)},postMixInProperties:function(){var g=s.getLocalization("dijit","common");v.mixin(this,g);this.inherited(arguments)},postCreate:function(){c.set(this.domNode,{display:"none",position:"absolute"});this.ownerDocumentBody.appendChild(this.domNode);this.inherited(arguments);n.after(this,"onExecute",v.hitch(this,"hide"),!0);n.after(this,"onCancel",v.hitch(this,"hide"),!0);this._modalconnects=
[]},onLoad:function(){this.resize();this._position();this.autofocus&&L.isTop(this)&&(this._getFocusItems(),g.focus(this._firstFocusItem));this.inherited(arguments)},focus:function(){this._getFocusItems();g.focus(this._firstFocusItem)},_endDrag:function(){var g=f.position(this.domNode),a=m.getBox(this.ownerDocument);g.y=Math.min(Math.max(g.y,0),a.h-g.h);g.x=Math.min(Math.max(g.x,0),a.w-g.w);this._relativePosition=g;this._position()},_setup:function(){var g=this.domNode;this.titleBar&&this.draggable?
(this._moveable=new (6==r("ie")?x:w)(g,{handle:this.titleBar}),n.after(this._moveable,"onMoveStop",v.hitch(this,"_endDrag"),!0)):l.add(g,"dijitDialogFixed");this.underlayAttrs={dialogId:this.id,"class":k.map(this["class"].split(/\s/),function(g){return g+"_underlay"}).join(" "),_onKeyDown:v.hitch(this,"_onKey"),ownerDocument:this.ownerDocument}},_size:function(){this.resize()},_position:function(){if(!l.contains(this.ownerDocumentBody,"dojoMove")){var g=this.domNode,a=m.getBox(this.ownerDocument),
b=this._relativePosition,p=f.position(g),d=Math.floor(a.l+(b?Math.min(b.x,a.w-p.w):(a.w-p.w)/2)),a=Math.floor(a.t+(b?Math.min(b.y,a.h-p.h):(a.h-p.h)/2));c.set(g,{left:d+"px",top:a+"px"})}},_onKey:function(a){if(a.keyCode==t.TAB){this._getFocusItems();var b=a.target;this._firstFocusItem==this._lastFocusItem?(a.stopPropagation(),a.preventDefault()):b==this._firstFocusItem&&a.shiftKey?(g.focus(this._lastFocusItem),a.stopPropagation(),a.preventDefault()):b==this._lastFocusItem&&!a.shiftKey&&(g.focus(this._firstFocusItem),
a.stopPropagation(),a.preventDefault())}else this.closable&&a.keyCode==t.ESCAPE&&(this.onCancel(),a.stopPropagation(),a.preventDefault())},show:function(){if(this.open)return H.promise;this._started||this.startup();this._alreadyInitialized||(this._setup(),this._alreadyInitialized=!0);this._fadeOutDeferred&&(this._fadeOutDeferred.cancel(),L.hide(this));var b=m.get(this.ownerDocument);this._modalconnects.push(u(b,"scroll",v.hitch(this,"resize",null)));this._modalconnects.push(u(this.domNode,"keydown",
v.hitch(this,"_onKey")));c.set(this.domNode,{opacity:0,display:""});this._set("open",!0);this._onShow();this.resize();this._position();var p;this._fadeInDeferred=new d(v.hitch(this,function(){p.stop();delete this._fadeInDeferred}));this._fadeInDeferred.then(void 0,Q);b=this._fadeInDeferred.promise;p=a.fadeIn({node:this.domNode,duration:this.duration,beforeBegin:v.hitch(this,function(){L.show(this,this.underlayAttrs)}),onEnd:v.hitch(this,function(){this.autofocus&&L.isTop(this)&&(this._getFocusItems(),
g.focus(this._firstFocusItem));this._fadeInDeferred.resolve(!0);delete this._fadeInDeferred})}).play();return b},hide:function(){if(!this._alreadyInitialized||!this.open)return H.promise;this._fadeInDeferred&&this._fadeInDeferred.cancel();var g;this._fadeOutDeferred=new d(v.hitch(this,function(){g.stop();delete this._fadeOutDeferred}));this._fadeOutDeferred.then(void 0,Q);this._fadeOutDeferred.then(v.hitch(this,"onHide"));var b=this._fadeOutDeferred.promise;g=a.fadeOut({node:this.domNode,duration:this.duration,
onEnd:v.hitch(this,function(){this.domNode.style.display="none";L.hide(this);this._fadeOutDeferred.resolve(!0);delete this._fadeOutDeferred})}).play();this._scrollConnected&&(this._scrollConnected=!1);for(var p;p=this._modalconnects.pop();)p.remove();this._relativePosition&&delete this._relativePosition;this._set("open",!1);return b},resize:function(g){if("none"!=this.domNode.style.display){this._checkIfSingleChild();if(!g){this._shrunk&&(this._singleChild&&"undefined"!=typeof this._singleChildOriginalStyle&&
(this._singleChild.domNode.style.cssText=this._singleChildOriginalStyle,delete this._singleChildOriginalStyle),k.forEach([this.domNode,this.containerNode,this.titleBar,this.actionBarNode],function(g){g&&c.set(g,{position:"static",width:"auto",height:"auto"})}),this.domNode.style.position="absolute");var a=m.getBox(this.ownerDocument);a.w*=this.maxRatio;a.h*=this.maxRatio;var b=f.position(this.domNode);b.w>=a.w||b.h>=a.h?(g={w:Math.min(b.w,a.w),h:Math.min(b.h,a.h)},this._shrunk=!0):this._shrunk=!1}if(g){f.setMarginBox(this.domNode,
g);a=[];this.titleBar&&a.push({domNode:this.titleBar,region:"top"});this.actionBarNode&&a.push({domNode:this.actionBarNode,region:"bottom"});b={domNode:this.containerNode,region:"center"};a.push(b);var p=G.marginBox2contentBox(this.domNode,g);G.layoutChildren(this.domNode,p,a);this._singleChild?(a=G.marginBox2contentBox(this.containerNode,b),this._singleChild.resize({w:a.w,h:a.h})):(this.containerNode.style.overflow="auto",this._layoutChildren())}else this._layoutChildren();!r("touch")&&!g&&this._position()}},
_layoutChildren:function(){k.forEach(this.getChildren(),function(g){g.resize&&g.resize()})},destroy:function(){this._fadeInDeferred&&this._fadeInDeferred.cancel();this._fadeOutDeferred&&this._fadeOutDeferred.cancel();this._moveable&&this._moveable.destroy();for(var g;g=this._modalconnects.pop();)g.remove();L.hide(this);this.inherited(arguments)}});r("dojo-bidi")&&(p=h("dijit._DialogBase",p,{_setTitleAttr:function(g){this._set("title",g);this.titleNode.innerHTML=g;this.applyTextDir(this.titleNode)},
_setTextDirAttr:function(g){this._created&&this.textDir!=g&&(this._set("textDir",g),this.set("title",this.title))}}));var D=h("dijit.Dialog",[F,p],{});D._DialogBase=p;var L=D._DialogLevelManager={_beginZIndex:950,show:function(a,b){E[E.length-1].focus=g.curNode;var p=E[E.length-1].dialog?E[E.length-1].zIndex+2:D._DialogLevelManager._beginZIndex;c.set(a.domNode,"zIndex",p);K.show(b,p-1);E.push({dialog:a,underlayAttrs:b,zIndex:p})},hide:function(g){if(E[E.length-1].dialog==g){E.pop();var a=E[E.length-
1];1==E.length?K.hide():K.show(a.underlayAttrs,a.zIndex-1);if(g.refocus){g=a.focus;if(a.dialog&&(!g||!b.isDescendant(g,a.dialog.domNode)))a.dialog._getFocusItems(),g=a.dialog._firstFocusItem;if(g)try{g.focus()}catch(p){}}}else a=k.indexOf(k.map(E,function(g){return g.dialog}),g),-1!=a&&E.splice(a,1)},isTop:function(g){return E[E.length-1].dialog==g}},E=D._dialogStack=[{dialog:null,focus:null,underlayAttrs:null}];g.watch("curNode",function(g,a,b){g=E[E.length-1].dialog;if(b&&g&&!g._fadeOutDeferred&&
b.ownerDocument==g.ownerDocument){do if(b==g.domNode||l.contains(b,"dijitPopup"))return;while(b=b.parentNode);g.focus()}});r("dijit-legacy-requires")&&q(0,function(){e(["dijit/TooltipDialog"])});return D})},"dojo/_base/fx":function(){define("./kernel ./config ./lang ../Evented ./Color ../aspect ../sniff ../dom ../dom-style".split(" "),function(e,k,n,h,d,b,l,f,c){var a=n.mixin,s={},t=s._Line=function(a,g){this.start=a;this.end=g};t.prototype.getValue=function(a){return(this.end-this.start)*a+this.start};
var v=s.Animation=function(b){a(this,b);n.isArray(this.curve)&&(this.curve=new t(this.curve[0],this.curve[1]))};v.prototype=new h;n.extend(v,{duration:350,repeat:0,rate:20,_percent:0,_startRepeatCount:0,_getStep:function(){var a=this._percent,g=this.easing;return g?g(a):a},_fire:function(a,g){var b=g||[];if(this[a])if(k.debugAtAllCosts)this[a].apply(this,b);else try{this[a].apply(this,b)}catch(c){console.error("exception in animation handler for:",a),console.error(c)}return this},play:function(a,
g){this._delayTimer&&this._clearTimer();if(g)this._stopTimer(),this._active=this._paused=!1,this._percent=0;else if(this._active&&!this._paused)return this;this._fire("beforeBegin",[this.node]);var b=a||this.delay,c=n.hitch(this,"_play",g);if(0<b)return this._delayTimer=setTimeout(c,b),this;c();return this},_play:function(a){this._delayTimer&&this._clearTimer();this._startTime=(new Date).valueOf();this._paused&&(this._startTime-=this.duration*this._percent);this._active=!0;this._paused=!1;a=this.curve.getValue(this._getStep());
this._percent||(this._startRepeatCount||(this._startRepeatCount=this.repeat),this._fire("onBegin",[a]));this._fire("onPlay",[a]);this._cycle();return this},pause:function(){this._delayTimer&&this._clearTimer();this._stopTimer();if(!this._active)return this;this._paused=!0;this._fire("onPause",[this.curve.getValue(this._getStep())]);return this},gotoPercent:function(a,g){this._stopTimer();this._active=this._paused=!0;this._percent=a;g&&this.play();return this},stop:function(a){this._delayTimer&&this._clearTimer();
if(!this._timer)return this;this._stopTimer();a&&(this._percent=1);this._fire("onStop",[this.curve.getValue(this._getStep())]);this._active=this._paused=!1;return this},destroy:function(){this.stop()},status:function(){return this._active?this._paused?"paused":"playing":"stopped"},_cycle:function(){if(this._active){var a=(new Date).valueOf(),a=0===this.duration?1:(a-this._startTime)/this.duration;1<=a&&(a=1);this._percent=a;this.easing&&(a=this.easing(a));this._fire("onAnimate",[this.curve.getValue(a)]);
1>this._percent?this._startTimer():(this._active=!1,0<this.repeat?(this.repeat--,this.play(null,!0)):-1==this.repeat?this.play(null,!0):this._startRepeatCount&&(this.repeat=this._startRepeatCount,this._startRepeatCount=0),this._percent=0,this._fire("onEnd",[this.node]),!this.repeat&&this._stopTimer())}return this},_clearTimer:function(){clearTimeout(this._delayTimer);delete this._delayTimer}});var u=0,q=null,r={run:function(){}};n.extend(v,{_startTimer:function(){this._timer||(this._timer=b.after(r,
"run",n.hitch(this,"_cycle"),!0),u++);q||(q=setInterval(n.hitch(r,"run"),this.rate))},_stopTimer:function(){this._timer&&(this._timer.remove(),this._timer=null,u--);0>=u&&(clearInterval(q),q=null,u=0)}});var m=l("ie")?function(a){var g=a.style;!g.width.length&&"auto"==c.get(a,"width")&&(g.width="auto")}:function(){};s._fade=function(d){d.node=f.byId(d.node);var g=a({properties:{}},d);d=g.properties.opacity={};d.start=!("start"in g)?function(){return+c.get(g.node,"opacity")||0}:g.start;d.end=g.end;
d=s.animateProperty(g);b.after(d,"beforeBegin",n.partial(m,g.node),!0);return d};s.fadeIn=function(b){return s._fade(a({end:1},b))};s.fadeOut=function(b){return s._fade(a({end:0},b))};s._defaultEasing=function(a){return 0.5+Math.sin((a+1.5)*Math.PI)/2};var w=function(a){this._properties=a;for(var g in a){var b=a[g];b.start instanceof d&&(b.tempColor=new d)}};w.prototype.getValue=function(a){var g={},b;for(b in this._properties){var c=this._properties[b],f=c.start;f instanceof d?g[b]=d.blendColors(f,
c.end,a,c.tempColor).toCss():n.isArray(f)||(g[b]=(c.end-f)*a+f+("opacity"!=b?c.units||"px":0))}return g};s.animateProperty=function(m){var g=m.node=f.byId(m.node);m.easing||(m.easing=e._defaultEasing);m=new v(m);b.after(m,"beforeBegin",n.hitch(m,function(){var b={},f;for(f in this.properties){if("width"==f||"height"==f)this.node.display="block";var m=this.properties[f];n.isFunction(m)&&(m=m(g));m=b[f]=a({},n.isObject(m)?m:{end:m});n.isFunction(m.start)&&(m.start=m.start(g));n.isFunction(m.end)&&(m.end=
m.end(g));var e=0<=f.toLowerCase().indexOf("color"),r=function(g,a){var b={height:g.offsetHeight,width:g.offsetWidth}[a];if(void 0!==b)return b;b=c.get(g,a);return"opacity"==a?+b:e?b:parseFloat(b)};"end"in m?"start"in m||(m.start=r(g,f)):m.end=r(g,f);e?(m.start=new d(m.start),m.end=new d(m.end)):m.start="opacity"==f?+m.start:parseFloat(m.start)}this.curve=new w(b)}),!0);b.after(m,"onAnimate",n.hitch(c,"set",m.node),!0);return m};s.anim=function(a,g,b,c,f,d){return s.animateProperty({node:a,duration:b||
v.prototype.duration,properties:g,easing:c,onEnd:f}).play(d||0)};a(e,s);e._Animation=v;return s})},"dojo/_base/Color":function(){define(["./kernel","./lang","./array","./config"],function(e,k,n,h){var d=e.Color=function(b){b&&this.setColor(b)};d.named={black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,
128,128],aqua:[0,255,255],transparent:h.transparentColor||[0,0,0,0]};k.extend(d,{r:255,g:255,b:255,a:1,_set:function(b,d,f,c){this.r=b;this.g=d;this.b=f;this.a=c},setColor:function(b){k.isString(b)?d.fromString(b,this):k.isArray(b)?d.fromArray(b,this):(this._set(b.r,b.g,b.b,b.a),b instanceof d||this.sanitize());return this},sanitize:function(){return this},toRgb:function(){return[this.r,this.g,this.b]},toRgba:function(){return[this.r,this.g,this.b,this.a]},toHex:function(){return"#"+n.map(["r","g",
"b"],function(b){b=this[b].toString(16);return 2>b.length?"0"+b:b},this).join("")},toCss:function(b){var d=this.r+", "+this.g+", "+this.b;return(b?"rgba("+d+", "+this.a:"rgb("+d)+")"},toString:function(){return this.toCss(!0)}});d.blendColors=e.blendColors=function(b,e,f,c){var a=c||new d;n.forEach(["r","g","b","a"],function(c){a[c]=b[c]+(e[c]-b[c])*f;"a"!=c&&(a[c]=Math.round(a[c]))});return a.sanitize()};d.fromRgb=e.colorFromRgb=function(b,e){var f=b.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/);
return f&&d.fromArray(f[1].split(/\s*,\s*/),e)};d.fromHex=e.colorFromHex=function(b,e){var f=e||new d,c=4==b.length?4:8,a=(1<<c)-1;b=Number("0x"+b.substr(1));if(isNaN(b))return null;n.forEach(["b","g","r"],function(d){var e=b&a;b>>=c;f[d]=4==c?17*e:e});f.a=1;return f};d.fromArray=e.colorFromArray=function(b,e){var f=e||new d;f._set(Number(b[0]),Number(b[1]),Number(b[2]),Number(b[3]));isNaN(f.a)&&(f.a=1);return f.sanitize()};d.fromString=e.colorFromString=function(b,e){var f=d.named[b];return f&&d.fromArray(f,
e)||d.fromRgb(b,e)||d.fromHex(b,e)};return d})},"dojo/ready":function(){define(["./_base/kernel","./has","require","./has!host-browser?./domReady","./_base/lang"],function(e,k,n,h,d){var b=0,l=[],f=0;k=function(){b=1;e._postLoad=e.config.afterOnLoad=!0;c()};var c=function(){if(!f){for(f=1;b&&(!h||0==h._Q.length)&&(n.idle?n.idle():1)&&l.length;){var a=l.shift();try{a()}catch(c){if(c.info=c.message,n.signal)n.signal("error",c);else throw c;}}f=0}};n.on&&n.on("idle",c);h&&(h._onQEmpty=c);var a=e.ready=
e.addOnLoad=function(a,b,f){var q=d._toArray(arguments);"number"!=typeof a?(f=b,b=a,a=1E3):q.shift();f=f?d.hitch.apply(e,q):function(){b()};f.priority=a;for(q=0;q<l.length&&a>=l[q].priority;q++);l.splice(q,0,f);c()},s=e.config.addOnLoad;if(s)a[d.isArray(s)?"apply":"call"](e,s);h?h(k):k();return a})},"dojo/window":function(){define("./_base/lang ./sniff ./_base/window ./dom ./dom-geometry ./dom-style ./dom-construct".split(" "),function(e,k,n,h,d,b,l){k.add("rtl-adjust-position-for-verticalScrollBar",
function(b,a){var f=n.body(a),e=l.create("div",{style:{overflow:"scroll",overflowX:"visible",direction:"rtl",visibility:"hidden",position:"absolute",left:"0",top:"0",width:"64px",height:"64px"}},f,"last"),h=l.create("div",{style:{overflow:"hidden",direction:"ltr"}},e,"last"),u=0!=d.position(h).x;e.removeChild(h);f.removeChild(e);return u});k.add("position-fixed-support",function(b,a){var f=n.body(a),e=l.create("span",{style:{visibility:"hidden",position:"fixed",left:"1px",top:"1px"}},f,"last"),h=
l.create("span",{style:{position:"fixed",left:"0",top:"0"}},e,"last"),u=d.position(h).x!=d.position(e).x;e.removeChild(h);f.removeChild(e);return u});var f={getBox:function(b){b=b||n.doc;var a="BackCompat"==b.compatMode?n.body(b):b.documentElement,e=d.docScroll(b);if(k("touch")){var h=f.get(b);b=h.innerWidth||a.clientWidth;a=h.innerHeight||a.clientHeight}else b=a.clientWidth,a=a.clientHeight;return{l:e.x,t:e.y,w:b,h:a}},get:function(b){if(k("ie")&&f!==document.parentWindow){b.parentWindow.execScript("document._parentWindow \x3d window;",
"Javascript");var a=b._parentWindow;b._parentWindow=null;return a}return b.parentWindow||b.defaultView},scrollIntoView:function(c,a){try{c=h.byId(c);var f=c.ownerDocument||n.doc,e=n.body(f),l=f.documentElement||e.parentNode,u=k("ie")||k("trident"),q=k("webkit");if(!(c==e||c==l))if(!k("mozilla")&&(!u&&!q&&!k("opera")&&!k("trident")&&!k("edge"))&&"scrollIntoView"in c)c.scrollIntoView(!1);else{var r="BackCompat"==f.compatMode,m=Math.min(e.clientWidth||l.clientWidth,l.clientWidth||e.clientWidth),w=Math.min(e.clientHeight||
l.clientHeight,l.clientHeight||e.clientHeight),f=q||r?e:l,x=a||d.position(c),g=c.parentNode,q=function(g){return 6>=u||7==u&&r?!1:k("position-fixed-support")&&"fixed"==b.get(g,"position").toLowerCase()},p=this,z=function(g,a,b){"BODY"==g.tagName||"HTML"==g.tagName?p.get(g.ownerDocument).scrollBy(a,b):(a&&(g.scrollLeft+=a),b&&(g.scrollTop+=b))};if(!q(c))for(;g;){g==e&&(g=f);var y=d.position(g),C=q(g),A="rtl"==b.getComputedStyle(g).direction.toLowerCase();if(g==f){y.w=m;y.h=w;if(f==l&&(u||k("trident"))&&
A)y.x+=f.offsetWidth-y.w;y.x=0;y.y=0}else{var B=d.getPadBorderExtents(g);y.w-=B.w;y.h-=B.h;y.x+=B.l;y.y+=B.t;var K=g.clientWidth,F=y.w-K;0<K&&0<F&&(A&&k("rtl-adjust-position-for-verticalScrollBar")&&(y.x+=F),y.w=K);K=g.clientHeight;F=y.h-K;0<K&&0<F&&(y.h=K)}C&&(0>y.y&&(y.h+=y.y,y.y=0),0>y.x&&(y.w+=y.x,y.x=0),y.y+y.h>w&&(y.h=w-y.y),y.x+y.w>m&&(y.w=m-y.x));var G=x.x-y.x,P=x.y-y.y,Q=G+x.w-y.w,H=P+x.h-y.h,D,L;if(0<Q*G&&(g.scrollLeft||g==f||g.scrollWidth>g.offsetHeight)){D=Math[0>G?"max":"min"](G,Q);if(A&&
(8==u&&!r||5<=k("trident")))D=-D;L=g.scrollLeft;z(g,D,0);D=g.scrollLeft-L;x.x-=D}if(0<H*P&&(g.scrollTop||g==f||g.scrollHeight>g.offsetHeight))D=Math.ceil(Math[0>P?"max":"min"](P,H)),L=g.scrollTop,z(g,0,D),D=g.scrollTop-L,x.y-=D;g=g!=f&&!C&&g.parentNode}}}catch(E){console.error("scrollIntoView: "+E),c.scrollIntoView(!1)}}};e.setObject("dojo.window",f);return f})},"dojo/dnd/Moveable":function(){define("../_base/array ../_base/declare ../_base/lang ../dom ../dom-class ../Evented ../on ../topic ../touch ./common ./Mover ../_base/window".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t){return k("dojo.dnd.Moveable",[b],{handle:"",delay:0,skip:!1,constructor:function(a,b){this.node=h.byId(a);b||(b={});this.handle=b.handle?h.byId(b.handle):null;this.handle||(this.handle=this.node);this.delay=0<b.delay?b.delay:0;this.skip=b.skip;this.mover=b.mover?b.mover:s;this.events=[l(this.handle,c.press,n.hitch(this,"onMouseDown")),l(this.handle,"dragstart",n.hitch(this,"onSelectStart")),l(this.handle,"selectstart",n.hitch(this,"onSelectStart"))]},markupFactory:function(a,
b,c){return new c(b,a)},destroy:function(){e.forEach(this.events,function(a){a.remove()});this.events=this.node=this.handle=null},onMouseDown:function(b){if(!this.skip||!a.isFormElement(b)){if(this.delay)this.events.push(l(this.handle,c.move,n.hitch(this,"onMouseMove")),l(this.handle.ownerDocument,c.release,n.hitch(this,"onMouseUp"))),this._lastX=b.pageX,this._lastY=b.pageY;else this.onDragDetected(b);b.stopPropagation();b.preventDefault()}},onMouseMove:function(a){if(Math.abs(a.pageX-this._lastX)>
this.delay||Math.abs(a.pageY-this._lastY)>this.delay)this.onMouseUp(a),this.onDragDetected(a);a.stopPropagation();a.preventDefault()},onMouseUp:function(a){for(var b=0;2>b;++b)this.events.pop().remove();a.stopPropagation();a.preventDefault()},onSelectStart:function(b){if(!this.skip||!a.isFormElement(b))b.stopPropagation(),b.preventDefault()},onDragDetected:function(a){new this.mover(this.node,a,this)},onMoveStart:function(a){f.publish("/dnd/move/start",a);d.add(t.body(),"dojoMove");d.add(this.node,
"dojoMoveItem")},onMoveStop:function(a){f.publish("/dnd/move/stop",a);d.remove(t.body(),"dojoMove");d.remove(this.node,"dojoMoveItem")},onFirstMove:function(){},onMove:function(a,b){this.onMoving(a,b);var c=a.node.style;c.left=b.l+"px";c.top=b.t+"px";this.onMoved(a,b)},onMoving:function(){},onMoved:function(){}})})},"dojo/touch":function(){define("./_base/kernel ./aspect ./dom ./dom-class ./_base/lang ./on ./has ./mouse ./domReady ./_base/window".split(" "),function(e,k,n,h,d,b,l,f,c,a){function s(g,
a,p){return q&&p?function(g,a){return b(g,p,a)}:m?function(p,c){var f=b(p,a,function(g){c.call(this,g);K=(new Date).getTime()}),d=b(p,g,function(g){(!K||(new Date).getTime()>K+1E3)&&c.call(this,g)});return{remove:function(){f.remove();d.remove()}}}:function(a,p){return b(a,g,p)}}function t(g){do if(void 0!==g.dojoClick)return g;while(g=g.parentNode)}function v(c,d,m){if(!f.isRight(c)){var e=t(c.target);if(x=!c.target.disabled&&e&&e.dojoClick)if(p=(g="useTarget"==x)?e:c.target,g&&c.preventDefault(),
z=c.changedTouches?c.changedTouches[0].pageX-a.global.pageXOffset:c.clientX,y=c.changedTouches?c.changedTouches[0].pageY-a.global.pageYOffset:c.clientY,C=("object"==typeof x?x.x:"number"==typeof x?x:0)||4,A=("object"==typeof x?x.y:"number"==typeof x?x:0)||4,!w){w=!0;var r=function(b){x=g?n.isDescendant(a.doc.elementFromPoint(b.changedTouches?b.changedTouches[0].pageX-a.global.pageXOffset:b.clientX,b.changedTouches?b.changedTouches[0].pageY-a.global.pageYOffset:b.clientY),p):x&&(b.changedTouches?b.changedTouches[0].target:
b.target)==p&&Math.abs((b.changedTouches?b.changedTouches[0].pageX-a.global.pageXOffset:b.clientX)-z)<=C&&Math.abs((b.changedTouches?b.changedTouches[0].pageY-a.global.pageYOffset:b.clientY)-y)<=A};a.doc.addEventListener(d,function(a){f.isRight(a)||(r(a),g&&a.preventDefault())},!0);a.doc.addEventListener(m,function(a){if(!f.isRight(a)&&(r(a),x)){B=(new Date).getTime();var c=g?p:a.target;"LABEL"===c.tagName&&(c=n.byId(c.getAttribute("for"))||c);var d=a.changedTouches?a.changedTouches[0]:a,m=function(g){var b=
document.createEvent("MouseEvents");b._dojo_click=!0;b.initMouseEvent(g,!0,!0,a.view,a.detail,d.screenX,d.screenY,d.clientX,d.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,0,null);return b},e=m("mousedown"),q=m("mouseup"),z=m("click");setTimeout(function(){b.emit(c,"mousedown",e);b.emit(c,"mouseup",q);b.emit(c,"click",z);B=(new Date).getTime()},0)}},!0);c=function(g){a.doc.addEventListener(g,function(a){var b=a.target;x&&(!a._dojo_click&&(new Date).getTime()<=B+1E3&&!("INPUT"==b.tagName&&h.contains(b,
"dijitOffScreen")))&&(a.stopPropagation(),a.stopImmediatePropagation&&a.stopImmediatePropagation(),"click"==g&&(("INPUT"!=b.tagName||"radio"==b.type&&(h.contains(b,"dijitCheckBoxInput")||h.contains(b,"mblRadioButton"))||"checkbox"==b.type&&(h.contains(b,"dijitCheckBoxInput")||h.contains(b,"mblCheckBox")))&&"TEXTAREA"!=b.tagName&&"AUDIO"!=b.tagName&&"VIDEO"!=b.tagName)&&a.preventDefault())},!0)};c("click");c("mousedown");c("mouseup")}}}var u=5>l("ios"),q=l("pointer-events")||l("MSPointer"),r=function(){var g=
{},a;for(a in{down:1,move:1,up:1,cancel:1,over:1,out:1})g[a]=l("MSPointer")?"MSPointer"+a.charAt(0).toUpperCase()+a.slice(1):"pointer"+a;return g}(),m=l("touch-events"),w,x,g=!1,p,z,y,C,A,B,K,F;l("touch")&&(q?c(function(){a.doc.addEventListener(r.down,function(g){v(g,r.move,r.up)},!0)}):c(function(){function g(a){var b=d.delegate(a,{bubbles:!0});6<=l("ios")&&(b.touches=a.touches,b.altKey=a.altKey,b.changedTouches=a.changedTouches,b.ctrlKey=a.ctrlKey,b.metaKey=a.metaKey,b.shiftKey=a.shiftKey,b.targetTouches=
a.targetTouches);return b}F=a.body();a.doc.addEventListener("touchstart",function(g){K=(new Date).getTime();var a=F;F=g.target;b.emit(a,"dojotouchout",{relatedTarget:F,bubbles:!0});b.emit(F,"dojotouchover",{relatedTarget:a,bubbles:!0});v(g,"touchmove","touchend")},!0);b(a.doc,"touchmove",function(p){K=(new Date).getTime();var c=a.doc.elementFromPoint(p.pageX-(u?0:a.global.pageXOffset),p.pageY-(u?0:a.global.pageYOffset));c&&(F!==c&&(b.emit(F,"dojotouchout",{relatedTarget:c,bubbles:!0}),b.emit(c,"dojotouchover",
{relatedTarget:F,bubbles:!0}),F=c),b.emit(c,"dojotouchmove",g(p))||p.preventDefault())});b(a.doc,"touchend",function(p){K=(new Date).getTime();var c=a.doc.elementFromPoint(p.pageX-(u?0:a.global.pageXOffset),p.pageY-(u?0:a.global.pageYOffset))||a.body();b.emit(c,"dojotouchend",g(p))})}));k={press:s("mousedown","touchstart",r.down),move:s("mousemove","dojotouchmove",r.move),release:s("mouseup","dojotouchend",r.up),cancel:s(f.leave,"touchcancel",q?r.cancel:null),over:s("mouseover","dojotouchover",r.over),
out:s("mouseout","dojotouchout",r.out),enter:f._eventHandler(s("mouseover","dojotouchover",r.over)),leave:f._eventHandler(s("mouseout","dojotouchout",r.out))};return e.touch=k})},"dojo/dnd/common":function(){define(["../sniff","../_base/kernel","../_base/lang","../dom"],function(e,k,n,h){var d=n.getObject("dojo.dnd",!0);d.getCopyKeyState=function(b){return b[e("mac")?"metaKey":"ctrlKey"]};d._uniqueId=0;d.getUniqueId=function(){var b;do b=k._scopeName+"Unique"+ ++d._uniqueId;while(h.byId(b));return b};
d._empty={};d.isFormElement=function(b){b=b.target;3==b.nodeType&&(b=b.parentNode);return 0<=" a button textarea input select option ".indexOf(" "+b.tagName.toLowerCase()+" ")};return d})},"dojo/dnd/Mover":function(){define("../_base/array ../_base/declare ../_base/lang ../sniff ../_base/window ../dom ../dom-geometry ../dom-style ../Evented ../on ../touch ./common ./autoscroll".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v){return k("dojo.dnd.Mover",[c],{constructor:function(c,f,d){function m(a){a.preventDefault();
a.stopPropagation()}this.node=b.byId(c);this.marginBox={l:f.pageX,t:f.pageY};this.mouseButton=f.button;f=this.host=d;c=c.ownerDocument;this.events=[a(c,s.move,n.hitch(this,"onFirstMove")),a(c,s.move,n.hitch(this,"onMouseMove")),a(c,s.release,n.hitch(this,"onMouseUp")),a(c,"dragstart",m),a(c.body,"selectstart",m)];v.autoScrollStart(c);if(f&&f.onMoveStart)f.onMoveStart(this)},onMouseMove:function(a){v.autoScroll(a);var b=this.marginBox;this.host.onMove(this,{l:b.l+a.pageX,t:b.t+a.pageY},a);a.preventDefault();
a.stopPropagation()},onMouseUp:function(a){(h("webkit")&&h("mac")&&2==this.mouseButton?0==a.button:this.mouseButton==a.button)&&this.destroy();a.preventDefault();a.stopPropagation()},onFirstMove:function(a){var b=this.node.style,c,m=this.host;switch(b.position){case "relative":case "absolute":c=Math.round(parseFloat(b.left))||0;b=Math.round(parseFloat(b.top))||0;break;default:b.position="absolute";b=l.getMarginBox(this.node);c=d.doc.body;var e=f.getComputedStyle(c),h=l.getMarginBox(c,e),e=l.getContentBox(c,
e);c=b.l-(e.l-h.l);b=b.t-(e.t-h.t)}this.marginBox.l=c-this.marginBox.l;this.marginBox.t=b-this.marginBox.t;if(m&&m.onFirstMove)m.onFirstMove(this,a);this.events.shift().remove()},destroy:function(){e.forEach(this.events,function(a){a.remove()});var a=this.host;if(a&&a.onMoveStop)a.onMoveStop(this);this.events=this.node=this.host=null}})})},"dojo/dnd/autoscroll":function(){define("../_base/lang ../sniff ../_base/window ../dom-geometry ../dom-style ../window".split(" "),function(e,k,n,h,d,b){var l=
{};e.setObject("dojo.dnd.autoscroll",l);l.getViewport=b.getBox;l.V_TRIGGER_AUTOSCROLL=32;l.H_TRIGGER_AUTOSCROLL=32;l.V_AUTOSCROLL_VALUE=16;l.H_AUTOSCROLL_VALUE=16;var f,c=n.doc,a=Infinity,s=Infinity;l.autoScrollStart=function(d){c=d;f=b.getBox(c);d=n.body(c).parentNode;a=Math.max(d.scrollHeight-f.h,0);s=Math.max(d.scrollWidth-f.w,0)};l.autoScroll=function(d){var e=f||b.getBox(c),h=n.body(c).parentNode,q=0,r=0;d.clientX<l.H_TRIGGER_AUTOSCROLL?q=-l.H_AUTOSCROLL_VALUE:d.clientX>e.w-l.H_TRIGGER_AUTOSCROLL&&
(q=Math.min(l.H_AUTOSCROLL_VALUE,s-h.scrollLeft));d.clientY<l.V_TRIGGER_AUTOSCROLL?r=-l.V_AUTOSCROLL_VALUE:d.clientY>e.h-l.V_TRIGGER_AUTOSCROLL&&(r=Math.min(l.V_AUTOSCROLL_VALUE,a-h.scrollTop));window.scrollBy(q,r)};l._validNodes={div:1,p:1,td:1};l._validOverflow={auto:1,scroll:1};l.autoScrollNodes=function(a){for(var b,c,f,e,m,w,s=0,g=0,p=a.target;p;){if(1==p.nodeType&&p.tagName.toLowerCase()in l._validNodes){f=d.getComputedStyle(p);e=f.overflow.toLowerCase()in l._validOverflow;m=f.overflowX.toLowerCase()in
l._validOverflow;w=f.overflowY.toLowerCase()in l._validOverflow;if(e||m||w)b=h.getContentBox(p,f),c=h.position(p,!0);if(e||m){f=Math.min(l.H_TRIGGER_AUTOSCROLL,b.w/2);m=a.pageX-c.x;if(k("webkit")||k("opera"))m+=n.body().scrollLeft;s=0;0<m&&m<b.w&&(m<f?s=-f:m>b.w-f&&(s=f),p.scrollLeft+=s)}if(e||w){e=Math.min(l.V_TRIGGER_AUTOSCROLL,b.h/2);w=a.pageY-c.y;if(k("webkit")||k("opera"))w+=n.body().scrollTop;g=0;0<w&&w<b.h&&(w<e?g=-e:w>b.h-e&&(g=e),p.scrollTop+=g)}if(s||g)return}try{p=p.parentNode}catch(z){p=
null}}l.autoScroll(a)};return l})},"dojo/dnd/TimedMoveable":function(){define(["../_base/declare","./Moveable"],function(e,k){var n=k.prototype.onMove;return e("dojo.dnd.TimedMoveable",k,{timeout:40,constructor:function(e,d){d||(d={});d.timeout&&("number"==typeof d.timeout&&0<=d.timeout)&&(this.timeout=d.timeout)},onMoveStop:function(e){e._timer&&(clearTimeout(e._timer),n.call(this,e,e._leftTop));k.prototype.onMoveStop.apply(this,arguments)},onMove:function(e,d){e._leftTop=d;if(!e._timer){var b=this;
e._timer=setTimeout(function(){e._timer=null;n.call(b,e,e._leftTop)},this.timeout)}}})})},"dijit/focus":function(){define("dojo/aspect dojo/_base/declare dojo/dom dojo/dom-attr dojo/dom-class dojo/dom-construct dojo/Evented dojo/_base/lang dojo/on dojo/domReady dojo/sniff dojo/Stateful dojo/_base/window dojo/window ./a11y ./registry ./main".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m){var w,x,g=new (k([t,l],{curNode:null,activeStack:[],constructor:function(){var g=f.hitch(this,function(g){n.isDescendant(this.curNode,
g)&&this.set("curNode",null);n.isDescendant(this.prevNode,g)&&this.set("prevNode",null)});e.before(b,"empty",g);e.before(b,"destroy",g)},registerIframe:function(g){return this.registerWin(g.contentWindow,g)},registerWin:function(g,a){var b=this,p=g.document&&g.document.body;if(p){var f=s("pointer-events")?"pointerdown":s("MSPointer")?"MSPointerDown":s("touch-events")?"mousedown, touchstart":"mousedown",d=c(g.document,f,function(g){if(!g||!(g.target&&null==g.target.parentNode))b._onTouchNode(a||g.target,
"mouse")}),m=c(p,"focusin",function(g){if(g.target.tagName){var p=g.target.tagName.toLowerCase();"#document"==p||"body"==p||(q.isFocusable(g.target)?b._onFocusNode(a||g.target):b._onTouchNode(a||g.target))}}),e=c(p,"focusout",function(g){b._onBlurNode(a||g.target)});return{remove:function(){d.remove();m.remove();e.remove();p=d=m=e=null}}}},_onBlurNode:function(g){g=(new Date).getTime();g<w+100||(this._clearFocusTimer&&clearTimeout(this._clearFocusTimer),this._clearFocusTimer=setTimeout(f.hitch(this,
function(){this.set("prevNode",this.curNode);this.set("curNode",null)}),0),this._clearActiveWidgetsTimer&&clearTimeout(this._clearActiveWidgetsTimer),g<x+100||(this._clearActiveWidgetsTimer=setTimeout(f.hitch(this,function(){delete this._clearActiveWidgetsTimer;this._setStack([])}),0)))},_onTouchNode:function(g,a){x=(new Date).getTime();this._clearActiveWidgetsTimer&&(clearTimeout(this._clearActiveWidgetsTimer),delete this._clearActiveWidgetsTimer);d.contains(g,"dijitPopup")&&(g=g.firstChild);var b=
[];try{for(;g;){var p=h.get(g,"dijitPopupParent");if(p)g=r.byId(p).domNode;else if(g.tagName&&"body"==g.tagName.toLowerCase()){if(g===v.body())break;g=u.get(g.ownerDocument).frameElement}else{var c=g.getAttribute&&g.getAttribute("widgetId"),f=c&&r.byId(c);f&&!("mouse"==a&&f.get("disabled"))&&b.unshift(c);g=g.parentNode}}}catch(m){}this._setStack(b,a)},_onFocusNode:function(g){g&&9!=g.nodeType&&(w=(new Date).getTime(),this._clearFocusTimer&&(clearTimeout(this._clearFocusTimer),delete this._clearFocusTimer),
this._onTouchNode(g),g!=this.curNode&&(this.set("prevNode",this.curNode),this.set("curNode",g)))},_setStack:function(g,a){var b=this.activeStack,p=b.length-1,c=g.length-1;if(g[c]!=b[p]){this.set("activeStack",g);var f;for(f=p;0<=f&&b[f]!=g[f];f--)if(p=r.byId(b[f]))p._hasBeenBlurred=!0,p.set("focused",!1),p._focusManager==this&&p._onBlur(a),this.emit("widget-blur",p,a);for(f++;f<=c;f++)if(p=r.byId(g[f]))p.set("focused",!0),p._focusManager==this&&p._onFocus(a),this.emit("widget-focus",p,a)}},focus:function(g){if(g)try{g.focus()}catch(a){}}}));
a(function(){var a=g.registerWin(u.get(document));s("ie")&&c(window,"unload",function(){a&&(a.remove(),a=null)})});m.focus=function(a){g.focus(a)};for(var p in g)/^_/.test(p)||(m.focus[p]="function"==typeof g[p]?f.hitch(g,p):g[p]);g.watch(function(g,a,b){m.focus[g]=b});return g})},"dojo/Stateful":function(){define(["./_base/declare","./_base/lang","./_base/array","./when"],function(e,k,n,h){return e("dojo.Stateful",null,{_attrPairNames:{},_getAttrNames:function(d){var b=this._attrPairNames;return b[d]?
b[d]:b[d]={s:"_"+d+"Setter",g:"_"+d+"Getter"}},postscript:function(d){d&&this.set(d)},_get:function(d,b){return"function"===typeof this[b.g]?this[b.g]():this[d]},get:function(d){return this._get(d,this._getAttrNames(d))},set:function(d,b){if("object"===typeof d){for(var e in d)d.hasOwnProperty(e)&&"_watchCallbacks"!=e&&this.set(e,d[e]);return this}e=this._getAttrNames(d);var f=this._get(d,e);e=this[e.s];var c;"function"===typeof e?c=e.apply(this,Array.prototype.slice.call(arguments,1)):this[d]=b;
if(this._watchCallbacks){var a=this;h(c,function(){a._watchCallbacks(d,f,b)})}return this},_changeAttrValue:function(d,b){var e=this.get(d);this[d]=b;this._watchCallbacks&&this._watchCallbacks(d,e,b);return this},watch:function(d,b){var e=this._watchCallbacks;if(!e)var f=this,e=this._watchCallbacks=function(a,b,c,d){var q=function(d){if(d){d=d.slice();for(var m=0,e=d.length;m<e;m++)d[m].call(f,a,b,c)}};q(e["_"+a]);d||q(e["*"])};!b&&"function"===typeof d?(b=d,d="*"):d="_"+d;var c=e[d];"object"!==typeof c&&
(c=e[d]=[]);c.push(b);var a={};a.unwatch=a.remove=function(){var a=n.indexOf(c,b);-1<a&&c.splice(a,1)};return a}})})},"dijit/a11y":function(){define("dojo/_base/array dojo/dom dojo/dom-attr dojo/dom-style dojo/_base/lang dojo/sniff ./main".split(" "),function(e,k,n,h,d,b,l){var f={_isElementShown:function(b){var a=h.get(b);return"hidden"!=a.visibility&&"collapsed"!=a.visibility&&"none"!=a.display&&"hidden"!=n.get(b,"type")},hasDefaultTabStop:function(b){switch(b.nodeName.toLowerCase()){case "a":return n.has(b,
"href");case "area":case "button":case "input":case "object":case "select":case "textarea":return!0;case "iframe":var a;try{var f=b.contentDocument;if("designMode"in f&&"on"==f.designMode)return!0;a=f.body}catch(d){try{a=b.contentWindow.document.body}catch(e){return!1}}return a&&("true"==a.contentEditable||a.firstChild&&"true"==a.firstChild.contentEditable);default:return"true"==b.contentEditable}},effectiveTabIndex:function(b){return n.get(b,"disabled")?void 0:n.has(b,"tabIndex")?+n.get(b,"tabIndex"):
f.hasDefaultTabStop(b)?0:void 0},isTabNavigable:function(b){return 0<=f.effectiveTabIndex(b)},isFocusable:function(b){return-1<=f.effectiveTabIndex(b)},_getTabNavigable:function(c){function a(g){return g&&"input"==g.tagName.toLowerCase()&&g.type&&"radio"==g.type.toLowerCase()&&g.name&&g.name.toLowerCase()}var d,e,h,u,q,r,m={},w=f._isElementShown,l=f.effectiveTabIndex,g=function(p){for(p=p.firstChild;p;p=p.nextSibling)if(!(1!=p.nodeType||9>=b("ie")&&"HTML"!==p.scopeName||!w(p))){var c=l(p);if(0<=c){if(0==
c)d||(d=p),e=p;else if(0<c){if(!h||c<u)u=c,h=p;if(!q||c>=r)r=c,q=p}c=a(p);n.get(p,"checked")&&c&&(m[c]=p)}"SELECT"!=p.nodeName.toUpperCase()&&g(p)}};w(c)&&g(c);return{first:m[a(d)]||d,last:m[a(e)]||e,lowest:m[a(h)]||h,highest:m[a(q)]||q}},getFirstInTabbingOrder:function(b,a){var d=f._getTabNavigable(k.byId(b,a));return d.lowest?d.lowest:d.first},getLastInTabbingOrder:function(b,a){var d=f._getTabNavigable(k.byId(b,a));return d.last?d.last:d.highest}};d.mixin(l,f);return f})},"dijit/_base/manager":function(){define(["dojo/_base/array",
"dojo/_base/config","dojo/_base/lang","../registry","../main"],function(e,k,n,h,d){var b={};e.forEach("byId getUniqueId findWidgets _destroyAll byNode getEnclosingWidget".split(" "),function(d){b[d]=h[d]});n.mixin(b,{defaultDuration:k.defaultDuration||200});n.mixin(d,b);return d})},"dijit/_Widget":function(){define("dojo/aspect dojo/_base/config dojo/_base/connect dojo/_base/declare dojo/has dojo/_base/kernel dojo/_base/lang dojo/query dojo/ready ./registry ./_WidgetBase ./_OnDijitClickMixin ./_FocusMixin dojo/uacss ./hccss".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v){function u(){}function q(a){return function(b,c,f,g){return b&&"string"==typeof c&&b[c]==u?b.on(c.substring(2).toLowerCase(),l.hitch(f,g)):a.apply(n,arguments)}}e.around(n,"connect",q);b.connect&&e.around(b,"connect",q);e=h("dijit._Widget",[s,t,v],{onClick:u,onDblClick:u,onKeyDown:u,onKeyPress:u,onKeyUp:u,onMouseDown:u,onMouseMove:u,onMouseOut:u,onMouseOver:u,onMouseLeave:u,onMouseEnter:u,onMouseUp:u,constructor:function(a){this._toConnect={};for(var b in a)this[b]===
u&&(this._toConnect[b.replace(/^on/,"").toLowerCase()]=a[b],delete a[b])},postCreate:function(){this.inherited(arguments);for(var a in this._toConnect)this.on(a,this._toConnect[a]);delete this._toConnect},on:function(a,b){return this[this._onMap(a)]===u?n.connect(this.domNode,a.toLowerCase(),this,b):this.inherited(arguments)},_setFocusedAttr:function(a){this._focused=a;this._set("focused",a)},setAttribute:function(a,c){b.deprecated(this.declaredClass+"::setAttribute(attr, value) is deprecated. Use set() instead.",
"","2.0");this.set(a,c)},attr:function(a,b){return 2<=arguments.length||"object"===typeof a?this.set.apply(this,arguments):this.get(a)},getDescendants:function(){b.deprecated(this.declaredClass+"::getDescendants() is deprecated. Use getChildren() instead.","","2.0");return this.containerNode?f("[widgetId]",this.containerNode).map(a.byNode):[]},_onShow:function(){this.onShow()},onShow:function(){},onHide:function(){},onClose:function(){return!0}});d("dijit-legacy-requires")&&c(0,function(){require(["dijit/_base"])});
return e})},"dijit/_WidgetBase":function(){define("require dojo/_base/array dojo/aspect dojo/_base/config dojo/_base/connect dojo/_base/declare dojo/dom dojo/dom-attr dojo/dom-class dojo/dom-construct dojo/dom-geometry dojo/dom-style dojo/has dojo/_base/kernel dojo/_base/lang dojo/on dojo/ready dojo/Stateful dojo/topic dojo/_base/window ./Destroyable dojo/has!dojo-bidi?./_BidiMixin ./registry".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w,x,g,p,z,y){function C(g){return function(a){f[a?
"set":"remove"](this.domNode,g,a);this._set(g,a)}}v.add("dijit-legacy-requires",!u.isAsync);v.add("dojo-bidi",!1);v("dijit-legacy-requires")&&m(0,function(){e(["dijit/_base/manager"])});var A={};h=b("dijit._WidgetBase",[w,p],{id:"",_setIdAttr:"domNode",lang:"",_setLangAttr:C("lang"),dir:"",_setDirAttr:C("dir"),"class":"",_setClassAttr:{node:"domNode",type:"class"},_setTypeAttr:null,style:"",title:"",tooltip:"",baseClass:"",srcNodeRef:null,domNode:null,containerNode:null,ownerDocument:null,_setOwnerDocumentAttr:function(g){this._set("ownerDocument",
g)},attributeMap:{},_blankGif:h.blankGif||e.toUrl("dojo/resources/blank.gif"),textDir:"",_introspect:function(){var g=this.constructor;if(!g._setterAttrs){var a=g.prototype,b=g._setterAttrs=[],g=g._onMap={},p;for(p in a.attributeMap)b.push(p);for(p in a)/^on/.test(p)&&(g[p.substring(2).toLowerCase()]=p),/^_set[A-Z](.*)Attr$/.test(p)&&(p=p.charAt(4).toLowerCase()+p.substr(5,p.length-9),(!a.attributeMap||!(p in a.attributeMap))&&b.push(p))}},postscript:function(g,a){this.create(g,a)},create:function(a,
b){this._introspect();this.srcNodeRef=l.byId(b);this._connects=[];this._supportingWidgets=[];this.srcNodeRef&&(this.srcNodeRef.id&&"string"==typeof this.srcNodeRef.id)&&(this.id=this.srcNodeRef.id);a&&(this.params=a,q.mixin(this,a));this.postMixInProperties();this.id||(this.id=y.getUniqueId(this.declaredClass.replace(/\./g,"_")),this.params&&delete this.params.id);this.ownerDocument=this.ownerDocument||(this.srcNodeRef?this.srcNodeRef.ownerDocument:document);this.ownerDocumentBody=g.body(this.ownerDocument);
y.add(this);this.buildRendering();var p;if(this.domNode){this._applyAttributes();var c=this.srcNodeRef;c&&(c.parentNode&&this.domNode!==c)&&(c.parentNode.replaceChild(this.domNode,c),p=!0);this.domNode.setAttribute("widgetId",this.id)}this.postCreate();p&&delete this.srcNodeRef;this._created=!0},_applyAttributes:function(){var g={},a;for(a in this.params||{})g[a]=this._get(a);k.forEach(this.constructor._setterAttrs,function(a){if(!(a in g)){var b=this._get(a);b&&this.set(a,b)}},this);for(a in g)this.set(a,
g[a])},postMixInProperties:function(){},buildRendering:function(){this.domNode||(this.domNode=this.srcNodeRef||this.ownerDocument.createElement("div"));if(this.baseClass){var g=this.baseClass.split(" ");this.isLeftToRight()||(g=g.concat(k.map(g,function(g){return g+"Rtl"})));c.add(this.domNode,g)}},postCreate:function(){},startup:function(){this._started||(this._started=!0,k.forEach(this.getChildren(),function(g){!g._started&&(!g._destroyed&&q.isFunction(g.startup))&&(g.startup(),g._started=!0)}))},
destroyRecursive:function(g){this._beingDestroyed=!0;this.destroyDescendants(g);this.destroy(g)},destroy:function(g){function a(b){b.destroyRecursive?b.destroyRecursive(g):b.destroy&&b.destroy(g)}this._beingDestroyed=!0;this.uninitialize();k.forEach(this._connects,q.hitch(this,"disconnect"));k.forEach(this._supportingWidgets,a);this.domNode&&k.forEach(y.findWidgets(this.domNode,this.containerNode),a);this.destroyRendering(g);y.remove(this.id);this._destroyed=!0},destroyRendering:function(g){this.bgIframe&&
(this.bgIframe.destroy(g),delete this.bgIframe);this.domNode&&(g?f.remove(this.domNode,"widgetId"):a.destroy(this.domNode),delete this.domNode);this.srcNodeRef&&(g||a.destroy(this.srcNodeRef),delete this.srcNodeRef)},destroyDescendants:function(g){k.forEach(this.getChildren(),function(a){a.destroyRecursive&&a.destroyRecursive(g)})},uninitialize:function(){return!1},_setStyleAttr:function(g){var a=this.domNode;q.isObject(g)?t.set(a,g):a.style.cssText=a.style.cssText?a.style.cssText+("; "+g):g;this._set("style",
g)},_attrToDom:function(g,a,b){b=3<=arguments.length?b:this.attributeMap[g];k.forEach(q.isArray(b)?b:[b],function(b){var p=this[b.node||b||"domNode"];switch(b.type||"attribute"){case "attribute":q.isFunction(a)&&(a=q.hitch(this,a));b=b.attribute?b.attribute:/^on[A-Z][a-zA-Z]*$/.test(g)?g.toLowerCase():g;p.tagName?f.set(p,b,a):p.set(b,a);break;case "innerText":p.innerHTML="";p.appendChild(this.ownerDocument.createTextNode(a));break;case "innerHTML":p.innerHTML=a;break;case "class":c.replace(p,a,this[g]);
break;case "toggleClass":c.toggle(p,b.className||g,a)}},this)},get:function(g){var a=this._getAttrNames(g);return this[a.g]?this[a.g]():this._get(g)},set:function(g,a){if("object"===typeof g){for(var b in g)this.set(b,g[b]);return this}b=this._getAttrNames(g);var p=this[b.s];if(q.isFunction(p))var c=p.apply(this,Array.prototype.slice.call(arguments,1));else{var p=this.focusNode&&!q.isFunction(this.focusNode)?"focusNode":"domNode",f=this[p]&&this[p].tagName,d;if(d=f)if(!(d=A[f])){d=this[p];var m={},
e;for(e in d)m[e.toLowerCase()]=!0;d=A[f]=m}e=d;b=g in this.attributeMap?this.attributeMap[g]:b.s in this?this[b.s]:e&&b.l in e&&"function"!=typeof a||/^aria-|^data-|^role$/.test(g)?p:null;null!=b&&this._attrToDom(g,a,b);this._set(g,a)}return c||this},_attrPairNames:{},_getAttrNames:function(g){var a=this._attrPairNames;if(a[g])return a[g];var b=g.replace(/^[a-z]|-[a-zA-Z]/g,function(g){return g.charAt(g.length-1).toUpperCase()});return a[g]={n:g+"Node",s:"_set"+b+"Attr",g:"_get"+b+"Attr",l:b.toLowerCase()}},
_set:function(g,a){var b=this[g];this[g]=a;if(this._created&&!(b===a||b!==b&&a!==a))this._watchCallbacks&&this._watchCallbacks(g,b,a),this.emit("attrmodified-"+g,{detail:{prevValue:b,newValue:a}})},_get:function(g){return this[g]},emit:function(g,a,b){a=a||{};void 0===a.bubbles&&(a.bubbles=!0);void 0===a.cancelable&&(a.cancelable=!0);a.detail||(a.detail={});a.detail.widget=this;var p,c=this["on"+g];c&&(p=c.apply(this,b?b:[a]));this._started&&!this._beingDestroyed&&r.emit(this.domNode,g.toLowerCase(),
a);return p},on:function(g,a){var b=this._onMap(g);return b?n.after(this,b,a,!0):this.own(r(this.domNode,g,a))[0]},_onMap:function(g){var a=this.constructor,b=a._onMap;if(!b){var b=a._onMap={},p;for(p in a.prototype)/^on/.test(p)&&(b[p.replace(/^on/,"").toLowerCase()]=p)}return b["string"==typeof g&&g.toLowerCase()]},toString:function(){return"[Widget "+this.declaredClass+", "+(this.id||"NO ID")+"]"},getChildren:function(){return this.containerNode?y.findWidgets(this.containerNode):[]},getParent:function(){return y.getEnclosingWidget(this.domNode.parentNode)},
connect:function(g,a,b){return this.own(d.connect(g,a,this,b))[0]},disconnect:function(g){g.remove()},subscribe:function(g,a){return this.own(x.subscribe(g,q.hitch(this,a)))[0]},unsubscribe:function(g){g.remove()},isLeftToRight:function(){return this.dir?"ltr"==this.dir.toLowerCase():s.isBodyLtr(this.ownerDocument)},isFocusable:function(){return this.focus&&"none"!=t.get(this.domNode,"display")},placeAt:function(g,b){var p=!g.tagName&&y.byId(g);p&&p.addChild&&(!b||"number"===typeof b)?p.addChild(this,
b):(p=p&&"domNode"in p?p.containerNode&&!/after|before|replace/.test(b||"")?p.containerNode:p.domNode:l.byId(g,this.ownerDocument),a.place(this.domNode,p,b),!this._started&&(this.getParent()||{})._started&&this.startup());return this},defer:function(g,a){var b=setTimeout(q.hitch(this,function(){b&&(b=null,this._destroyed||q.hitch(this,g)())}),a||0);return{remove:function(){b&&(clearTimeout(b),b=null);return null}}}});v("dojo-bidi")&&h.extend(z);return h})},"dijit/Destroyable":function(){define(["dojo/_base/array",
"dojo/aspect","dojo/_base/declare"],function(e,k,n){return n("dijit.Destroyable",null,{destroy:function(e){this._destroyed=!0},own:function(){var h=["destroyRecursive","destroy","remove"];e.forEach(arguments,function(d){function b(){f.remove();e.forEach(c,function(a){a.remove()})}var l,f=k.before(this,"destroy",function(a){d[l](a)}),c=[];d.then?(l="cancel",d.then(b,b)):e.forEach(h,function(a){"function"===typeof d[a]&&(l||(l=a),c.push(k.after(d,a,b,!0)))})},this);return arguments}})})},"dijit/_OnDijitClickMixin":function(){define("dojo/on dojo/_base/array dojo/keys dojo/_base/declare dojo/has ./a11yclick".split(" "),
function(e,k,n,h,d,b){e=h("dijit._OnDijitClickMixin",null,{connect:function(d,f,c){return this.inherited(arguments,[d,"ondijitclick"==f?b:f,c])}});e.a11yclick=b;return e})},"dijit/a11yclick":function(){define(["dojo/keys","dojo/mouse","dojo/on","dojo/touch"],function(e,k,n,h){function d(b){if((b.keyCode===e.ENTER||b.keyCode===e.SPACE)&&!/input|button|textarea/i.test(b.target.nodeName))for(b=b.target;b;b=b.parentNode)if(b.dojoClick)return!0}var b;n(document,"keydown",function(f){d(f)?(b=f.target,f.preventDefault()):
b=null});n(document,"keyup",function(f){d(f)&&f.target==b&&(b=null,n.emit(f.target,"click",{cancelable:!0,bubbles:!0,ctrlKey:f.ctrlKey,shiftKey:f.shiftKey,metaKey:f.metaKey,altKey:f.altKey,_origType:f.type}))});var l=function(b,c){b.dojoClick=!0;return n(b,"click",c)};l.click=l;l.press=function(b,c){var a=n(b,h.press,function(a){("mousedown"!=a.type||k.isLeft(a))&&c(a)}),d=n(b,"keydown",function(a){(a.keyCode===e.ENTER||a.keyCode===e.SPACE)&&c(a)});return{remove:function(){a.remove();d.remove()}}};
l.release=function(b,c){var a=n(b,h.release,function(a){("mouseup"!=a.type||k.isLeft(a))&&c(a)}),d=n(b,"keyup",function(a){(a.keyCode===e.ENTER||a.keyCode===e.SPACE)&&c(a)});return{remove:function(){a.remove();d.remove()}}};l.move=h.move;return l})},"dijit/_FocusMixin":function(){define(["./focus","./_WidgetBase","dojo/_base/declare","dojo/_base/lang"],function(e,k,n,h){h.extend(k,{focused:!1,onFocus:function(){},onBlur:function(){},_onFocus:function(){this.onFocus()},_onBlur:function(){this.onBlur()}});
return n("dijit._FocusMixin",null,{_focusManager:e})})},"dojo/uacss":function(){define(["./dom-geometry","./_base/lang","./domReady","./sniff","./_base/window"],function(e,k,n,h,d){var b=d.doc.documentElement;d=h("ie");var l=h("trident"),f=h("opera"),c=Math.floor,a=h("ff"),s=e.boxModel.replace(/-/,""),f={dj_quirks:h("quirks"),dj_opera:f,dj_khtml:h("khtml"),dj_webkit:h("webkit"),dj_safari:h("safari"),dj_chrome:h("chrome"),dj_edge:h("edge"),dj_gecko:h("mozilla"),dj_ios:h("ios"),dj_android:h("android")};
d&&(f.dj_ie=!0,f["dj_ie"+c(d)]=!0,f.dj_iequirks=h("quirks"));l&&(f.dj_trident=!0,f["dj_trident"+c(l)]=!0);a&&(f["dj_ff"+c(a)]=!0);f["dj_"+s]=!0;var t="",v;for(v in f)f[v]&&(t+=v+" ");b.className=k.trim(b.className+" "+t);n(function(){if(!e.isBodyLtr()){var a="dj_rtl dijitRtl "+t.replace(/ /g,"-rtl ");b.className=k.trim(b.className+" "+a+"dj_rtl dijitRtl "+t.replace(/ /g,"-rtl "))}});return h})},"dijit/hccss":function(){define(["dojo/dom-class","dojo/hccss","dojo/domReady","dojo/_base/window"],function(e,
k,n,h){n(function(){k("highcontrast")&&e.add(h.body(),"dijit_a11y")});return k})},"dojo/hccss":function(){define("require ./_base/config ./dom-class ./dom-style ./has ./domReady ./_base/window".split(" "),function(e,k,n,h,d,b,l){d.add("highcontrast",function(){var b=l.doc.createElement("div");try{b.style.cssText='border: 1px solid; border-color:red green; position: absolute; height: 5px; top: -999px;background-image: url("'+(k.blankGif||e.toUrl("./resources/blank.gif"))+'");';l.body().appendChild(b);
var c=h.getComputedStyle(b),a=c.backgroundImage;return c.borderTopColor==c.borderRightColor||a&&("none"==a||"url(invalid-url:)"==a)}catch(s){return console.warn("hccss: exception detecting high-contrast mode, document is likely hidden: "+s.toString()),!1}finally{8>=d("ie")?b.outerHTML="":l.body().removeChild(b)}});b(function(){d("highcontrast")&&n.add(l.body(),"dj_a11y")});return d})},"dijit/_TemplatedMixin":function(){define("dojo/cache dojo/_base/declare dojo/dom-construct dojo/_base/lang dojo/on dojo/sniff dojo/string ./_AttachMixin".split(" "),
function(e,k,n,h,d,b,l,f){var c=k("dijit._TemplatedMixin",f,{templateString:null,templatePath:null,_skipNodeCache:!1,searchContainerNode:!0,_stringRepl:function(a){var b=this.declaredClass,c=this;return l.substitute(a,this,function(a,d){"!"==d.charAt(0)&&(a=h.getObject(d.substr(1),!1,c));if("undefined"==typeof a)throw Error(b+" template:"+d);return null==a?"":"!"==d.charAt(0)?a:this._escapeValue(""+a)},this)},_escapeValue:function(a){return a.replace(/["'<>&]/g,function(a){return{"\x26":"\x26amp;",
"\x3c":"\x26lt;","\x3e":"\x26gt;",'"':"\x26quot;","'":"\x26#x27;"}[a]})},buildRendering:function(){if(!this._rendered){this.templateString||(this.templateString=e(this.templatePath,{sanitize:!0}));var a=c.getCachedTemplate(this.templateString,this._skipNodeCache,this.ownerDocument),b;if(h.isString(a)){if(b=n.toDom(this._stringRepl(a),this.ownerDocument),1!=b.nodeType)throw Error("Invalid template: "+a);}else b=a.cloneNode(!0);this.domNode=b}this.inherited(arguments);this._rendered||this._fillContent(this.srcNodeRef);
this._rendered=!0},_fillContent:function(a){var b=this.containerNode;if(a&&b)for(;a.hasChildNodes();)b.appendChild(a.firstChild)}});c._templateCache={};c.getCachedTemplate=function(a,b,d){var f=c._templateCache,e=a,q=f[e];if(q){try{if(!q.ownerDocument||q.ownerDocument==(d||document))return q}catch(r){}n.destroy(q)}a=l.trim(a);if(b||a.match(/\$\{([^\}]+)\}/g))return f[e]=a;b=n.toDom(a,d);if(1!=b.nodeType)throw Error("Invalid template: "+a);return f[e]=b};b("ie")&&d(window,"unload",function(){var a=
c._templateCache,b;for(b in a){var d=a[b];"object"==typeof d&&n.destroy(d);delete a[b]}});return c})},"dojo/cache":function(){define(["./_base/kernel","./text"],function(e){return e.cache})},"dojo/text":function(){define(["./_base/kernel","require","./has","./has!host-browser?./request"],function(e,k,n,h){var d;n("host-browser")?d=function(a,b,c){h(a,{sync:!!b,headers:{"X-Requested-With":null}}).then(c)}:k.getText?d=k.getText:console.error("dojo/text plugin failed to load because loader does not support getText");
var b={},l=function(a){if(a){a=a.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,"");var b=a.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);b&&(a=b[1])}else a="";return a},f={},c={};e.cache=function(a,c,f){var e;"string"==typeof a?/\//.test(a)?(e=a,f=c):e=k.toUrl(a.replace(/\./g,"/")+(c?"/"+c:"")):(e=a+"",f=c);a=void 0!=f&&"string"!=typeof f?f.value:f;f=f&&f.sanitize;if("string"==typeof a)return b[e]=a,f?l(a):a;if(null===a)return delete b[e],null;e in b||d(e,!0,function(a){b[e]=
a});return f?l(b[e]):b[e]};return{dynamic:!0,normalize:function(a,b){var c=a.split("!"),d=c[0];return(/^\./.test(d)?b(d):d)+(c[1]?"!"+c[1]:"")},load:function(a,e,h){a=a.split("!");var k=1<a.length,u=a[0],q=e.toUrl(a[0]);a="url:"+q;var r=f,m=function(a){h(k?l(a):a)};u in b?r=b[u]:e.cache&&a in e.cache?r=e.cache[a]:q in b&&(r=b[q]);if(r===f)if(c[q])c[q].push(m);else{var w=c[q]=[m];d(q,!e.async,function(a){b[u]=b[q]=a;for(var g=0;g<w.length;)w[g++](a);delete c[q]})}else m(r)}}})},"dijit/_AttachMixin":function(){define("require dojo/_base/array dojo/_base/connect dojo/_base/declare dojo/_base/lang dojo/mouse dojo/on dojo/touch ./_WidgetBase".split(" "),
function(e,k,n,h,d,b,l,f,c){var a=d.delegate(f,{mouseenter:b.enter,mouseleave:b.leave,keypress:n._keypress}),s;n=h("dijit._AttachMixin",null,{constructor:function(){this._attachPoints=[];this._attachEvents=[]},buildRendering:function(){this.inherited(arguments);this._attachTemplateNodes(this.domNode);this._beforeFillContent()},_beforeFillContent:function(){},_attachTemplateNodes:function(a){for(var b=a;;)if(1==b.nodeType&&(this._processTemplateNode(b,function(a,b){return a.getAttribute(b)},this._attach)||
this.searchContainerNode)&&b.firstChild)b=b.firstChild;else{if(b==a)break;for(;!b.nextSibling;)if(b=b.parentNode,b==a)return;b=b.nextSibling}},_processTemplateNode:function(a,b,c){var f=!0,e=this.attachScope||this,m=b(a,"dojoAttachPoint")||b(a,"data-dojo-attach-point");if(m)for(var h=m.split(/\s*,\s*/);m=h.shift();)d.isArray(e[m])?e[m].push(a):e[m]=a,f="containerNode"!=m,this._attachPoints.push(m);if(b=b(a,"dojoAttachEvent")||b(a,"data-dojo-attach-event")){m=b.split(/\s*,\s*/);for(h=d.trim;b=m.shift();)if(b){var l=
null;-1!=b.indexOf(":")?(l=b.split(":"),b=h(l[0]),l=h(l[1])):b=h(b);l||(l=b);this._attachEvents.push(c(a,b,d.hitch(e,l)))}}return f},_attach:function(b,c,d){c=c.replace(/^on/,"").toLowerCase();c="dijitclick"==c?s||(s=e("./a11yclick")):a[c]||c;return l(b,c,d)},_detachTemplateNodes:function(){var a=this.attachScope||this;k.forEach(this._attachPoints,function(b){delete a[b]});this._attachPoints=[];k.forEach(this._attachEvents,function(a){a.remove()});this._attachEvents=[]},destroyRendering:function(){this._detachTemplateNodes();
this.inherited(arguments)}});d.extend(c,{dojoAttachEvent:"",dojoAttachPoint:""});return n})},"dijit/_CssStateMixin":function(){define("dojo/_base/array dojo/_base/declare dojo/dom dojo/dom-class dojo/has dojo/_base/lang dojo/on dojo/domReady dojo/touch dojo/_base/window ./a11yclick ./registry".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t){k=k("dijit._CssStateMixin",[],{hovering:!1,active:!1,_applyAttributes:function(){this.inherited(arguments);e.forEach("disabled readOnly checked selected focused state hovering active _opened".split(" "),
function(a){this.watch(a,b.hitch(this,"_setStateClass"))},this);for(var a in this.cssStateNodes||{})this._trackMouseState(this[a],this.cssStateNodes[a]);this._trackMouseState(this.domNode,this.baseClass);this._setStateClass()},_cssMouseEvent:function(a){if(!this.disabled)switch(a.type){case "mouseover":case "MSPointerOver":case "pointerover":this._set("hovering",!0);this._set("active",this._mouseDown);break;case "mouseout":case "MSPointerOut":case "pointerout":this._set("hovering",!1);this._set("active",
!1);break;case "mousedown":case "touchstart":case "MSPointerDown":case "pointerdown":case "keydown":this._set("active",!0);break;case "mouseup":case "dojotouchend":case "MSPointerUp":case "pointerup":case "keyup":this._set("active",!1)}},_setStateClass:function(){function a(c){b=b.concat(e.map(b,function(g){return g+c}),"dijit"+c)}var b=this.baseClass.split(" ");this.isLeftToRight()||a("Rtl");var c="mixed"==this.checked?"Mixed":this.checked?"Checked":"";this.checked&&a(c);this.state&&a(this.state);
this.selected&&a("Selected");this._opened&&a("Opened");this.disabled?a("Disabled"):this.readOnly?a("ReadOnly"):this.active?a("Active"):this.hovering&&a("Hover");this.focused&&a("Focused");var c=this.stateNode||this.domNode,d={};e.forEach(c.className.split(" "),function(a){d[a]=!0});"_stateClasses"in this&&e.forEach(this._stateClasses,function(a){delete d[a]});e.forEach(b,function(a){d[a]=!0});var f=[],h;for(h in d)f.push(h);c.className=f.join(" ");this._stateClasses=b},_subnodeCssMouseEvent:function(a,
b,c){function d(c){h.toggle(a,b+"Active",c)}if(!this.disabled&&!this.readOnly)switch(c.type){case "mouseover":case "MSPointerOver":case "pointerover":h.toggle(a,b+"Hover",!0);break;case "mouseout":case "MSPointerOut":case "pointerout":h.toggle(a,b+"Hover",!1);d(!1);break;case "mousedown":case "touchstart":case "MSPointerDown":case "pointerdown":case "keydown":d(!0);break;case "mouseup":case "MSPointerUp":case "pointerup":case "dojotouchend":case "keyup":d(!1);break;case "focus":case "focusin":h.toggle(a,
b+"Focused",!0);break;case "blur":case "focusout":h.toggle(a,b+"Focused",!1)}},_trackMouseState:function(a,b){a._cssState=b}});f(function(){function b(a,c,d){if(!d||!n.isDescendant(d,c))for(;c&&c!=d;c=c.parentNode)if(c._cssState){var f=t.getEnclosingWidget(c);f&&(c==f.domNode?f._cssMouseEvent(a):f._subnodeCssMouseEvent(c,c._cssState,a))}}var d=a.body(),f;l(d,c.over,function(a){b(a,a.target,a.relatedTarget)});l(d,c.out,function(a){b(a,a.target,a.relatedTarget)});l(d,s.press,function(a){f=a.target;
b(a,f)});l(d,s.release,function(a){b(a,f);f=null});l(d,"focusin, focusout",function(a){var b=a.target;if(b._cssState&&!b.getAttribute("widgetId")){var c=t.getEnclosingWidget(b);c&&c._subnodeCssMouseEvent(b,b._cssState,a)}})});return k})},"dijit/form/_FormMixin":function(){define("dojo/_base/array dojo/_base/declare dojo/_base/kernel dojo/_base/lang dojo/on dojo/window".split(" "),function(e,k,n,h,d,b){return k("dijit.form._FormMixin",null,{state:"",_getDescendantFormWidgets:function(b){var d=[];e.forEach(b||
this.getChildren(),function(b){"value"in b?d.push(b):d=d.concat(this._getDescendantFormWidgets(b.getChildren()))},this);return d},reset:function(){e.forEach(this._getDescendantFormWidgets(),function(b){b.reset&&b.reset()})},validate:function(){var d=!1;return e.every(e.map(this._getDescendantFormWidgets(),function(f){f._hasBeenBlurred=!0;var c=f.disabled||!f.validate||f.validate();!c&&!d&&(b.scrollIntoView(f.containerNode||f.domNode),f.focus(),d=!0);return c}),function(b){return b})},setValues:function(b){n.deprecated(this.declaredClass+
"::setValues() is deprecated. Use set('value', val) instead.","","2.0");return this.set("value",b)},_setValueAttr:function(b){var d={};e.forEach(this._getDescendantFormWidgets(),function(a){a.name&&(d[a.name]||(d[a.name]=[])).push(a)});for(var c in d)if(d.hasOwnProperty(c)){var a=d[c],s=h.getObject(c,!1,b);void 0!==s&&(s=[].concat(s),"boolean"==typeof a[0].checked?e.forEach(a,function(a){a.set("value",-1!=e.indexOf(s,a._get("value")))}):a[0].multiple?a[0].set("value",s):e.forEach(a,function(a,b){a.set("value",
s[b])}))}},getValues:function(){n.deprecated(this.declaredClass+"::getValues() is deprecated. Use get('value') instead.","","2.0");return this.get("value")},_getValueAttr:function(){var b={};e.forEach(this._getDescendantFormWidgets(),function(d){var c=d.name;if(c&&!d.disabled){var a=d.get("value");"boolean"==typeof d.checked?/Radio/.test(d.declaredClass)?!1!==a?h.setObject(c,a,b):(a=h.getObject(c,!1,b),void 0===a&&h.setObject(c,null,b)):(d=h.getObject(c,!1,b),d||(d=[],h.setObject(c,d,b)),!1!==a&&
d.push(a)):(d=h.getObject(c,!1,b),"undefined"!=typeof d?h.isArray(d)?d.push(a):h.setObject(c,[d,a],b):h.setObject(c,a,b))}});return b},isValid:function(){return""==this.state},onValidStateChange:function(){},_getState:function(){var b=e.map(this._descendants,function(b){return b.get("state")||""});return 0<=e.indexOf(b,"Error")?"Error":0<=e.indexOf(b,"Incomplete")?"Incomplete":""},disconnectChildren:function(){},connectChildren:function(b){this._descendants=this._getDescendantFormWidgets();e.forEach(this._descendants,
function(b){b._started||b.startup()});b||this._onChildChange()},_onChildChange:function(b){(!b||"state"==b||"disabled"==b)&&this._set("state",this._getState());if(!b||"value"==b||"disabled"==b||"checked"==b)this._onChangeDelayTimer&&this._onChangeDelayTimer.remove(),this._onChangeDelayTimer=this.defer(function(){delete this._onChangeDelayTimer;this._set("value",this.get("value"))},10)},startup:function(){this.inherited(arguments);this._descendants=this._getDescendantFormWidgets();this.value=this.get("value");
this.state=this._getState();var b=this;this.own(d(this.containerNode,"attrmodified-state, attrmodified-disabled, attrmodified-value, attrmodified-checked",function(d){d.target!=b.domNode&&b._onChildChange(d.type.replace("attrmodified-",""))}));this.watch("state",function(b,c,a){this.onValidStateChange(""==a)})},destroy:function(){this.inherited(arguments)}})})},"dijit/_DialogMixin":function(){define(["dojo/_base/declare","./a11y"],function(e,k){return e("dijit._DialogMixin",null,{actionBarTemplate:"",
execute:function(){},onCancel:function(){},onExecute:function(){},_onSubmit:function(){this.onExecute();this.execute(this.get("value"))},_getFocusItems:function(){var e=k._getTabNavigable(this.domNode);this._firstFocusItem=e.lowest||e.first||this.closeButtonNode||this.domNode;this._lastFocusItem=e.last||e.highest||this._firstFocusItem}})})},"dijit/DialogUnderlay":function(){define("dojo/_base/declare dojo/_base/lang dojo/aspect dojo/dom-attr dojo/dom-style dojo/on dojo/window ./_Widget ./_TemplatedMixin ./BackgroundIframe ./Viewport ./main".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t){var v=e("dijit.DialogUnderlay",[f,c],{templateString:"\x3cdiv class\x3d'dijitDialogUnderlayWrapper'\x3e\x3cdiv class\x3d'dijitDialogUnderlay' tabIndex\x3d'-1' data-dojo-attach-point\x3d'node'\x3e\x3c/div\x3e\x3c/div\x3e",dialogId:"","class":"",_modalConnects:[],_setDialogIdAttr:function(a){h.set(this.node,"id",a+"_underlay");this._set("dialogId",a)},_setClassAttr:function(a){this.node.className="dijitDialogUnderlay "+a;this._set("class",a)},postCreate:function(){this.ownerDocumentBody.appendChild(this.domNode);
this.own(b(this.domNode,"keydown",k.hitch(this,"_onKeyDown")));this.inherited(arguments)},layout:function(){var a=this.node.style,b=this.domNode.style;b.display="none";var c=l.getBox(this.ownerDocument);b.top=c.t+"px";b.left=c.l+"px";a.width=c.w+"px";a.height=c.h+"px";b.display="block"},show:function(){this.domNode.style.display="block";this.open=!0;this.layout();this.bgIframe=new a(this.domNode);var c=l.get(this.ownerDocument);this._modalConnects=[s.on("resize",k.hitch(this,"layout")),b(c,"scroll",
k.hitch(this,"layout"))]},hide:function(){this.bgIframe.destroy();delete this.bgIframe;for(this.domNode.style.display="none";this._modalConnects.length;)this._modalConnects.pop().remove();this.open=!1},destroy:function(){for(;this._modalConnects.length;)this._modalConnects.pop().remove();this.inherited(arguments)},_onKeyDown:function(){}});v.show=function(a,b){var c=v._singleton;!c||c._destroyed?c=t._underlay=v._singleton=new v(a):a&&c.set(a);d.set(c.domNode,"zIndex",b);c.open||c.show()};v.hide=function(){var a=
v._singleton;a&&!a._destroyed&&a.hide()};return v})},"dijit/BackgroundIframe":function(){define("require ./main dojo/_base/config dojo/dom-construct dojo/dom-style dojo/_base/lang dojo/on dojo/sniff".split(" "),function(e,k,n,h,d,b,l,f){f.add("config-bgIframe",f("ie")&&!/IEMobile\/10\.0/.test(navigator.userAgent)||f("trident")&&/Windows NT 6.[01]/.test(navigator.userAgent));var c=new function(){var a=[];this.pop=function(){var b;a.length?(b=a.pop(),b.style.display=""):(9>f("ie")?(b="\x3ciframe src\x3d'"+
(n.dojoBlankHtmlUrl||e.toUrl("dojo/resources/blank.html")||'javascript:""')+"' role\x3d'presentation' style\x3d'position: absolute; left: 0px; top: 0px;z-index: -1; filter:Alpha(Opacity\x3d\"0\");'\x3e",b=document.createElement(b)):(b=h.create("iframe"),b.src='javascript:""',b.className="dijitBackgroundIframe",b.setAttribute("role","presentation"),d.set(b,"opacity",0.1)),b.tabIndex=-1);return b};this.push=function(b){b.style.display="none";a.push(b)}};k.BackgroundIframe=function(a){if(!a.id)throw Error("no id");
if(f("config-bgIframe")){var e=this.iframe=c.pop();a.appendChild(e);7>f("ie")||f("quirks")?(this.resize(a),this._conn=l(a,"resize",b.hitch(this,"resize",a))):d.set(e,{width:"100%",height:"100%"})}};b.extend(k.BackgroundIframe,{resize:function(a){this.iframe&&d.set(this.iframe,{width:a.offsetWidth+"px",height:a.offsetHeight+"px"})},destroy:function(){this._conn&&(this._conn.remove(),this._conn=null);this.iframe&&(this.iframe.parentNode.removeChild(this.iframe),c.push(this.iframe),delete this.iframe)}});
return k.BackgroundIframe})},"dijit/Viewport":function(){define(["dojo/Evented","dojo/on","dojo/domReady","dojo/sniff","dojo/window"],function(e,k,n,h,d){var b=new e,l;n(function(){var f=d.getBox();b._rlh=k(window,"resize",function(){var a=d.getBox();f.h==a.h&&f.w==a.w||(f=a,b.emit("resize"))});if(8==h("ie")){var c=screen.deviceXDPI;setInterval(function(){screen.deviceXDPI!=c&&(c=screen.deviceXDPI,b.emit("resize"))},500)}h("ios")&&(k(document,"focusin",function(a){l=a.target}),k(document,"focusout",
function(a){l=null}))});b.getEffectiveBox=function(b){b=d.getBox(b);var c=l&&l.tagName&&l.tagName.toLowerCase();if(h("ios")&&l&&!l.readOnly&&("textarea"==c||"input"==c&&/^(color|email|number|password|search|tel|text|url)$/.test(l.type)))b.h*=0==orientation||180==orientation?0.66:0.4,c=l.getBoundingClientRect(),b.h=Math.max(b.h,c.top+c.height);return b};return b})},"dijit/layout/ContentPane":function(){define("dojo/_base/kernel dojo/_base/lang ../_Widget ../_Container ./_ContentPaneResizeMixin dojo/string dojo/html dojo/_base/array dojo/_base/declare dojo/_base/Deferred dojo/dom dojo/dom-attr dojo/dom-construct dojo/_base/xhr dojo/i18n dojo/when dojo/i18n!../nls/loading".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r){return c("dijit.layout.ContentPane",[n,h,d],{href:"",content:"",extractContent:!1,parseOnLoad:!0,parserScope:e._scopeName,preventCache:!1,preload:!1,refreshOnShow:!1,loadingMessage:"\x3cspan class\x3d'dijitContentPaneLoading'\x3e\x3cspan class\x3d'dijitInline dijitIconLoading'\x3e\x3c/span\x3e${loadingState}\x3c/span\x3e",errorMessage:"\x3cspan class\x3d'dijitContentPaneError'\x3e\x3cspan class\x3d'dijitInline dijitIconError'\x3e\x3c/span\x3e${errorState}\x3c/span\x3e",
isLoaded:!1,baseClass:"dijitContentPane",ioArgs:{},onLoadDeferred:null,_setTitleAttr:null,stopParser:!0,template:!1,markupFactory:function(a,b,c){var g=new c(a,b);return!g.href&&g._contentSetter&&g._contentSetter.parseDeferred&&!g._contentSetter.parseDeferred.isFulfilled()?g._contentSetter.parseDeferred.then(function(){return g}):g},create:function(a,b){if((!a||!a.template)&&b&&!("href"in a)&&!("content"in a)){b=s.byId(b);for(var c=b.ownerDocument.createDocumentFragment();b.firstChild;)c.appendChild(b.firstChild);
a=k.delegate(a,{content:c})}this.inherited(arguments,[a,b])},postMixInProperties:function(){this.inherited(arguments);var a=q.getLocalization("dijit","loading",this.lang);this.loadingMessage=b.substitute(this.loadingMessage,a);this.errorMessage=b.substitute(this.errorMessage,a)},buildRendering:function(){this.inherited(arguments);this.containerNode||(this.containerNode=this.domNode);this.domNode.removeAttribute("title")},startup:function(){this.inherited(arguments);this._contentSetter&&f.forEach(this._contentSetter.parseResults,
function(a){!a._started&&(!a._destroyed&&k.isFunction(a.startup))&&(a.startup(),a._started=!0)},this)},_startChildren:function(){f.forEach(this.getChildren(),function(a){!a._started&&(!a._destroyed&&k.isFunction(a.startup))&&(a.startup(),a._started=!0)});this._contentSetter&&f.forEach(this._contentSetter.parseResults,function(a){!a._started&&(!a._destroyed&&k.isFunction(a.startup))&&(a.startup(),a._started=!0)},this)},setHref:function(a){e.deprecated("dijit.layout.ContentPane.setHref() is deprecated. Use set('href', ...) instead.",
"","2.0");return this.set("href",a)},_setHrefAttr:function(b){this.cancel();this.onLoadDeferred=new a(k.hitch(this,"cancel"));this.onLoadDeferred.then(k.hitch(this,"onLoad"));this._set("href",b);this.preload||this._created&&this._isShown()?this._load():this._hrefChanged=!0;return this.onLoadDeferred},setContent:function(a){e.deprecated("dijit.layout.ContentPane.setContent() is deprecated.  Use set('content', ...) instead.","","2.0");this.set("content",a)},_setContentAttr:function(b){this._set("href",
"");this.cancel();this.onLoadDeferred=new a(k.hitch(this,"cancel"));this._created&&this.onLoadDeferred.then(k.hitch(this,"onLoad"));this._setContent(b||"");this._isDownloaded=!1;return this.onLoadDeferred},_getContentAttr:function(){return this.containerNode.innerHTML},cancel:function(){this._xhrDfd&&-1==this._xhrDfd.fired&&this._xhrDfd.cancel();delete this._xhrDfd;this.onLoadDeferred=null},destroy:function(){this.cancel();this.inherited(arguments)},destroyRecursive:function(a){this._beingDestroyed||
this.inherited(arguments)},_onShow:function(){this.inherited(arguments);if(this.href&&!this._xhrDfd&&(!this.isLoaded||this._hrefChanged||this.refreshOnShow))return this.refresh()},refresh:function(){this.cancel();this.onLoadDeferred=new a(k.hitch(this,"cancel"));this.onLoadDeferred.then(k.hitch(this,"onLoad"));this._load();return this.onLoadDeferred},_load:function(){this._setContent(this.onDownloadStart(),!0);var a=this,b={preventCache:this.preventCache||this.refreshOnShow,url:this.href,handleAs:"text"};
k.isObject(this.ioArgs)&&k.mixin(b,this.ioArgs);var c=this._xhrDfd=(this.ioMethod||u.get)(b),g;c.then(function(b){g=b;try{return a._isDownloaded=!0,a._setContent(b,!1)}catch(c){a._onError("Content",c)}},function(g){c.canceled||a._onError("Download",g);delete a._xhrDfd;return g}).then(function(){a.onDownloadEnd();delete a._xhrDfd;return g});delete this._hrefChanged},_onLoadHandler:function(a){this._set("isLoaded",!0);try{this.onLoadDeferred.resolve(a)}catch(b){console.error("Error "+this.widgetId+
" running custom onLoad code: "+b.message)}},_onUnloadHandler:function(){this._set("isLoaded",!1);try{this.onUnload()}catch(a){console.error("Error "+this.widgetId+" running custom onUnload code: "+a.message)}},destroyDescendants:function(a){this.isLoaded&&this._onUnloadHandler();var b=this._contentSetter;f.forEach(this.getChildren(),function(b){b.destroyRecursive?b.destroyRecursive(a):b.destroy&&b.destroy(a);b._destroyed=!0});b&&(f.forEach(b.parseResults,function(b){b._destroyed||(b.destroyRecursive?
b.destroyRecursive(a):b.destroy&&b.destroy(a),b._destroyed=!0)}),delete b.parseResults);a||v.empty(this.containerNode);delete this._singleChild},_setContent:function(a,b){a=this.preprocessContent(a);this.destroyDescendants();var c=this._contentSetter;c&&c instanceof l._ContentSetter||(c=this._contentSetter=new l._ContentSetter({node:this.containerNode,_onError:k.hitch(this,this._onError),onContentError:k.hitch(this,function(g){g=this.onContentError(g);try{this.containerNode.innerHTML=g}catch(a){console.error("Fatal "+
this.id+" could not change content due to "+a.message,a)}})}));var g=k.mixin({cleanContent:this.cleanContent,extractContent:this.extractContent,parseContent:!a.domNode&&this.parseOnLoad,parserScope:this.parserScope,startup:!1,dir:this.dir,lang:this.lang,textDir:this.textDir},this._contentSetterParams||{}),g=c.set(k.isObject(a)&&a.domNode?a.domNode:a,g),p=this;return r(g&&g.then?g:c.parseDeferred,function(){delete p._contentSetterParams;b||(p._started&&(p._startChildren(),p._scheduleLayout()),p._onLoadHandler(a))})},
preprocessContent:function(a){return a},_onError:function(a,b,c){this.onLoadDeferred.reject(b);a=this["on"+a+"Error"].call(this,b);c?console.error(c,b):a&&this._setContent(a,!0)},onLoad:function(){},onUnload:function(){},onDownloadStart:function(){return this.loadingMessage},onContentError:function(){},onDownloadError:function(){return this.errorMessage},onDownloadEnd:function(){}})})},"dijit/_Container":function(){define(["dojo/_base/array","dojo/_base/declare","dojo/dom-construct","dojo/_base/kernel"],
function(e,k,n,h){return k("dijit._Container",null,{buildRendering:function(){this.inherited(arguments);this.containerNode||(this.containerNode=this.domNode)},addChild:function(d,b){var e=this.containerNode;if(0<b){for(e=e.firstChild;0<b;)1==e.nodeType&&b--,e=e.nextSibling;e?b="before":(e=this.containerNode,b="last")}n.place(d.domNode,e,b);this._started&&!d._started&&d.startup()},removeChild:function(d){"number"==typeof d&&(d=this.getChildren()[d]);d&&(d=d.domNode)&&d.parentNode&&d.parentNode.removeChild(d)},
hasChildren:function(){return 0<this.getChildren().length},_getSiblingOfChild:function(d,b){var h=this.getChildren(),f=e.indexOf(h,d);return h[f+b]},getIndexOfChild:function(d){return e.indexOf(this.getChildren(),d)}})})},"dijit/layout/_ContentPaneResizeMixin":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-class dojo/dom-geometry dojo/dom-style dojo/_base/lang dojo/query ../registry ../Viewport ./utils".split(" "),function(e,k,n,h,d,b,l,f,c,a){return k("dijit.layout._ContentPaneResizeMixin",
null,{doLayout:!0,isLayoutContainer:!0,startup:function(){if(!this._started){var a=this.getParent();this._childOfLayoutWidget=a&&a.isLayoutContainer;this._needLayout=!this._childOfLayoutWidget;this.inherited(arguments);this._isShown()&&this._onShow();this._childOfLayoutWidget||this.own(c.on("resize",b.hitch(this,"resize")))}},_checkIfSingleChild:function(){if(this.doLayout){var a=[],b=!1;l("\x3e *",this.containerNode).some(function(c){var d=f.byNode(c);d&&d.resize?a.push(d):!/script|link|style/i.test(c.nodeName)&&
c.offsetHeight&&(b=!0)});this._singleChild=1==a.length&&!b?a[0]:null;n.toggle(this.containerNode,this.baseClass+"SingleChild",!!this._singleChild)}},resize:function(a,b){this._resizeCalled=!0;this._scheduleLayout(a,b)},_scheduleLayout:function(a,b){this._isShown()?this._layout(a,b):(this._needLayout=!0,this._changeSize=a,this._resultSize=b)},_layout:function(c,d){delete this._needLayout;!this._wasShown&&!1!==this.open&&this._onShow();c&&h.setMarginBox(this.domNode,c);var f=this.containerNode;if(f===
this.domNode){var e=d||{};b.mixin(e,c||{});if(!("h"in e)||!("w"in e))e=b.mixin(h.getMarginBox(f),e);this._contentBox=a.marginBox2contentBox(f,e)}else this._contentBox=h.getContentBox(f);this._layoutChildren()},_layoutChildren:function(){this._checkIfSingleChild();if(this._singleChild&&this._singleChild.resize){var a=this._contentBox||h.getContentBox(this.containerNode);this._singleChild.resize({w:a.w,h:a.h})}else for(var a=this.getChildren(),b,c=0;b=a[c++];)b.resize&&b.resize()},_isShown:function(){if(this._childOfLayoutWidget)return this._resizeCalled&&
"open"in this?this.open:this._resizeCalled;if("open"in this)return this.open;var a=this.domNode,b=this.domNode.parentNode;return"none"!=a.style.display&&"hidden"!=a.style.visibility&&!n.contains(a,"dijitHidden")&&b&&b.style&&"none"!=b.style.display},_onShow:function(){this._wasShown=!0;this._needLayout&&this._layout(this._changeSize,this._resultSize);this.inherited(arguments)}})})},"dijit/layout/utils":function(){define(["dojo/_base/array","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/lang"],
function(e,k,n,h,d){function b(b,c){var a=b.resize?b.resize(c):n.setMarginBox(b.domNode,c);a?d.mixin(b,a):(d.mixin(b,n.getMarginBox(b.domNode)),d.mixin(b,c))}var l={marginBox2contentBox:function(b,c){var a=h.getComputedStyle(b),d=n.getMarginExtents(b,a),e=n.getPadBorderExtents(b,a);return{l:h.toPixelValue(b,a.paddingLeft),t:h.toPixelValue(b,a.paddingTop),w:c.w-(d.w+e.w),h:c.h-(d.h+e.h)}},layoutChildren:function(f,c,a,h,l){c=d.mixin({},c);k.add(f,"dijitLayoutContainer");a=e.filter(a,function(a){return"center"!=
a.region&&"client"!=a.layoutAlign}).concat(e.filter(a,function(a){return"center"==a.region||"client"==a.layoutAlign}));e.forEach(a,function(a){var d=a.domNode,f=a.region||a.layoutAlign;if(!f)throw Error("No region setting for "+a.id);var e=d.style;e.left=c.l+"px";e.top=c.t+"px";e.position="absolute";k.add(d,"dijitAlign"+(f.substring(0,1).toUpperCase()+f.substring(1)));d={};h&&h==a.id&&(d["top"==a.region||"bottom"==a.region?"h":"w"]=l);"leading"==f&&(f=a.isLeftToRight()?"left":"right");"trailing"==
f&&(f=a.isLeftToRight()?"right":"left");"top"==f||"bottom"==f?(d.w=c.w,b(a,d),c.h-=a.h,"top"==f?c.t+=a.h:e.top=c.t+c.h+"px"):"left"==f||"right"==f?(d.h=c.h,b(a,d),c.w-=a.w,"left"==f?c.l+=a.w:e.left=c.l+c.w+"px"):("client"==f||"center"==f)&&b(a,c)})}};d.setObject("dijit.layout.utils",l);return l})},"dojo/html":function(){define("./_base/kernel ./_base/lang ./_base/array ./_base/declare ./dom ./dom-construct ./parser".split(" "),function(e,k,n,h,d,b,l){var f=0,c={_secureForInnerHtml:function(a){return a.replace(/(?:\s*<!DOCTYPE\s[^>]+>|<title[^>]*>[\s\S]*?<\/title>)/ig,
"")},_emptyNode:b.empty,_setNodeContent:function(a,c){b.empty(a);if(c)if("number"==typeof c&&(c=c.toString()),"string"==typeof c&&(c=b.toDom(c,a.ownerDocument)),!c.nodeType&&k.isArrayLike(c))for(var d=c.length,f=0;f<c.length;f=d==c.length?f+1:0)b.place(c[f],a,"last");else b.place(c,a,"last");return a},_ContentSetter:h("dojo.html._ContentSetter",null,{node:"",content:"",id:"",cleanContent:!1,extractContent:!1,parseContent:!1,parserScope:e._scopeName,startup:!0,constructor:function(a,b){k.mixin(this,
a||{});b=this.node=d.byId(this.node||b);this.id||(this.id=["Setter",b?b.id||b.tagName:"",f++].join("_"))},set:function(a,b){void 0!==a&&(this.content=a);b&&this._mixin(b);this.onBegin();this.setContent();var c=this.onEnd();return c&&c.then?c:this.node},setContent:function(){var a=this.node;if(!a)throw Error(this.declaredClass+": setContent given no node");try{a=c._setNodeContent(a,this.content)}catch(b){var d=this.onContentError(b);try{a.innerHTML=d}catch(f){console.error("Fatal "+this.declaredClass+
".setContent could not change content due to "+f.message,f)}}this.node=a},empty:function(){this.parseDeferred&&(this.parseDeferred.isResolved()||this.parseDeferred.cancel(),delete this.parseDeferred);this.parseResults&&this.parseResults.length&&(n.forEach(this.parseResults,function(a){a.destroy&&a.destroy()}),delete this.parseResults);b.empty(this.node)},onBegin:function(){var a=this.content;if(k.isString(a)&&(this.cleanContent&&(a=c._secureForInnerHtml(a)),this.extractContent)){var b=a.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);
b&&(a=b[1])}this.empty();this.content=a;return this.node},onEnd:function(){this.parseContent&&this._parse();return this.node},tearDown:function(){delete this.parseResults;delete this.parseDeferred;delete this.node;delete this.content},onContentError:function(a){return"Error occurred setting content: "+a},onExecError:function(a){return"Error occurred executing scripts: "+a},_mixin:function(a){var b={},c;for(c in a)c in b||(this[c]=a[c])},_parse:function(){var a=this.node;try{var b={};n.forEach(["dir",
"lang","textDir"],function(a){this[a]&&(b[a]=this[a])},this);var c=this;this.parseDeferred=l.parse({rootNode:a,noStart:!this.startup,inherited:b,scope:this.parserScope}).then(function(a){return c.parseResults=a},function(a){c._onError("Content",a,"Error parsing in _ContentSetter#"+this.id)})}catch(d){this._onError("Content",d,"Error parsing in _ContentSetter#"+this.id)}},_onError:function(a,b,d){a=this["on"+a+"Error"].call(this,b);d?console.error(d,b):a&&c._setNodeContent(this.node,a,!0)}}),set:function(a,
b,d){void 0==b&&(console.warn("dojo.html.set: no cont argument provided, using empty string"),b="");"number"==typeof b&&(b=b.toString());return d?(new c._ContentSetter(k.mixin(d,{content:b,node:a}))).set():c._setNodeContent(a,b,!0)}};k.setObject("dojo.html",c);return c})},"dojo/parser":function(){define("require ./_base/kernel ./_base/lang ./_base/array ./_base/config ./dom ./_base/window ./_base/url ./aspect ./promise/all ./date/stamp ./Deferred ./has ./query ./on ./ready".split(" "),function(e,
k,n,h,d,b,l,f,c,a,s,t,v,u,q,r){function m(g){return eval("("+g+")")}function w(a){var b=a._nameCaseMap,p=a.prototype;if(!b||b._extendCnt<g){var b=a._nameCaseMap={},c;for(c in p)"_"!==c.charAt(0)&&(b[c.toLowerCase()]=c);b._extendCnt=g}return b}function x(g,a){a||(a=e);var b=a._dojoParserCtorMap||(a._dojoParserCtorMap={}),p=g.join();if(!b[p]){for(var c=[],d=0,f=g.length;d<f;d++){var m=g[d];c[c.length]=b[m]=b[m]||n.getObject(m)||~m.indexOf("/")&&a(m)}d=c.shift();b[p]=c.length?d.createSubclass?d.createSubclass(c):
d.extend.apply(d,c):d}return b[p]}new Date("X");var g=0;c.after(n,"extend",function(){g++},!0);var p={_clearCache:function(){g++;_ctorMap={}},_functionFromScript:function(g,a){var b="",p="",c=g.getAttribute(a+"args")||g.getAttribute("args"),d=g.getAttribute("with"),c=(c||"").split(/\s*,\s*/);d&&d.length&&h.forEach(d.split(/\s*,\s*/),function(g){b+="with("+g+"){";p+="}"});return new Function(c,b+g.innerHTML+p)},instantiate:function(g,a,b){a=a||{};b=b||{};var p=(b.scope||k._scopeName)+"Type",c="data-"+
(b.scope||k._scopeName)+"-",d=c+"type",f=c+"mixins",m=[];h.forEach(g,function(g){var b=p in a?a[p]:g.getAttribute(d)||g.getAttribute(p);if(b){var c=g.getAttribute(f),b=c?[b].concat(c.split(/\s*,\s*/)):[b];m.push({node:g,types:b})}});return this._instantiate(m,a,b)},_instantiate:function(g,b,p,c){function d(g){!b._started&&!p.noStart&&h.forEach(g,function(g){"function"===typeof g.startup&&!g._started&&g.startup()});return g}g=h.map(g,function(g){var a=g.ctor||x(g.types,p.contextRequire);if(!a)throw Error("Unable to resolve constructor for: '"+
g.types.join()+"'");return this.construct(a,g.node,b,p,g.scripts,g.inherited)},this);return c?a(g).then(d):d(g)},construct:function(g,a,b,p,d,e){function r(g){I&&n.setObject(I,g);for(L=0;L<T.length;L++)c[T[L].advice||"after"](g,T[L].method,n.hitch(g,T[L].func),!0);for(L=0;L<U.length;L++)U[L].call(g);for(L=0;L<W.length;L++)g.watch(W[L].prop,W[L].func);for(L=0;L<X.length;L++)q(g,X[L].event,X[L].func);return g}var l=g&&g.prototype;p=p||{};var x={};p.defaults&&n.mixin(x,p.defaults);e&&n.mixin(x,e);var t;
v("dom-attributes-explicit")?t=a.attributes:v("dom-attributes-specified-flag")?t=h.filter(a.attributes,function(g){return g.specified}):(e=(/^input$|^img$/i.test(a.nodeName)?a:a.cloneNode(!1)).outerHTML.replace(/=[^\s"']+|="[^"]*"|='[^']*'/g,"").replace(/^\s*<[a-zA-Z0-9]*\s*/,"").replace(/\s*>.*$/,""),t=h.map(e.split(/\s+/),function(g){var b=g.toLowerCase();return{name:g,value:"LI"==a.nodeName&&"value"==g||"enctype"==b?a.getAttribute(b):a.getAttributeNode(b).value}}));var H=p.scope||k._scopeName;
e="data-"+H+"-";var D={};"dojo"!==H&&(D[e+"props"]="data-dojo-props",D[e+"type"]="data-dojo-type",D[e+"mixins"]="data-dojo-mixins",D[H+"type"]="dojotype",D[e+"id"]="data-dojo-id");for(var L=0,E,H=[],I,R;E=t[L++];){var V=E.name,N=V.toLowerCase();E=E.value;switch(D[N]||N){case "data-dojo-type":case "dojotype":case "data-dojo-mixins":break;case "data-dojo-props":R=E;break;case "data-dojo-id":case "jsid":I=E;break;case "data-dojo-attach-point":case "dojoattachpoint":x.dojoAttachPoint=E;break;case "data-dojo-attach-event":case "dojoattachevent":x.dojoAttachEvent=
E;break;case "class":x["class"]=a.className;break;case "style":x.style=a.style&&a.style.cssText;break;default:if(V in l||(V=w(g)[N]||V),V in l)switch(typeof l[V]){case "string":x[V]=E;break;case "number":x[V]=E.length?Number(E):NaN;break;case "boolean":x[V]="false"!=E.toLowerCase();break;case "function":""===E||-1!=E.search(/[^\w\.]+/i)?x[V]=new Function(E):x[V]=n.getObject(E,!1)||new Function(E);H.push(V);break;default:N=l[V],x[V]=N&&"length"in N?E?E.split(/\s*,\s*/):[]:N instanceof Date?""==E?new Date(""):
"now"==E?new Date:s.fromISOString(E):N instanceof f?k.baseUrl+E:m(E)}else x[V]=E}}for(t=0;t<H.length;t++)D=H[t].toLowerCase(),a.removeAttribute(D),a[D]=null;if(R)try{R=m.call(p.propsThis,"{"+R+"}"),n.mixin(x,R)}catch(M){throw Error(M.toString()+" in data-dojo-props\x3d'"+R+"'");}n.mixin(x,b);d||(d=g&&(g._noScript||l._noScript)?[]:u("\x3e script[type^\x3d'dojo/']",a));var T=[],U=[],W=[],X=[];if(d)for(L=0;L<d.length;L++)D=d[L],a.removeChild(D),b=D.getAttribute(e+"event")||D.getAttribute("event"),p=
D.getAttribute(e+"prop"),R=D.getAttribute(e+"method"),H=D.getAttribute(e+"advice"),t=D.getAttribute("type"),D=this._functionFromScript(D,e),b?"dojo/connect"==t?T.push({method:b,func:D}):"dojo/on"==t?X.push({event:b,func:D}):x[b]=D:"dojo/aspect"==t?T.push({method:R,advice:H,func:D}):"dojo/watch"==t?W.push({prop:p,func:D}):U.push(D);g=(d=g.markupFactory||l.markupFactory)?d(x,a,g):new g(x,a);return g.then?g.then(r):r(g)},scan:function(g,a){function b(g){if(!g.inherited){g.inherited={};var a=g.node,p=
b(g.parent),a={dir:a.getAttribute("dir")||p.dir,lang:a.getAttribute("lang")||p.lang,textDir:a.getAttribute(q)||p.textDir},c;for(c in a)a[c]&&(g.inherited[c]=a[c])}return g.inherited}var p=[],c=[],d={},f=(a.scope||k._scopeName)+"Type",m="data-"+(a.scope||k._scopeName)+"-",r=m+"type",q=m+"textdir",m=m+"mixins",l=g.firstChild,w=a.inherited;if(!w){var u=function(g,a){return g.getAttribute&&g.getAttribute(a)||g.parentNode&&u(g.parentNode,a)},w={dir:u(g,"dir"),lang:u(g,"lang"),textDir:u(g,q)},s;for(s in w)w[s]||
delete w[s]}for(var w={inherited:w},n,v;;)if(l)if(1!=l.nodeType)l=l.nextSibling;else if(n&&"script"==l.nodeName.toLowerCase())(V=l.getAttribute("type"))&&/^dojo\/\w/i.test(V)&&n.push(l),l=l.nextSibling;else if(v)l=l.nextSibling;else{var V=l.getAttribute(r)||l.getAttribute(f);s=l.firstChild;if(!V&&(!s||3==s.nodeType&&!s.nextSibling))l=l.nextSibling;else{v=null;if(V){var N=l.getAttribute(m);n=N?[V].concat(N.split(/\s*,\s*/)):[V];try{v=x(n,a.contextRequire)}catch(M){}v||h.forEach(n,function(g){~g.indexOf("/")&&
!d[g]&&(d[g]=!0,c[c.length]=g)});N=v&&!v.prototype._noScript?[]:null;w={types:n,ctor:v,parent:w,node:l,scripts:N};w.inherited=b(w);p.push(w)}else w={node:l,scripts:n,parent:w};n=N;v=l.stopParser||v&&v.prototype.stopParser&&!a.template;l=s}}else{if(!w||!w.node)break;l=w.node.nextSibling;v=!1;w=w.parent;n=w.scripts}var T=new t;c.length?(a.contextRequire||e)(c,function(){T.resolve(h.filter(p,function(g){if(!g.ctor)try{g.ctor=x(g.types,a.contextRequire)}catch(b){}for(var p=g.parent;p&&!p.types;)p=p.parent;
var c=g.ctor&&g.ctor.prototype;g.instantiateChildren=!(c&&c.stopParser&&!a.template);g.instantiate=!p||p.instantiate&&p.instantiateChildren;return g.instantiate}))}):T.resolve(p);return T.promise},_require:function(g,a){var b=m("{"+g.innerHTML+"}"),p=[],c=[],d=new t,f=a&&a.contextRequire||e,r;for(r in b)p.push(r),c.push(b[r]);f(c,function(){for(var g=0;g<p.length;g++)n.setObject(p[g],arguments[g]);d.resolve(arguments)});return d.promise},_scanAmd:function(g,a){var b=new t,p=b.promise;b.resolve(!0);
var c=this;u("script[type\x3d'dojo/require']",g).forEach(function(g){p=p.then(function(){return c._require(g,a)});g.parentNode.removeChild(g)});return p},parse:function(g,a){g&&("string"!=typeof g&&!("nodeType"in g))&&(a=g,g=a.rootNode);var p=g?b.byId(g):l.body();a=a||{};var c=a.template?{template:!0}:{},d=[],f=this,m=this._scanAmd(p,a).then(function(){return f.scan(p,a)}).then(function(g){return f._instantiate(g,c,a,!0)}).then(function(g){return d=d.concat(g)}).otherwise(function(g){console.error("dojo/parser::parse() error",
g);throw g;});n.mixin(d,m);return d}};k.parser=p;d.parseOnLoad&&r(100,p,"parse");return p})},"dojo/date/stamp":function(){define(["../_base/lang","../_base/array"],function(e,k){var n={};e.setObject("dojo.date.stamp",n);n.fromISOString=function(e,d){n._isoRegExp||(n._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/);var b=n._isoRegExp.exec(e),l=null;if(b){b.shift();b[1]&&b[1]--;b[6]&&(b[6]*=1E3);d&&(d=new Date(d),k.forEach(k.map("FullYear Month Date Hours Minutes Seconds Milliseconds".split(" "),
function(a){return d["get"+a]()}),function(a,c){b[c]=b[c]||a}));l=new Date(b[0]||1970,b[1]||0,b[2]||1,b[3]||0,b[4]||0,b[5]||0,b[6]||0);100>b[0]&&l.setFullYear(b[0]||1970);var f=0,c=b[7]&&b[7].charAt(0);"Z"!=c&&(f=60*(b[8]||0)+(Number(b[9])||0),"-"!=c&&(f*=-1));c&&(f-=l.getTimezoneOffset());f&&l.setTime(l.getTime()+6E4*f)}return l};n.toISOString=function(e,d){var b=function(a){return 10>a?"0"+a:a};d=d||{};var l=[],f=d.zulu?"getUTC":"get",c="";"time"!=d.selector&&(c=e[f+"FullYear"](),c=["0000".substr((c+
"").length)+c,b(e[f+"Month"]()+1),b(e[f+"Date"]())].join("-"));l.push(c);if("date"!=d.selector){c=[b(e[f+"Hours"]()),b(e[f+"Minutes"]()),b(e[f+"Seconds"]())].join(":");f=e[f+"Milliseconds"]();d.milliseconds&&(c+="."+(100>f?"0":"")+b(f));if(d.zulu)c+="Z";else if("time"!=d.selector)var f=e.getTimezoneOffset(),a=Math.abs(f),c=c+((0<f?"-":"+")+b(Math.floor(a/60))+":"+b(a%60));l.push(c)}return l.join("T")};return n})},"esri/core/domUtils":function(){define(["dojo/on","dojo/dom-style","dojo/has"],function(e,
k,n){var h={show:function(d){if(d=h.getNode(d))d.style.display="block"},getNode:function(d){return d&&d.domNode||d},hide:function(d){if(d=h.getNode(d))d.style.display="none"},toggle:function(d){if(d=h.getNode(d))d.style.display="none"===d.style.display?"block":"none"},documentBox:8>=n("ie")?{w:document.documentElement.clientWidth,h:document.documentElement.clientHeight}:{w:window.innerWidth,h:window.innerHeight},setScrollable:function(d){if(d=this.getNode(d)){var b=0,h=0,f=0,c=0,a=0,s=0;return[e(d,
"touchstart",function(e){b=e.touches[0].screenX;h=e.touches[0].screenY;f=d.scrollWidth;c=d.scrollHeight;a=d.clientWidth;s=d.clientHeight}),e(d,"touchmove",function(e){e.preventDefault();var n=d.firstChild;n instanceof Text&&(n=d.childNodes[1]);var u=n._currentX||0,q=n._currentY||0,u=u+(e.touches[0].screenX-b);0<u?u=0:0>u&&Math.abs(u)+a>f&&(u=-1*(f-a));n._currentX=u;q+=e.touches[0].screenY-h;0<q?q=0:0>q&&Math.abs(q)+s>c&&(q=-1*(c-s));n._currentY=q;k.set(n,{"-webkit-transition-property":"-webkit-transform",
"-webkit-transform":"translate("+u+"px, "+q+"px)"});b=e.touches[0].screenX;h=e.touches[0].screenY})]}}};return h})},"esri/identity/Credential":function(){define(["./IdentityManagerBase"],function(e){return e.Credential})},"esri/identity/IdentityManagerBase":function(){define("../core/declare dojo/_base/config dojo/_base/lang dojo/_base/array dojo/Deferred dojo/_base/url dojo/sniff dojo/cookie dojo/io-query dojo/regexp ../kernel ../config ../core/lang ./ServerInfo ../core/urlUtils ../core/deferredUtils ../core/Accessoire ../request ../core/Evented ./OAuthCredential ./OAuthInfo".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w,x,g,p){var z={},y=function(g){var a=(new b(g.owningSystemUrl)).host;g=(new b(g.server)).host;var p=/.+\.arcgis\.com$/i;return p.test(a)&&p.test(g)},C=function(g,a){return!(!y(g)||!a||!h.some(a,function(a){return a.test(g.server)}))},A,B=e(x,{declaredClass:"esri.IdentityManagerBase",constructor:function(){this._portalConfig=n.getObject("esriGeowConfig");this.serverInfos=[];this.oAuthInfos=[];this.credentials=[];this._soReqs=[];this._xoReqs=[];this._portals=
[];this._getOAuthHash()},defaultOAuthInfo:null,defaultTokenValidity:60,tokenValidity:null,signInPage:null,useSignInPage:!0,normalizeWebTierAuth:!1,_busy:null,_oAuthHash:null,_gwTokenUrl:"/sharing/generateToken",_agsRest:"/rest/services",_agsPortal:/\/sharing(\/|$)/i,_agsAdmin:/https?:\/\/[^\/]+\/[^\/]+\/admin\/?(\/.*)?$/i,_adminSvcs:/\/admin\/services(\/|$)/i,_agolSuffix:".arcgis.com",_gwDomains:[{regex:/https?:\/\/www\.arcgis\.com/i,tokenServiceUrl:"https://www.arcgis.com/sharing/generateToken"},
{regex:/https?:\/\/dev\.arcgis\.com/i,tokenServiceUrl:"https://dev.arcgis.com/sharing/generateToken"},{regex:/https?:\/\/.*dev[^.]*\.arcgis\.com/i,tokenServiceUrl:"https://devext.arcgis.com/sharing/generateToken"},{regex:/https?:\/\/.*qa[^.]*\.arcgis\.com/i,tokenServiceUrl:"https://qaext.arcgis.com/sharing/generateToken"},{regex:/https?:\/\/.*.arcgis\.com/i,tokenServiceUrl:"https://www.arcgis.com/sharing/generateToken"}],_legacyFed:[],_regexSDirUrl:/http.+\/rest\/services\/?/ig,_regexServerType:/(\/(MapServer|GeocodeServer|GPServer|GeometryServer|ImageServer|NAServer|FeatureServer|GeoDataServer|GlobeServer|MobileServer|GeoenrichmentServer|VectorTileServer|SceneServer)).*/ig,
_gwUser:/http.+\/users\/([^\/]+)\/?.*/i,_gwItem:/http.+\/items\/([^\/]+)\/?.*/i,_gwGroup:/http.+\/groups\/([^\/]+)\/?.*/i,_errorCodes:[499,498,403,401],_rePortalTokenSvc:/\/sharing(\/rest)?\/generatetoken/i,_publicUrls:[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],_createDefaultOAuthInfo:!0,_hasTestedIfAppIsOnPortal:!1,registerServers:function(g){var a=this.serverInfos;a?(g=h.filter(g,function(g){return!this.findServerInfo(g.server)},this),this.serverInfos=a.concat(g)):
this.serverInfos=g;h.forEach(g,function(g){g.owningSystemUrl&&this._portals.push(g.owningSystemUrl);if(g.hasPortal){this._portals.push(g.server);var a=t.request.corsEnabledServers,b=this._getOrigin(g.tokenServiceUrl);q.canUseXhr(g.server)||a.push(g.server.replace(/^https?:\/\//i,""));q.canUseXhr(b)||a.push(b.replace(/^https?:\/\//i,""))}},this)},registerOAuthInfos:function(g){var a=this.oAuthInfos;a?(g=h.filter(g,function(g){return!this.findOAuthInfo(g.portalUrl)},this),this.oAuthInfos=a.concat(g)):
this.oAuthInfos=g},registerToken:function(g){var a=this._sanitizeUrl(g.server),b=this.findServerInfo(a),p=!0,c;b||(b=new u,b.server=this._getServerInstanceRoot(a),b.tokenServiceUrl=this._getTokenSvcUrl(a),b.hasPortal=!0,this.registerServers([b]));(c=this.findCredential(a,g.userId))?(n.mixin(c,g),p=!1):(c=new A({userId:g.userId,server:b.server,token:g.token,expires:g.expires,ssl:g.ssl,scope:this._isServerRsrc(a)?"server":"portal"}),c.resources=[a],this.credentials.push(c));c.emitTokenChange(!1);p||
c.refreshServerTokens()},toJSON:function(){return v.fixJson({serverInfos:h.map(this.serverInfos,function(g){return g.toJSON()}),oAuthInfos:h.map(this.oAuthInfos,function(g){return g.toJSON()}),credentials:h.map(this.credentials,function(g){return g.toJSON()})})},initialize:function(g){if(g){n.isString(g)&&(g=JSON.parse(g));var a=g.serverInfos,b=g.oAuthInfos;g=g.credentials;if(a){var c=[];h.forEach(a,function(g){g.server&&g.tokenServiceUrl&&c.push(g.declaredClass?g:new u(g))});c.length&&this.registerServers(c)}if(b){var d=
[];h.forEach(b,function(g){g.appId&&d.push(g.declaredClass?g:new p(g))});d.length&&this.registerOAuthInfos(d)}g&&h.forEach(g,function(g){g.userId&&(g.server&&g.token&&g.expires&&g.expires>(new Date).getTime())&&(g=g.declaredClass?g:new A(g),g.emitTokenChange(),this.credentials.push(g))},this)}},findServerInfo:function(g){var a;g=this._sanitizeUrl(g);h.some(this.serverInfos,function(b){this._hasSameServerInstance(b.server,g)&&(a=b);return!!a},this);return a},findOAuthInfo:function(g){var a;g=this._sanitizeUrl(g);
h.some(this.oAuthInfos,function(b){this._hasSameServerInstance(b.portalUrl,g)&&(a=b);return!!a},this);return a},findCredential:function(g,a){var b,p;g=this._sanitizeUrl(g);p=this._isServerRsrc(g)?"server":"portal";a?h.some(this.credentials,function(c){this._hasSameServerInstance(c.server,g)&&(a===c.userId&&c.scope===p)&&(b=c);return!!b},this):h.some(this.credentials,function(a){this._hasSameServerInstance(a.server,g)&&(-1!==this._getIdenticalSvcIdx(g,a)&&a.scope===p)&&(b=a);return!!b},this);return b},
getCredential:function(g,a){var b,p,c=!0;v.isDefined(a)&&(n.isObject(a)?(b=!!a.token,p=a.error,c=!1!==a.prompt):b=a);g=this._sanitizeUrl(g);var d=r.makeDeferredCancellingPending(),f=this._isAdminResource(g),m=b&&this._doPortalSignIn(g)?this._getEsriAuthCookie():null;b=b?this.findCredential(g):null;if(m||b)return c=Error("You are currently signed in as: '"+(m&&m.email||b&&b.userId)+"'. You do not have access to this resource: "+g),c.code="IdentityManagerBase.1",c.httpCode=p&&p.httpCode,c.messageCode=
p?p.messageCode:null,c.subcode=p?p.subcode:null,c.details=p?p.details:null,c.log=k.isDebug,d.reject(c),d.promise;if(p=this._findCredential(g,a))return d.resolve(p),d.promise;if(p=this.findServerInfo(g))!p.hasServer&&this._isServerRsrc(g)&&(p._restInfoDfd=this._getTokenSvcUrl(g,!0),p.hasServer=!0);else{m=this._getTokenSvcUrl(g);if(!m)return c=Error("Unknown resource - could not find token service endpoint."),c.code="IdentityManagerBase.2",c.log=k.isDebug,d.reject(c),d.promise;p=new u;p.server=this._getServerInstanceRoot(g);
n.isString(m)?(p.tokenServiceUrl=m,p.hasPortal=!0):(p._restInfoDfd=m,p.hasServer=!0);this.registerServers([p])}c&&(p.hasPortal&&void 0===p._selfReq&&!this._findOAuthInfo(g))&&(p._selfReq={owningTenant:a&&a.owningTenant,selfDfd:this._getPortalSelf(p.tokenServiceUrl.replace(this._rePortalTokenSvc,"/sharing/rest/portals/self"),g)});return this._enqueue(g,p,a,d,f)},getResourceName:function(g){return this._isRESTService(g)?g.replace(this._regexSDirUrl,"").replace(this._regexServerType,"")||"":this._gwUser.test(g)&&
g.replace(this._gwUser,"$1")||this._gwItem.test(g)&&g.replace(this._gwItem,"$1")||this._gwGroup.test(g)&&g.replace(this._gwGroup,"$1")||""},generateToken:function(g,a,p){var c,d,f,m,e,r,h=this._rePortalTokenSvc.test(g.tokenServiceUrl),l=new b(window.location.href.toLowerCase()),u=this._getEsriAuthCookie(),x,t=!a;m=g.shortLivedTokenValidity;var y;a&&(y=s.id.tokenValidity||m||s.id.defaultTokenValidity,y>m&&(y=m));p&&(c=p.isAdmin,d=p.serverUrl,f=p.token,r=p.ssl,g.customParameters=p.customParameters);
if(c)m=g.adminTokenServiceUrl;else{m=g.tokenServiceUrl;e=new b(m.toLowerCase());u&&(x=(x=u.auth_tier)&&x.toLowerCase());if(("web"===x||g.webTierAuth)&&p&&p.serverUrl&&!r&&"http"===l.scheme&&(q.hasSameOrigin(l.uri,m,!0)||"https"===e.scheme&&l.host===e.host&&"7080"===l.port&&"7443"===e.port))m=m.replace(/^https:/i,"http:").replace(/:7443/i,":7080");t&&h&&(m=m.replace(/\/rest/i,""))}p=n.mixin({query:n.mixin({request:"getToken",username:a&&a.username,password:a&&a.password,serverUrl:d,token:f,expiration:y,
referer:c||h?window.location.host:null,client:c?"referer":null,f:"json"},g.customParameters),method:!t?"post":"auto",disableIdentityLookup:!0,useProxy:this._useProxy(g,p),responseType:"json",callbackParamName:t?"callback":void 0},p&&p.ioArgs);h||(p.withCredentials=!1);return w(m,p).then(function(b){b=b.data;if(!b||!b.token)return b=Error("Unable to generate token"),b.code="IdentityManagerBase.3",b.log=k.isDebug,b;var p=g.server;z[p]||(z[p]={});a&&(z[p][a.username]=a.password);b.validity=y;return b})},
isBusy:function(){return!!this._busy},checkSignInStatus:function(g){return this.getCredential(g,{prompt:!1})},setRedirectionHandler:function(g){this._redirectFunc=g},setProtocolErrorHandler:function(g){this._protocolFunc=g},signIn:function(){},oAuthSignIn:function(){},destroyCredentials:function(){if(this.credentials){var g=this.credentials.slice();h.forEach(g,function(g){g.destroy()})}this.emit("credentials-destroy")},_getOAuthHash:function(){var g=window.location.hash;if(g){"#"===g.charAt(0)&&(g=
g.substring(1));var g=c.queryToObject(g),a=!1;g.access_token&&g.expires_in&&g.state&&g.hasOwnProperty("username")?(g.state=JSON.parse(g.state),this._oAuthHash=g,a=!0):g.error&&g.error_description&&(console.log("IdentityManager OAuth Error: ",g.error," - ",g.error_description),"access_denied"===g.error&&(a=!0));if(a&&(!l("ie")||8<l("ie")))window.location.hash=""}},_findCredential:function(g,a){var b=-1,p,c,d,f,m=a&&a.token;p=a&&a.resource;var e=this._isServerRsrc(g)?"server":"portal",r=h.filter(this.credentials,
function(a){return this._hasSameServerInstance(a.server,g)&&a.scope===e},this);g=p||g;if(r.length)if(1===r.length)if(p=r[0],d=(c=(f=this.findServerInfo(p.server))&&f.owningSystemUrl)&&this.findCredential(c,p.userId),b=this._getIdenticalSvcIdx(g,p),m)-1!==b&&(p.resources.splice(b,1),this._removeResource(g,d));else return-1===b&&p.resources.push(g),this._addResource(g,d),p;else{var q,z;h.some(r,function(a){z=this._getIdenticalSvcIdx(g,a);return-1!==z?(q=a,d=(c=(f=this.findServerInfo(q.server))&&f.owningSystemUrl)&&
this.findCredential(c,q.userId),b=z,!0):!1},this);if(m)q&&(q.resources.splice(b,1),this._removeResource(g,d));else if(q)return this._addResource(g,d),q}},_findOAuthInfo:function(g){var a=this.findOAuthInfo(g);a||h.some(this.oAuthInfos,function(b){this._isIdProvider(b.portalUrl,g)&&(a=b);return!!a},this);return a},_addResource:function(g,a){a&&-1===this._getIdenticalSvcIdx(g,a)&&a.resources.push(g)},_removeResource:function(g,a){var b=-1;a&&(b=this._getIdenticalSvcIdx(g,a),-1<b&&a.resources.splice(b,
1))},_useProxy:function(g,a){return a&&a.isAdmin&&!q.hasSameOrigin(g.adminTokenServiceUrl,window.location.href)||!this._isPortalDomain(g.tokenServiceUrl)&&10.1==g.currentVersion&&!q.hasSameOrigin(g.tokenServiceUrl,window.location.href)},_getOrigin:function(g){g=new b(g);return g.scheme+"://"+g.host+(v.isDefined(g.port)?":"+g.port:"")},_getServerInstanceRoot:function(g){var a=g.toLowerCase(),b=a.indexOf(this._agsRest);-1===b&&this._isAdminResource(g)&&(b=a.indexOf("/admin"));-1===b&&(b=a.indexOf("/sharing"));
-1===b&&"/"===a.substr(-1)&&(b=a.length-1);return-1<b?g.substring(0,b):g},_hasSameServerInstance:function(g,a){g=g.toLowerCase();a=this._getServerInstanceRoot(a).toLowerCase();g=g.substr(g.indexOf(":"));a=a.substr(a.indexOf(":"));return g===a},_sanitizeUrl:function(g){g=q.normalize(n.trim(g));var a=(t.request.proxyUrl||"").toLowerCase(),b=a?g.toLowerCase().indexOf(a+"?"):-1;-1!==b&&(g=g.substring(b+a.length+1));return q.urlToObject(g).path},_isRESTService:function(g){return-1<g.indexOf(this._agsRest)},
_isAdminResource:function(g){return this._agsAdmin.test(g)||this._adminSvcs.test(g)},_isServerRsrc:function(g){return this._isRESTService(g)||this._isAdminResource(g)},_isIdenticalService:function(g,a){var b;if(this._isRESTService(g)&&this._isRESTService(a)){var p=this._getSuffix(g).toLowerCase(),c=this._getSuffix(a).toLowerCase();b=p===c;b||(b=/(.*)\/(MapServer|FeatureServer).*/ig,b=p.replace(b,"$1")===c.replace(b,"$1"))}else this._isAdminResource(g)&&this._isAdminResource(a)?b=!0:!this._isServerRsrc(g)&&
(!this._isServerRsrc(a)&&this._isPortalDomain(g))&&(b=!0);return b},_isPortalDomain:function(g){g=g.toLowerCase();var a=(new b(g)).authority,p=this._portalConfig,c=-1!==a.indexOf(this._agolSuffix);!c&&p&&(c=this._hasSameServerInstance(this._getServerInstanceRoot(p.restBaseUrl),g));if(!c){if(!this._arcgisUrl&&(p=n.getObject("esri.arcgis.utils.arcgisUrl")))this._arcgisUrl=(new b(p)).authority;this._arcgisUrl&&(c=this._arcgisUrl.toLowerCase()===a)}c||(c=h.some(this._portals,function(a){return this._hasSameServerInstance(a,
g)},this));return c=c||this._agsPortal.test(g)},_isIdProvider:function(g,a){var b=-1,p=-1;h.forEach(this._gwDomains,function(c,d){-1===b&&c.regex.test(g)&&(b=d);-1===p&&c.regex.test(a)&&(p=d)});var c=!1;if(-1<b&&-1<p)if(0===b||4===b){if(0===p||4===p)c=!0}else if(1===b){if(1===p||2===p)c=!0}else 2===b?2===p&&(c=!0):3===b&&3===p&&(c=!0);if(!c){var d=this.findServerInfo(a),f=d&&d.owningSystemUrl;f&&(y(d)&&this._isPortalDomain(f)&&this._isIdProvider(g,f))&&(c=!0)}return c},_isPublic:function(g){g=this._sanitizeUrl(g);
return h.some(this._publicUrls,function(a){return a.test(g)})},_getIdenticalSvcIdx:function(g,a){var b=-1;h.some(a.resources,function(a,p){return this._isIdenticalService(g,a)?(b=p,!0):!1},this);return b},_getSuffix:function(g){return g.replace(this._regexSDirUrl,"").replace(this._regexServerType,"$1")},_getTokenSvcUrl:function(g){var a,p;if((a=this._isRESTService(g))||this._isAdminResource(g))return p=g.toLowerCase().indexOf(a?this._agsRest:"/admin/"),a=g.substring(0,p)+"/admin/generateToken",g=
g.substring(0,p)+"/rest/info",p=w(g,{query:{f:"json"},responseType:"json",callbackParamName:"callback"}).then(function(g){return g.data}),p.adminUrl_=a,p;if(this._isPortalDomain(g)){var c="";h.some(this._gwDomains,function(a){a.regex.test(g)&&(c=a.tokenServiceUrl);return!!c});c||h.some(this._portals,function(a){this._hasSameServerInstance(a,g)&&(c=a+this._gwTokenUrl);return!!c},this);c||(p=g.toLowerCase().indexOf("/sharing"),-1!==p&&(c=g.substring(0,p)+this._gwTokenUrl));c||(c=this._getOrigin(g)+
this._gwTokenUrl);c&&(a=(new b(g)).port,/^http:\/\//i.test(g)&&"7080"===a&&(c=c.replace(/:7080/i,":7443")),c=c.replace(/http:/i,"https:"));return c}if(-1!==g.toLowerCase().indexOf("premium.arcgisonline.com"))return"https://premium.arcgisonline.com/server/tokens"},_getPortalSelf:function(g,a){"https:"===window.location.protocol?g=g.replace(/^http:/i,"https:").replace(/:7080/i,":7443"):/^http:/i.test(a)&&(g=g.replace(/^https:/i,"http:").replace(/:7443/i,":7080"));return w(g,{query:{f:"json"},responseType:"json",
callbackParamName:"callback",crossOrigin:!1,disableIdentityLookup:!0}).then(function(g){return g.data})},_hasPortalSession:function(){return!!this._getEsriAuthCookie()},_getEsriAuthCookie:function(){var g;if(f.isSupported()){var a=this._getAllCookies("esri_auth"),b;for(b=0;b<a.length;b++){var p=JSON.parse(a[b]);if(p.portalApp){g=p;break}}}return g},_getAllCookies:function(g){var b=[],p=document.cookie.match(RegExp("(?:^|; )"+a.escapeString(g)+"\x3d([^;]*)","g"));if(p)for(g=0;g<p.length;g++){var c=
p[g],d=c.indexOf("\x3d");-1<d&&(c=c.substring(d+1),b.push(decodeURIComponent(c)))}return b},_doPortalSignIn:function(g){if(f.isSupported()){var a=this._getEsriAuthCookie(),b=this._portalConfig,p=window.location.href,c=this.findServerInfo(g);if(this.useSignInPage&&(b||this._isPortalDomain(p)||a)&&(c?c.hasPortal||c.owningSystemUrl&&this._isPortalDomain(c.owningSystemUrl):this._isPortalDomain(g))&&(this._isIdProvider(p,g)||b&&(this._hasSameServerInstance(this._getServerInstanceRoot(b.restBaseUrl),g)||
this._isIdProvider(b.restBaseUrl,g))||q.hasSameOrigin(p,g,!0)))return!0}return!1},_checkProtocol:function(g,a,b,p){var c=!0;p=p?a.adminTokenServiceUrl:a.tokenServiceUrl;if(0===n.trim(p).toLowerCase().indexOf("https:")&&0!==window.location.href.toLowerCase().indexOf("https:")&&(!t.request.useCors||!q.canUseXhr(p)&&!q.canUseXhr(q.getProxyUrl(!0).path)))c=this._protocolFunc?!!this._protocolFunc({resourceUrl:g,serverInfo:a}):!1,c||(g=Error("Aborted the Sign-In process to avoid sending password over insecure connection."),
g.code="IdentityManagerBase.4",g.log=k.isDebug,console.log(g.message),b(g));return c},_enqueue:function(g,a,b,p,c,d){p||(p=r.makeDeferredCancellingPending());p.resUrl_=g;p.sinfo_=a;p.options_=b;p.admin_=c;p.refresh_=d;this._busy?this._hasSameServerInstance(this._getServerInstanceRoot(g),this._busy.resUrl_)?(this._oAuthDfd&&this._oAuthDfd.oAuthWin_&&this._oAuthDfd.oAuthWin_.focus(),this._soReqs.push(p)):this._xoReqs.push(p):this._doSignIn(p);return p.promise},_doSignIn:function(a){this._busy=a;var b=
this,p=function(g){var p=a.options_&&a.options_.resource,c=a.resUrl_,d=a.refresh_,f=!1;-1===h.indexOf(b.credentials,g)&&(d&&-1!==h.indexOf(b.credentials,d)?(d.userId=g.userId,d.token=g.token,d.expires=g.expires,d.validity=g.validity,d.ssl=g.ssl,d.creationTime=g.creationTime,f=!0,g=d):b.credentials.push(g));g.resources||(g.resources=[]);g.resources.push(p||c);g.scope=b._isServerRsrc(c)?"server":"portal";g.emitTokenChange();var p=b._soReqs,m={};b._soReqs=[];h.forEach(p,function(a){if(!this._isIdenticalService(c,
a.resUrl_)){var b=this._getSuffix(a.resUrl_);m[b]||(m[b]=!0,g.resources.push(a.resUrl_))}},b);a.resolve(g);h.forEach(p,function(a){a.resolve(g)});b._busy=a.resUrl_=a.sinfo_=a.refresh_=null;f||b.emit("credential-create",{credential:g});b._soReqs.length&&b._doSignIn(b._soReqs.shift());b._xoReqs.length&&b._doSignIn(b._xoReqs.shift())},c=function(g){a.reject(g);b._busy=a.resUrl_=a.sinfo_=a.refresh_=null;b._soReqs.length&&b._doSignIn(b._soReqs.shift());b._xoReqs.length&&b._doSignIn(b._xoReqs.shift())},
d=function(d,f,m,e){var r=a.sinfo_,q=!a.options_||!1!==a.options_.prompt,h=r.hasPortal&&b._findOAuthInfo(a.resUrl_);b._doPortalSignIn(a.resUrl_)?(d=b._getEsriAuthCookie(),h=b._portalConfig,d?p(new A({userId:d.email,server:r.server,token:d.token,expires:null})):q?(q="",d=window.location.href,q=b.signInPage?b.signInPage:h?h.baseUrl+h.signin:b._isIdProvider(d,a.resUrl_)?b._getOrigin(d)+"/home/signin.html":r.tokenServiceUrl.replace(b._rePortalTokenSvc,"")+"/home/signin.html",q=q.replace(/http:/i,"https:"),
h&&!1===h.useSSL&&(q=q.replace(/https:/i,"http:")),0===d.toLowerCase().replace("https","http").indexOf(q.toLowerCase().replace("https","http"))?(r=Error("Cannot redirect to Sign-In page from within Sign-In page. URL of the resource that triggered this workflow: "+a.resUrl_),r.code="IdentityManagerBase.5",r.log=k.isDebug,c(r)):b._redirectFunc?b._redirectFunc({signInPage:q,returnUrlParamName:"returnUrl",returnUrl:d,resourceUrl:a.resUrl_,serverInfo:r}):window.location=q+"?returnUrl\x3d"+window.escape(d)):
(r=Error("User is not signed in."),r.code="IdentityManagerBase.6",r.log=k.isDebug,c(r))):d?p(new A({userId:d,server:r.server,token:m,expires:v.isDefined(e)?Number(e):null,ssl:!!f})):h?(d=h._oAuthCred,d||(f=new g(h,window.localStorage),m=new g(h,window.sessionStorage),f.isValid()&&m.isValid()?f.expires>m.expires?(d=f,m.destroy()):(d=m,f.destroy()):d=f.isValid()?f:m,h._oAuthCred=d),d.isValid()?p(new A({userId:d.userId,server:r.server,token:d.token,expires:d.expires,ssl:d.ssl,_oAuthCred:d})):b._oAuthHash&&
b._oAuthHash.state.portalUrl===h.portalUrl?(q=b._oAuthHash,r=new A({userId:q.username,server:r.server,token:q.access_token,expires:(new Date).getTime()+1E3*Number(q.expires_in),ssl:"true"===q.ssl,oAuthState:q.state,_oAuthCred:d}),d.storage=q.persist?window.localStorage:window.sessionStorage,d.token=r.token,d.expires=r.expires,d.userId=r.userId,d.ssl=r.ssl,d.save(),b._oAuthHash=null,p(r)):q?a._pendingDfd=b.oAuthSignIn(a.resUrl_,r,h,a.options_).then(p,c):(r=Error("User is not signed in."),r.code="IdentityManagerBase.6",
r.log=k.isDebug,c(r))):q?b._checkProtocol(a.resUrl_,r,c,a.admin_)&&(q=a.options_,a.admin_&&(q=q||{},q.isAdmin=!0),a._pendingDfd=b.signIn(a.resUrl_,r,q).then(p,c)):(r=Error("User is not signed in."),r.code="IdentityManagerBase.6",r.log=k.isDebug,c(r))},f=function(){var g=a.sinfo_,d=g.owningSystemUrl,f=a.options_,m,e,r,q;f&&(m=f.token,e=f.error,r=f.prompt);q=b._findCredential(d,{token:m,resource:a.resUrl_});!q&&y(g)&&h.some(b.credentials,function(g){this._isIdProvider(d,g.server)&&(q=g);return!!q},
b);q?(f=b.findCredential(a.resUrl_,q.userId))?p(f):C(g,b._legacyFed)?(f=q.toJSON(),f.server=g.server,f.resources=null,p(new A(f))):(a._pendingDfd=b.generateToken(b.findServerInfo(q.server),null,{serverUrl:a.resUrl_,token:q.token,ssl:q.ssl})).then(function(b){p(new A({userId:q.userId,server:g.server,token:b.token,expires:v.isDefined(b.expires)?Number(b.expires):null,ssl:!!b.ssl,isAdmin:a.admin_,validity:b.validity}))},c):(b._busy=null,m&&(a.options_.token=null),(a._pendingDfd=b.getCredential(d.replace(/\/?$/,
"/sharing"),{resource:a.resUrl_,owningTenant:g.owningTenant,token:m,error:e,prompt:r})).then(function(g){b._enqueue(a.resUrl_,a.sinfo_,a.options_,a,a.admin_)},function(g){c(g)}))},m=a.sinfo_.owningSystemUrl,e=this._isServerRsrc(a.resUrl_),r=a.sinfo_._restInfoDfd;r?r.then(function(g){var p=a.sinfo_;p.adminTokenServiceUrl=p._restInfoDfd.adminUrl_;p._restInfoDfd=null;p.tokenServiceUrl=n.getObject("authInfo.tokenServicesUrl",!1,g)||n.getObject("authInfo.tokenServiceUrl",!1,g)||n.getObject("tokenServiceUrl",
!1,g);p.shortLivedTokenValidity=n.getObject("authInfo.shortLivedTokenValidity",!1,g);p.currentVersion=g.currentVersion;p.owningTenant=g.owningTenant;(g=p.owningSystemUrl=g.owningSystemUrl)&&b._portals.push(g);e&&g?f():d()},function(){a.sinfo_._restInfoDfd=null;var g=Error("Unknown resource - could not find token service endpoint.");g.code="IdentityManagerBase.2";g.log=k.isDebug;c(g)}):e&&m?f():a.sinfo_._selfReq?a.sinfo_._selfReq.selfDfd.then(function(g){var p={},c,d,f,m;g&&(c=g.user&&g.user.username,
p.username=c,p.allSSL=g.allSSL,d=g.supportsOAuth,f=g.currentVersion,"multitenant"===g.portalMode&&(m=g.customBaseUrl));a.sinfo_.webTierAuth=!!c;return c&&b.normalizeWebTierAuth?b.generateToken(a.sinfo_,null,{ssl:p.allSSL}).always(function(g){p.portalToken=g&&g.token;p.tokenExpiration=g&&g.expires;return p}):!c&&d&&4.4<=parseFloat(f)&&!b._doPortalSignIn(a.resUrl_)?b._generateOAuthInfo({portalUrl:a.sinfo_.server,customBaseUrl:m,owningTenant:a.sinfo_._selfReq.owningTenant}).always(function(){return p}):
p}).always(function(g){a.sinfo_._selfReq=null;g?d(g.username,g.allSSL,g.portalToken,g.tokenExpiration):d()}):d()},_generateOAuthInfo:function(g){var a=this,b,c=g.portalUrl,f=g.customBaseUrl,m=g.owningTenant;if(g=!this.defaultOAuthInfo&&this._createDefaultOAuthInfo&&!this._hasTestedIfAppIsOnPortal){b=window.location.href;var e=b.indexOf("?");-1<e&&(b=b.slice(0,e));e=b.search(/\/(apps|home)\//);b=-1<e?b.slice(0,e):null}g&&b?(this._hasTestedIfAppIsOnPortal=!0,g=w(b+"/sharing/rest",{query:{f:"json"},
responseType:"json"}).then(function(){a.defaultOAuthInfo=new p({appId:"arcgisonline",popup:!0,popupCallbackUrl:b+"/home/oauth-callback.html"})})):(g=new d,g.resolve(),g=g.promise);return g.then(function(){if(a.defaultOAuthInfo)return c=c.replace(/^http:/i,"https:"),w(c+"/sharing/rest/oauth2/validateRedirectUri",{query:{accountId:m,client_id:a.defaultOAuthInfo.appId,redirect_uri:q.makeAbsolute(a.defaultOAuthInfo.popupCallbackUrl),f:"json"},responseType:"json",callbackParamName:"callback"}).then(function(g){if(g.data.valid){var b=
a.defaultOAuthInfo.clone();b.portalUrl=g.data.urlKey&&f?"https://"+g.data.urlKey+"."+f:c;a.oAuthInfos.push(b)}})})}});A=e([m,x],{declaredClass:"esri.Credential",tokenRefreshBuffer:2,constructor:function(g){n.mixin(this,g);this.resources=this.resources||[];v.isDefined(this.creationTime)||(this.creationTime=(new Date).getTime())},_oAuthCred:null,refreshToken:function(){var g=this,a=this.resources&&this.resources[0],b=s.id.findServerInfo(this.server),p=b&&b.owningSystemUrl,c=!!p&&"server"===this.scope,
d=c&&C(b,s.id._legacyFed),f=c&&s.id.findServerInfo(p),m,e=(m=b.webTierAuth)&&s.id.normalizeWebTierAuth,r=z[this.server],r=r&&r[this.userId],q={username:this.userId,password:r},l;if(!m||e)if(c&&!f&&h.some(s.id.serverInfos,function(g){s.id._isIdProvider(p,g.server)&&(f=g);return!!f}),m=f&&s.id.findCredential(f.server,this.userId),!c||m)if(d)m.refreshToken();else{if(c)l={serverUrl:a,token:m&&m.token,ssl:m&&m.ssl};else if(e)q=null,l={ssl:this.ssl};else if(r)this.isAdmin&&(l={isAdmin:!0});else{var w;a&&
(a=s.id._sanitizeUrl(a),this._enqueued=1,w=s.id._enqueue(a,b,null,null,this.isAdmin,this),w.then(function(){g._enqueued=0;g.refreshServerTokens()}).then(null,function(){g._enqueued=0}));return w}return s.id.generateToken(c?f:b,c?null:q,l).then(function(a){g.token=a.token;g.expires=v.isDefined(a.expires)?Number(a.expires):null;g.creationTime=(new Date).getTime();g.validity=a.validity;g.emitTokenChange();g.refreshServerTokens()}).then(null,function(){})}},refreshServerTokens:function(){"portal"===this.scope&&
h.forEach(s.id.credentials,function(g){var a=s.id.findServerInfo(g.server),b=a&&a.owningSystemUrl;if(g!==this&&g.userId===this.userId&&b&&"server"===g.scope&&(s.id._hasSameServerInstance(this.server,b)||s.id._isIdProvider(b,this.server)))C(a,s.id._legacyFed)?(g.token=this.token,g.expires=this.expires,g.creationTime=this.creationTime,g.validity=this.validity,g.emitTokenChange()):g.refreshToken()},this)},emitTokenChange:function(g){clearTimeout(this._refreshTimer);var a=this.server&&s.id.findServerInfo(this.server),
b=(a=a&&a.owningSystemUrl)&&s.id.findServerInfo(a);!1!==g&&((!a||"portal"===this.scope||b&&b.webTierAuth&&!s.id.normalizeWebTierAuth)&&(v.isDefined(this.expires)||v.isDefined(this.validity)))&&this._startRefreshTimer();this.emit("token-change")},destroy:function(){this.userId=this.server=this.token=this.expires=this.validity=this.resources=this.creationTime=null;this._oAuthCred&&(this._oAuthCred.destroy(),this._oAuthCred=null);var g=h.indexOf(s.id.credentials,this);-1<g&&s.id.credentials.splice(g,
1);this.emitTokenChange();this.emit("destroy")},toJSON:function(){var g=v.fixJson({userId:this.userId,server:this.server,token:this.token,expires:this.expires,validity:this.validity,ssl:this.ssl,isAdmin:this.isAdmin,creationTime:this.creationTime,scope:this.scope}),a=this.resources;a&&0<a.length&&(g.resources=a);return g},_startRefreshTimer:function(){clearTimeout(this._refreshTimer);var g=6E4*this.tokenRefreshBuffer,a=(this.validity?this.creationTime+6E4*this.validity:this.expires)-(new Date).getTime();
0>a&&(a=0);this._refreshTimer=setTimeout(n.hitch(this,this.refreshToken),a>g?a-g:a)}});B.Credential=A;return B})},"dojo/cookie":function(){define(["./_base/kernel","./regexp"],function(e,k){e.cookie=function(e,h,d){var b=document.cookie,l;if(1==arguments.length)l=(l=b.match(RegExp("(?:^|; )"+k.escapeString(e)+"\x3d([^;]*)")))?decodeURIComponent(l[1]):void 0;else{d=d||{};b=d.expires;if("number"==typeof b){var f=new Date;f.setTime(f.getTime()+864E5*b);b=d.expires=f}b&&b.toUTCString&&(d.expires=b.toUTCString());
h=encodeURIComponent(h);var b=e+"\x3d"+h,c;for(c in d)b+="; "+c,f=d[c],!0!==f&&(b+="\x3d"+f);document.cookie=b}return l};e.cookie.isSupported=function(){"cookieEnabled"in navigator||(this("__djCookieTest__","CookiesAllowed"),navigator.cookieEnabled="CookiesAllowed"==this("__djCookieTest__"),navigator.cookieEnabled&&this("__djCookieTest__","",{expires:-1}));return navigator.cookieEnabled};return e.cookie})},"esri/identity/ServerInfo":function(){define(["../core/declare","dojo/_base/lang","../core/lang"],
function(e,k,n){return e(null,{declaredClass:"esri.ServerInfo",constructor:function(e){k.mixin(this,e)},toJSON:function(){return n.fixJson({server:this.server,tokenServiceUrl:this.tokenServiceUrl,adminTokenServiceUrl:this.adminTokenServiceUrl,shortLivedTokenValidity:this.shortLivedTokenValidity,owningSystemUrl:this.owningSystemUrl,owningTenant:this.owningTenant,currentVersion:this.currentVersion,hasPortal:this.hasPortal,hasServer:this.hasServer,webTierAuth:this.webTierAuth})}})})},"esri/core/Accessoire":function(){define(["./declare",
"./accessoireSupport/introspect","./accessoireSupport/Properties"],function(e,k,n){e.after(function(d){e.hasMixin(d,"esri.core.Accessoire")&&k(d)});var h=function(d,b,e){if(null==d)return d;d=d.get?d.get(b[e]):d[b[e]];return!d||e===b.length-1?d:h(d,b,++e)};return e(null,{declaredClass:"esri.core.Accessoire","-chains-":{postIntrospection:"after",initialize:"after",destroy:"before"},constructor:function(d){Object.defineProperty(this,"_accessorProps",{value:new n(this),enumerable:!1,configurable:!1,
writable:!0});0<arguments.length&&this.normalizeCtorArgs&&(this._accessorProps.ctorArgs=this.normalizeCtorArgs.apply(this,Array.prototype.slice.call(arguments)))},_accessorProps:null,postscript:function(d){var b=this._accessorProps;d=b.ctorArgs||d;var e;(e=this.getDefaults?d?this.getDefaults(d):this.getDefaults({}):null)&&Object.getOwnPropertyNames(e).forEach(function(d){b.setDefault(d,e[d])},this);d&&(this.set(d),b.ctorArgs=null);b.initialize();this.initialize()},postIntrospection:function(){},initialize:function(){},
destroy:function(){if(this._accessorProps)this._accessorProps.dispatch(),this._accessorProps.destroy(),this._accessorProps=null;else try{throw Error("instance is already destroyed");}catch(d){console.warn(d.stack)}},get:function(d){return 0<d.indexOf(".")?h(this,d.split("."),0):this[d]},set:function(d,b){if(d&&"object"===typeof d)return d._accessorProps?d.keys().forEach(function(b){this.set(b,d[b])},this):Object.getOwnPropertyNames(d).forEach(function(b){this.set(b,d[b])},this),this;"_"!==d[0]&&(this[d]=
b);return this},watch:function(d,b){return this._accessorProps.watch(d,b)},hasOwnProperty:function(d){var b=this._accessorProps;return b&&b.properties[d]?b.cache.has(d)||null!==b.defaults&&b.defaults.has(d):Object.prototype.hasOwnProperty.call(this,d)},keys:function(){return this._accessorProps.cache.keys()},notifyChange:function(d){this._accessorProps.propertyWillChange(d);this._accessorProps.propertyInvalidated(d)}})})},"esri/core/accessoireSupport/introspect":function(){define(["dojo/_base/lang",
"./Property","./PropertyNotifier","./merge"],function(e,k,n,h){var d=function(a){return Object.create(void 0===a?null:a)},b=/^_([a-zA-Z0-9]+)(Getter|Setter|Reader)$/,l=/^_(set|get)([a-zA-Z0-9]+)Attr$/,f=function(a){return a._meta?a:a.constructor},c=Object.prototype.hasOwnProperty,a=function(a){if(!(a&&null!=f(a)._meta))return null;var m=t(a),g=m.mixin;if(g)return g;var p=a.prototype,g=c.call(p,"classMetadata")?p.classMetadata:d(),g=m.mixin={declaredClass:p.declaredClass,properties:g.properties?h(d(),
g.properties):d(),reader:g.reader?h(d(),g.reader):d(),notifiers:[]},e=g.properties;Object.getOwnPropertyNames(p).forEach(function(g){var a=p[g],c,d,f;if(c=b.exec(g))d=c[1],f=c[2];else if(c=l.exec(g))d=c[2][0].toLowerCase()+c[2].substr(1),f=c[1]+"ter";d&&f&&(g=d.split(".")[0],e[g]||(e[g]={}),g=e[g],g[f.toLowerCase()]=a)});s(a);Object.getOwnPropertyNames(e).forEach(function(g){q(p,g)&&(e[g].value=p[g])});g.properties=Object.getOwnPropertyNames(e).reduce(function(g,a){g[a]=new k(a,e[a]);return g},{});
return g},s=function(a){var b=t(a).mixin,g=b.properties,p=d(),c,f,m,e,q;if(g){for(f in g)if(c=g[f].dependsOn)for(e=0;m=c[e];e++)p[m]?-1===p[m].indexOf(f)&&p[m].push(f):p[m]=[f];e=[];for(f in p){c=[];q=d();for(e.push(f);e.length;)m=e.shift(),q[m]||(q[m]=!0,c.push(m),(m=p[m])&&Array.prototype.push.apply(e,m));c.shift();-1<f.indexOf(".")&&(b.notifiers||(b.notifiers=[]),b.notifiers.push(new n(f,c)),f=f.split(".")[0]);g[f]?g[f].chain=c:(m=r(a,f))?t(m).mixin.properties[f]||(t(m).mixin.properties[f]=new k(f,
{value:u(a,f),chain:c})):b.properties[f]=new k(f,{chain:c})}}},t=function(b){if(!(b&&null!=f(b)._meta))return null;var c=f(b),g=c._esriMeta;if(g)return g;var g=c._esriMeta={},p=f(b)._meta.bases;b=g.mixins=[];for(var d,e=p.length-1;0<=e;e--)(d=a(p[e]))&&b.unshift(d);var p=g.classMetadata={declaredClass:c.prototype.declaredClass,notifiers:[],properties:{},reader:{}},q=p.properties,l,e;for(e=b.length-1;0<=e;e--){d=b[e];for(l in d.properties)m(c,l),q[l]?q[l].mixIn(d.properties[l]):(q[l]=new k(l,d.properties[l]),
!q[l].hasOwnProperty("value")&&r(c,l)&&(q[l].value=u(c,l)),Object.defineProperty(c.prototype,l,q[l].getDescriptor()));p.notifiers=p.notifiers.concat(g.mixins[e].notifiers);p.reader=h(p.reader,g.mixins[e].reader)}return g},v=function(a,b){if(a){var g=Object.getOwnPropertyDescriptor(a.prototype,b);return g?g.value:a.prototype[b]}},u=function(a,b){if(c.call(a,b))return a[b];var g=r(a,b);return v(g,b)},q=function(a,b){var g;return c.call(a,b)&&(!(g=Object.getOwnPropertyDescriptor(a,b))||c.call(g,"value"))},
r=function(a,b){for(var g=f(a)._meta.bases,p,d,m=0,e=g.length;m<e;m++)if(p=g[m],d=(d=t(p))&&d.mixin.properties[b],q(p.prototype,b)||d&&c.call(d,"value"))return p;return null},m=function(a,b){var g=f(a),p=t(g).classMetadata.properties,c=r(g,b)||g,d=c?t(c).mixin.properties:{},m=d[b];c&&!m&&(m=d[b]=new k(b,{value:v(c,b)}),t(c).mixin.properties[b]=new k(b,m),d=t(c).classMetadata.properties,d[b]?d[b].value=m.value:(d[b]=m,Object.defineProperty(c.prototype,b,m.getDescriptor())));g!==c&&(p[b]?p[b].value=
m.value:(p[b]=new k(b,m),Object.defineProperty(g.prototype,b,m.getDescriptor())));return m};return e.mixin(function(a){return t(a)},{getProperties:function(a){return t(a).classMetadata.properties},isIntrospected:function(a){return null!=f(a)._esriMeta},getPropertyOwnerValue:u,getPropertyOwner:r,installPropertyNotifiers:function(a){var b=t(a).classMetadata.notifiers;return b?b.map(function(g){return g.install(this)},a):[]},defineProperty:m})})},"esri/core/accessoireSupport/Property":function(){define(["dojo/has"],
function(e){e=function(e,n){this.name=e;n&&this.mixIn(n)};e.prototype={name:null,getter:null,setter:null,reader:null,getterArity:0,setterArity:0,dependsOn:null,chain:null,value:void 0,readOnly:!1,copy:null,type:null,mixIn:function(e){e.hasOwnProperty("getter")&&(this.getter=e.getter,this.getterArity=e.getter.length);e.hasOwnProperty("setter")&&(this.setter=e.setter,this.setterArity=e.setter.length);e.hasOwnProperty("reader")&&(this.reader=e.reader);e.hasOwnProperty("value")&&(this.value=e.value);
e.hasOwnProperty("readOnly")&&(this.readOnly=e.readOnly);e.hasOwnProperty("copy")&&(this.copy=e.copy);e.hasOwnProperty("type")&&(this.type=e.type);e.hasOwnProperty("dependsOn")&&(this.dependsOn=this.dependsOn?this.dependsOn.concat(e.dependsOn):e.dependsOn.concat());if(e.hasOwnProperty("json")){var n=this.json;n||(this.json=n={});e.json.hasOwnProperty("ignore")&&(n.ignore=e.json.ignore);e.json.readFrom&&(n.readFrom=n.readFrom?n.readFrom.concat(e.json.readFrom):e.json.readFrom.slice())}e.hasOwnProperty("chain")&&
(this.chain=this.chain?this.chain.concat(e.chain.filter(function(e){return-1===this.chain.indexOf(e)},this)):e.chain.concat())},getDescriptor:function(){var e=this;return{enumerable:!0,configurable:!0,get:function(){return this._accessorProps?this._accessorProps.get(e.name):void 0},set:function(n){var h=this._accessorProps,d=e.name;if(h){if(!Object.isFrozen(this)){if(e.readOnly)throw new TypeError("Cannot assign to read only property '"+d+"' of "+this.declaredClass);if(!e.setter&&h.get(d)===n)return n;
h.access[d]=!0;h.set(d,n);h.access[d]=!1}}else Object.defineProperty(this,d,{enumerable:!0,configurable:!0,writable:!0,value:n})}}}};return e})},"esri/core/accessoireSupport/PropertyNotifier":function(){define(["dojo/has","../accessorSupport/watch"],function(e,k){k=k.default;var n=function(b,d){this.dependencyPath=b;this.chain=b.split(".");this.dependents=d};n.prototype={install:function(b){return new h(this,b)}};var h=function(b,d){this.binding=b;this.obj=d;this._installs=[];this._props=d._accessorProps;
this._install(d,0);this._notify()},d=function(b,d,f){return b.dirties?k(b,d,f,!0):b.bind(d,f)};h.prototype={remove:function(){this._installs.forEach(function(b){b.remove()});this._installs=this._props=this.binding=this.obj=null},_install:function(b,e){var f=this.binding.chain,c=this._installs,a;e<c.length&&(c.splice(e).forEach(function(a){a.remove()}),this._notify());if(e!==f.length&&b&&(a=b&&(b.__accessor__||b._accessorProps))){for(var h,t=e;(h=f[t])&&b&&(a=b&&(b.__accessor__||b._accessorProps));)c[t]=
d(a,h,this._callback.bind(this,t)),b=b[f[t++]];this._notify()}},_callback:function(b,d){1!==arguments.length&&this._install(d,b+1);this._notify()},_notify:function(){for(var b=this.binding.dependencyPath,d=this.binding.dependents,f=this._props,c=0,a=d.length;c<a;c++)f.propertyDependencyMayChange(d[c],b)}};return n})},"esri/core/accessoireSupport/merge":function(){define(["dojo/_base/lang"],function(e){var k=function(n,h){return!h?n:Object.keys(h).reduce(function(d,b){var l,f;if("value"===b)d[b]=h[b];
else if(void 0===d[b])d[b]=e.clone(h[b]);else if(l=d[b],f=h[b],l!==f)if(Array.isArray(f)||Array.isArray(d))l=l?Array.isArray(l)?d[b]=l.concat():d[b]=[l]:d[b]=[],f&&(Array.isArray(f)||(f=[f]),d[b]=l.concat(f));else if(f&&"object"==typeof f)d[b]=k(l,f);else if(!l||f)d[b]=f;return d},n||{})};return k})},"esri/core/accessoireSupport/Properties":function(){define("dojo/has ../ObjectPool ../ArrayPool ../Scheduler ../lang ./Cache ./OldValues ./Property ./once ./ensureType ./introspect ./chainWatch".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t){var v=Object.prototype.hasOwnProperty,u=0,q=new k(function(){this.fn=null;this.removed=this.isExecuting=!1},function(){this.fn=null}),r=new k(function(){this.callbacks=this.oldValue=null},function(){this.oldValue=null;this.callbacks=n.release(this.callbacks);this.callbacks=null});e=function(a){this.uid="propertoire_"+u++;this.obj=a;this.properties=Object.create(s.getProperties(a));this.cache=new b;this.watchers=Object.create(null);this.bindings=Object.create(null);
this.defaults=null;this.access=Object.create(null);this._notificationsPool=new k(function(){},function(){});this.notifications=this._notificationsPool.acquire();this.cursors={}};e.prototype={obj:null,properties:null,notifyHdls:null,cache:null,watchers:null,bindings:null,initialized:!1,notifications:null,ctorArgs:null,timer:null,_boundDispatch:null,initialize:function(){this.initialized=!0;this.notifyHdls=s.installPropertyNotifiers(this.obj);this.dispatch()},destroy:function(){this.notifyHdls&&this.notifyHdls.forEach(function(a){return a.remove()},
this);this.timer&&this.timer.remove();var a=this.watchers;Object.getOwnPropertyNames(a).forEach(function(b){a[b].callbacks.forEach(function(g){g.removed=!0})});var b=this.cursors;Object.getOwnPropertyNames(b).forEach(function(a){var g=b[a];if(g){for(;0<g.length;)g.pop().moveBackward(this,a);b[a]=null}},this);this.cache.destroy();this.defaults&&this.defaults.destroy();this.access=this.defaults=this.notifications=this.bindings=this.watchers=this.cache=this.properties=this.notifyHdls=this.timer=this.obj=
null},getFromCache:function(a){var b=this.cache,c=this.defaults,g=this.properties[a];return b.has(a)?b.get(a):c&&c.has(a)?c.get(a):g.value},get:function(a,b){var c=this.cache,g=this.defaults;if(c){if(c.has(a)&&!c.isDirty(a))return c.get(a);var p=this.obj,d=this._defineProperty(a),f=d.getter,e=d.getterArity;if(c.has(a))!b&&this.propertyWillChange(a),g=c.get(a),f&&(g=e?f.call(p,g):f.call(p)),c.set(a,g),this.propertyHasChanged(a,g);else if(f)!b&&this.propertyWillChange(a),g=e?f.call(p,d.value):f.call(p),
c.set(a,g),this.propertyHasChanged(a,g);else return g&&g.has(a)?g.get(a):d.value;return g}},set:function(b,c){var d=this._defineProperty(b),g=d.getter,p=d.setter,f=d.setterArity,e=this.obj,r=this.cache;this.propertyWillChange(b);this.propertyInvalidated(b);c=a(c,d.type);if(p){if(c=2===f?p.call(e,c,this.getFromCache(b)):p.call(e,c),void 0!==c||!g)r.set(b,c),this.propertyHasChanged(b,c)}else r.set(b,c),this.propertyHasChanged(b,c)},setDefault:function(c,d){var f=this.defaults;f||(this.defaults=f=new b);
var g=this._defineProperty(c,!0),p=g.getter,e=g.setter,r=g.getterArity,q=g.setterArity,h=this.obj,l=this.cache.has(c);d=a(d,g.type);l&&f.set(c,d);l||(e&&(d=2===q?e.call(h,d,f.get(c)):e.call(h,d),p&&(d=r?p.call(h,void 0):p.call(h))),this.initialized||f.set(c,d),this.propertyWillChange(c),f.set(c,d),this.propertyHasChanged(c,d))},hasBindings:function(a){a=this.bindings[a];return null!=a&&0<a.length},hasWatchers:function(a){a=this.watchers[a];return null!=a&&0<a.callbacks.length},bind:function(a,b){var d=
this.bindings[a];d?d.push(b):(this._defineProperty(a,!0),this.bindings[a]=d=[b]);return{remove:c(function(){d.splice(d.indexOf(b),1)})}},propertyInvalidated:function(a){var b=this.cursors[a];b&&b.forEach(function(b){b.propertyInvalidated(this,a)},this)},propertyCommitted:function(a){var b=this.cursors[a];b&&b.forEach(function(b){b.propertyCommitted(this,a)},this)},addCursor:function(a,b){var c=this.cursors[a];c||(this.cursors[a]=c=[]);c.push(b)},removeCursor:function(a,b){var c=this.cursors[a];this.cursors[a]&&
(c.splice(c.indexOf(b),1),0===c.length&&(this.cursors[a]=null))},propertyDependencyMayChange:function(a,b){this._propertyWillChange(a);this.propertyInvalidated(a)},propertyWillChange:function(a){var b=this.properties[a].chain,c,g;if(b){c=0;for(g=b.length;c<g;c++)this._propertyWillChange(b[c])}this._propertyWillChange(a)},_propertyWillChange:function(a){var b=this.cache,c=this.bindings[a],g=this.watchers[a],p=g&&g.callbacks,d=g&&g.oldValues,f=this.notifications[a],e=p&&0<p.length,q=this.initialized&&
!this.timer,l=null;if(c)for(var l=0,u=c.length;l<u;l++)c[l]();e&&(f||(f=this.notifications[a]=n.acquire(),g.isDirty=!0),g.isDirty&&(g.isDirty=!1,l=r.acquire(),l.oldValue=this.get(a,!0),l.callbacks=n.copy(p),f.push(l),d&&(b.set(a,d.add(this.obj[a])),b.setDirty(a))),q&&(this._boundDispatch||(this._boundDispatch=this.dispatch.bind(this)),this.timer=h.schedule(this._boundDispatch)));b.setDirty(a)},propertyHasChanged:function(a,b){if(this.hasBindings(a))for(var c=this.bindings[a],g=0,p=c.length;g<p;g++)c[g](b);
this.propertyCommitted(a,b)},internalGet:function(a){return this.get(a,!0)},watch:function(a,b){var d=this.obj,g=this.properties,p=this.watchers[a],f;Array.isArray(a)?f=a:-1<a.indexOf(",")&&(f=a.split(/\s*,\s*/));if(f){for(var e=n.acquire(),d=0;a=f[d++];)e.push(this.watch(a,b));return{handles:e,remove:c(function(){for(var g=0,a=e.length;g<a;g++)e[g].remove();n.release(e)})}}if(-1<a.indexOf("."))return t(d,a,b);var r=q.acquire();r.fn=b;p?(p.isDirty=!0,p.callbacks.push(r)):(this._defineProperty(a),
this.get(a,!0),this.watchers[a]=p={isDirty:!0,callbacks:[r]},g[a].copy&&(p.oldValues=new l(g[a].copy)));return{remove:c(function(){r.removed=!0;p.callbacks.splice(p.callbacks.indexOf(r),1)})}},dispatch:function(){this.timer=null;var a=this.obj,b=this.notifications,c=this.watchers,g,p,f,e,q,h,l,u;this.notifications=this._notificationsPool.acquire();var s=n.acquire();for(p in b)if(e=b[p]){b[p]=null;s.length=0;l=this.get(p);u=c[p].oldValues;for(q=0;f=e[q];q++){if(!d.equals(f.oldValue,l))for(h=0;g=f.callbacks[h];h++)!g.isExecuting&&
(!g.removed&&-1===s.indexOf(g))&&(s.push(g),g.isExecuting=!0,g.fn.call(a,l,f.oldValue,p,a),g.isExecuting=!1);r.release(f)}u&&u.reset();n.release(e)}this._notificationsPool.release(b);n.release(s)},_defineProperty:function(a,b){var c=this.obj,g=this.properties,p=g[a],d,e=!1;if(p)return p;var r=s.getPropertyOwner(c,a);r&&(p=s(r).mixin.properties[a]);p||(v.call(this.obj,a)&&(d=this.obj[a],delete this.obj[a],e=!0),b?p=s.defineProperty(this.obj,a):(p=new f(a,{value:s.getPropertyOwnerValue(c,a)}),Object.defineProperty(c,
a,p.getDescriptor())),e&&this.cache.set(a,d));return g[a]=p}};return e})},"esri/core/accessoireSupport/Cache":function(){define(["./dictionary"],function(e){var k=Object.prototype.hasOwnProperty,n=function(){this.dirty=e();this.values=e()};n.prototype={destroy:function(){this.values=this.dirty=null},has:function(e){return k.call(this.values,e)},get:function(e){return this.values[e]},remove:function(e){delete this.values[e];delete this.dirty[e]},keys:function(){return Object.keys(this.values)},set:function(e,
d){this.dirty[e]=!1;this.values[e]=d},setDirty:function(e){this.dirty[e]=!0},isDirty:function(e){return!0===this.dirty[e]}};return n})},"esri/core/accessoireSupport/dictionary":function(){define([],function(){return function(){var e=Object.create(null);e.temp={};delete e.temp;return e}})},"esri/core/accessoireSupport/OldValues":function(){define([],function(){var e=function(e){this._slots=[];this._copyFn=e};e.prototype={current:null,_slots:null,_copyFn:null,_size:0,_used:0,add:function(e){if(!e)return e;
var n=this._slots;this._used===this._size?(n[this._used++]=e,this._size++,this.current=void 0):(this.current=n.splice(this._used++,1,e)[0],this._copyFn(this.current,e));return this.current},reset:function(){this._used=0},destroy:function(){this._used=this._size=0;this.current=this._slots=null}};return e})},"esri/core/accessoireSupport/once":function(){define([],function(){return function(e){var k=!1;return function(){k||(k=!0,e())}}})},"esri/core/accessoireSupport/ensureType":function(){define(["dojo/has"],
function(e){return function(e,n){e&&(n&&!(e instanceof n))&&!(e.constructor&&void 0!==e.constructor._meta)&&(e=new n(e));return e}})},"esri/core/accessoireSupport/chainWatch":function(){define(["dojo/has","../lang","./once"],function(e,k,n){var h=function(b,d,c){this._hdl=this._obj=null;this.name=b;this.callback=d;this.next=c;this.handler=this.handler.bind(this)};h.prototype={handler:function(b,d,c,a){this.next&&(this.next.obj=b);this.name===c&&this.callback(b,d,c,a)},remove:function(){this.obj=null}};
Object.defineProperty(h.prototype,"obj",{get:function(){return this._obj},set:function(b){this._hdl&&(this._hdl.remove(),this._hdl=null);if(this._obj=b)b._accessorProps||b.__accessor__?this._hdl=b.watch(this.name,this.handler):b.watch&&(this._hdl=b.watch(this.name,function(b,c,a){this.handler(a,c,this.name,this.obj)}.bind(this)));this.next&&(this.next.obj=null==b?b:b[this.name])}});var d=function(b,f,c){Array.isArray(f)||(f=[f]);return 0<f.length?(f=new h(f[0],c,d(null,f.slice(1),c)),f.obj=b,f):null},
b=function(d,f,c){if(d)return d=d.get?d.get(f[c]):d[f[c]],c===f.length-1?d:b(d,f,++c)};return function(e,f,c){var a=f.split("."),h=b(e,a,0),t=d(e,a,function(){var d=b(e,a,0);k.equals(h,d)||(c.call(e,d,h,f,e),h=d)});return{remove:n(function(){t.remove();t=null})}}})},"esri/identity/OAuthCredential":function(){define(["../core/declare"],function(e){return e(null,{declaredClass:"esri.OAuthCredential",oAuthInfo:null,storage:null,expires:null,ssl:null,token:null,userId:null,constructor:function(e,n){this.oAuthInfo=
e;this.storage=n;this._init()},isValid:function(){var e=!1;if(this.oAuthInfo&&this.token&&this.userId){var n=(new Date).getTime();this.expires>n&&(this.expires-n)/1E3>60*this.oAuthInfo.minTimeUntilExpiration&&(e=!0)}return e},save:function(){if(this.storage){var e=this._load(),n=this.oAuthInfo;if(n&&n.authNamespace&&n.portalUrl){var h=e[n.authNamespace];h||(h=e[n.authNamespace]={});h[n.portalUrl]={expires:this.expires,ssl:this.ssl,token:this.token,userId:this.userId};try{this.storage.setItem("esriJSAPIOAuth",
JSON.stringify(e))}catch(d){console.log(d)}}}},destroy:function(){var e=this._load(),n=this.oAuthInfo;if(n&&n.authNamespace&&n.portalUrl&&this.storage){var h=e[n.authNamespace];if(h){delete h[n.portalUrl];try{this.storage.setItem("esriJSAPIOAuth",JSON.stringify(e))}catch(d){console.log(d)}}}n&&(this.oAuthInfo=n._oAuthCred=null)},_init:function(){var e=this._load(),n=this.oAuthInfo;if(n&&(n.authNamespace&&n.portalUrl)&&(e=e[n.authNamespace]))if(e=e[n.portalUrl])this.expires=e.expires,this.ssl=e.ssl,
this.token=e.token,this.userId=e.userId},_load:function(){var e={};if(this.storage){var n=this.storage.getItem("esriJSAPIOAuth");if(n)try{e=JSON.parse(n)}catch(h){console.log(h)}}return e}})})},"esri/identity/OAuthInfo":function(){define(["../core/lang","../core/declare","dojo/_base/lang"],function(e,k,n){var h=k(null,{declaredClass:"esri.identity.OAuthInfo",constructor:function(d){n.mixin(this,{expiration:20160,minTimeUntilExpiration:30,portalUrl:"https://www.arcgis.com",authNamespace:"/",forceLogin:!1,
showSocialLogins:!1,popup:!1,popupCallbackUrl:"oauth-callback.html",popupWindowFeatures:"height\x3d480,width\x3d800,location,resizable,scrollbars,status"},d)},_oAuthCred:null,toJSON:function(){return e.fixJson({appId:this.appId,expiration:this.expiration,locale:this.locale,minTimeUntilExpiration:this.minTimeUntilExpiration,portalUrl:this.portalUrl,authNamespace:this.authNamespace,forceLogin:this.forceLogin,showSocialLogins:this.showSocialLogins,popup:this.popup,popupCallbackUrl:this.popupCallbackUrl,
popupWindowFeatures:this.popupWindowFeatures})},clone:function(){return new h(this.toJSON())}});return h})},"dijit/form/Button":function(){define("require dojo/_base/declare dojo/dom-class dojo/has dojo/_base/kernel dojo/_base/lang dojo/ready ./_FormWidget ./_ButtonMixin dojo/text!./templates/Button.html ../a11yclick".split(" "),function(e,k,n,h,d,b,l,f,c,a){h("dijit-legacy-requires")&&l(0,function(){e(["dijit/form/DropDownButton","dijit/form/ComboButton","dijit/form/ToggleButton"])});l=k("dijit.form.Button"+
(h("dojo-bidi")?"_NoBidi":""),[f,c],{showLabel:!0,iconClass:"dijitNoIcon",_setIconClassAttr:{node:"iconNode",type:"class"},baseClass:"dijitButton",templateString:a,_setValueAttr:"valueNode",_setNameAttr:function(a){this.valueNode&&this.valueNode.setAttribute("name",a)},postCreate:function(){this.inherited(arguments);this._setLabelFromContainer()},_setLabelFromContainer:function(){this.containerNode&&!this.label&&(this.label=b.trim(this.containerNode.innerHTML),this.onLabelSet())},_setShowLabelAttr:function(a){this.containerNode&&
n.toggle(this.containerNode,"dijitDisplayNone",!a);this._set("showLabel",a)},setLabel:function(a){d.deprecated("dijit.form.Button.setLabel() is deprecated.  Use set('label', ...) instead.","","2.0");this.set("label",a)},onLabelSet:function(){this.inherited(arguments);!this.showLabel&&!("title"in this.params)&&(this.titleNode.title=b.trim(this.containerNode.innerText||this.containerNode.textContent||""))}});h("dojo-bidi")&&(l=k("dijit.form.Button",l,{onLabelSet:function(){this.inherited(arguments);
this.titleNode.title&&this.applyTextDir(this.titleNode,this.titleNode.title)},_setTextDirAttr:function(a){this._created&&this.textDir!=a&&(this._set("textDir",a),this._setLabelAttr(this.label))}}));return l})},"dijit/form/_FormWidget":function(){define("dojo/_base/declare dojo/sniff dojo/_base/kernel dojo/ready ../_Widget ../_CssStateMixin ../_TemplatedMixin ./_FormWidgetMixin".split(" "),function(e,k,n,h,d,b,l,f){k("dijit-legacy-requires")&&h(0,function(){require(["dijit/form/_FormValueWidget"])});
return e("dijit.form._FormWidget",[d,l,b,f],{setDisabled:function(b){n.deprecated("setDisabled("+b+") is deprecated. Use set('disabled',"+b+") instead.","","2.0");this.set("disabled",b)},setValue:function(b){n.deprecated("dijit.form._FormWidget:setValue("+b+") is deprecated.  Use set('value',"+b+") instead.","","2.0");this.set("value",b)},getValue:function(){n.deprecated(this.declaredClass+"::getValue() is deprecated. Use get('value') instead.","","2.0");return this.get("value")},postMixInProperties:function(){this.nameAttrSetting=
this.name&&!k("msapp")?'name\x3d"'+this.name.replace(/"/g,"\x26quot;")+'"':"";this.inherited(arguments)}})})},"dijit/form/_FormWidgetMixin":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-attr dojo/dom-style dojo/_base/lang dojo/mouse dojo/on dojo/sniff dojo/window ../a11y".split(" "),function(e,k,n,h,d,b,l,f,c,a){return k("dijit.form._FormWidgetMixin",null,{name:"",alt:"",value:"",type:"text","aria-label":"focusNode",tabIndex:"0",_setTabIndexAttr:"focusNode",disabled:!1,intermediateChanges:!1,
scrollOnFocus:!0,_setIdAttr:"focusNode",_setDisabledAttr:function(b){this._set("disabled",b);/^(button|input|select|textarea|optgroup|option|fieldset)$/i.test(this.focusNode.tagName)?n.set(this.focusNode,"disabled",b):this.focusNode.setAttribute("aria-disabled",b?"true":"false");this.valueNode&&n.set(this.valueNode,"disabled",b);b?(this._set("hovering",!1),this._set("active",!1),b="tabIndex"in this.attributeMap?this.attributeMap.tabIndex:"_setTabIndexAttr"in this?this._setTabIndexAttr:"focusNode",
e.forEach(d.isArray(b)?b:[b],function(b){b=this[b];f("webkit")||a.hasDefaultTabStop(b)?b.setAttribute("tabIndex","-1"):b.removeAttribute("tabIndex")},this)):""!=this.tabIndex&&this.set("tabIndex",this.tabIndex)},_onFocus:function(a){if("mouse"==a&&this.isFocusable())var b=this.own(l(this.focusNode,"focus",function(){h.remove();b.remove()}))[0],e=f("pointer-events")?"pointerup":f("MSPointer")?"MSPointerUp":f("touch-events")?"touchend, mouseup":"mouseup",h=this.own(l(this.ownerDocumentBody,e,d.hitch(this,
function(a){h.remove();b.remove();this.focused&&("touchend"==a.type?this.defer("focus"):this.focus())})))[0];this.scrollOnFocus&&this.defer(function(){c.scrollIntoView(this.domNode)});this.inherited(arguments)},isFocusable:function(){return!this.disabled&&this.focusNode&&"none"!=h.get(this.domNode,"display")},focus:function(){if(!this.disabled&&this.focusNode.focus)try{this.focusNode.focus()}catch(a){}},compare:function(a,b){return"number"==typeof a&&"number"==typeof b?isNaN(a)&&isNaN(b)?0:a-b:a>
b?1:a<b?-1:0},onChange:function(){},_onChangeActive:!1,_handleOnChange:function(a,b){if(void 0==this._lastValueReported&&(null===b||!this._onChangeActive))this._resetValue=this._lastValueReported=a;this._pendingOnChange=this._pendingOnChange||typeof a!=typeof this._lastValueReported||0!=this.compare(a,this._lastValueReported);if((this.intermediateChanges||b||void 0===b)&&this._pendingOnChange)this._lastValueReported=a,this._pendingOnChange=!1,this._onChangeActive&&(this._onChangeHandle&&this._onChangeHandle.remove(),
this._onChangeHandle=this.defer(function(){this._onChangeHandle=null;this.onChange(a)}))},create:function(){this.inherited(arguments);this._onChangeActive=!0},destroy:function(){this._onChangeHandle&&(this._onChangeHandle.remove(),this.onChange(this._lastValueReported));this.inherited(arguments)}})})},"dijit/form/_ButtonMixin":function(){define(["dojo/_base/declare","dojo/dom","dojo/has","../registry"],function(e,k,n,h){var d=e("dijit.form._ButtonMixin"+(n("dojo-bidi")?"_NoBidi":""),null,{label:"",
type:"button",__onClick:function(b){b.stopPropagation();b.preventDefault();this.disabled||this.valueNode.click(b);return!1},_onClick:function(b){if(this.disabled)return b.stopPropagation(),b.preventDefault(),!1;!1===this.onClick(b)&&b.preventDefault();var d=b.defaultPrevented;if(!d&&"submit"==this.type&&!(this.valueNode||this.focusNode).form)for(var f=this.domNode;f.parentNode;f=f.parentNode){var c=h.byNode(f);if(c&&"function"==typeof c._onSubmit){c._onSubmit(b);b.preventDefault();d=!0;break}}return!d},
postCreate:function(){this.inherited(arguments);k.setSelectable(this.focusNode,!1)},onClick:function(){return!0},_setLabelAttr:function(b){this._set("label",b);(this.containerNode||this.focusNode).innerHTML=b;this.onLabelSet()},onLabelSet:function(){}});n("dojo-bidi")&&(d=e("dijit.form._ButtonMixin",d,{onLabelSet:function(){this.inherited(arguments);this.applyTextDir(this.containerNode||this.focusNode)}}));return d})},"dijit/form/Form":function(){define("dojo/_base/declare dojo/dom-attr dojo/_base/kernel dojo/sniff ../_Widget ../_TemplatedMixin ./_FormMixin ../layout/_ContentPaneResizeMixin".split(" "),
function(e,k,n,h,d,b,l,f){return e("dijit.form.Form",[d,b,l,f],{name:"",action:"",method:"",encType:"","accept-charset":"",accept:"",target:"",templateString:"\x3cform data-dojo-attach-point\x3d'containerNode' data-dojo-attach-event\x3d'onreset:_onReset,onsubmit:_onSubmit' ${!nameAttrSetting}\x3e\x3c/form\x3e",postMixInProperties:function(){this.nameAttrSetting=this.name?"name\x3d'"+this.name+"'":"";this.inherited(arguments)},execute:function(){},onExecute:function(){},_setEncTypeAttr:function(b){k.set(this.domNode,
"encType",b);h("ie")&&(this.domNode.encoding=b);this._set("encType",b)},reset:function(b){var a={returnValue:!0,preventDefault:function(){this.returnValue=!1},stopPropagation:function(){},currentTarget:b?b.target:this.domNode,target:b?b.target:this.domNode};!1!==this.onReset(a)&&a.returnValue&&this.inherited(arguments,[])},onReset:function(){return!0},_onReset:function(b){this.reset(b);b.stopPropagation();b.preventDefault();return!1},_onSubmit:function(b){var a=this.constructor.prototype;if(this.execute!=
a.execute||this.onExecute!=a.onExecute)n.deprecated("dijit.form.Form:execute()/onExecute() are deprecated. Use onSubmit() instead.","","2.0"),this.onExecute(),this.execute(this.getValues());!1===this.onSubmit(b)&&(b.stopPropagation(),b.preventDefault())},onSubmit:function(){return this.isValid()},submit:function(){!1!==this.onSubmit()&&this.containerNode.submit()}})})},"dijit/form/ValidationTextBox":function(){define("dojo/_base/declare dojo/_base/kernel dojo/_base/lang dojo/i18n ./TextBox ../Tooltip dojo/text!./templates/ValidationTextBox.html dojo/i18n!./nls/validate".split(" "),
function(e,k,n,h,d,b,l){var f=e("dijit.form.ValidationTextBox",d,{templateString:l,required:!1,promptMessage:"",invalidMessage:"$_unset_$",missingMessage:"$_unset_$",message:"",constraints:{},pattern:".*",regExp:"",regExpGen:function(){},state:"",tooltipPosition:[],_deprecateRegExp:function(b,a){a!=f.prototype[b]&&(k.deprecated("ValidationTextBox id\x3d"+this.id+", set('"+b+"', ...) is deprecated.  Use set('pattern', ...) instead.","","2.0"),this.set("pattern",a))},_setRegExpGenAttr:function(b){this._deprecateRegExp("regExpGen",
b);this._set("regExpGen",this._computeRegexp)},_setRegExpAttr:function(b){this._deprecateRegExp("regExp",b)},_setValueAttr:function(){this.inherited(arguments);this._refreshState()},validator:function(b,a){return RegExp("^(?:"+this._computeRegexp(a)+")"+(this.required?"":"?")+"$").test(b)&&(!this.required||!this._isEmpty(b))&&(this._isEmpty(b)||void 0!==this.parse(b,a))},_isValidSubset:function(){return 0==this.textbox.value.search(this._partialre)},isValid:function(){return this.validator(this.textbox.value,
this.get("constraints"))},_isEmpty:function(b){return(this.trim?/^\s*$/:/^$/).test(b)},getErrorMessage:function(){var b="$_unset_$"==this.invalidMessage?this.messages.invalidMessage:!this.invalidMessage?this.promptMessage:this.invalidMessage,a="$_unset_$"==this.missingMessage?this.messages.missingMessage:!this.missingMessage?b:this.missingMessage;return this.required&&this._isEmpty(this.textbox.value)?a:b},getPromptMessage:function(){return this.promptMessage},_maskValidSubsetError:!0,validate:function(b){var a=
"",d=this.disabled||this.isValid(b);d&&(this._maskValidSubsetError=!0);var f=this._isEmpty(this.textbox.value),e=!d&&b&&this._isValidSubset();this._set("state",d?"":((!this._hasBeenBlurred||b)&&f||e)&&(this._maskValidSubsetError||e&&!this._hasBeenBlurred&&b)?"Incomplete":"Error");this.focusNode.setAttribute("aria-invalid","Error"==this.state?"true":"false");"Error"==this.state?(this._maskValidSubsetError=b&&e,a=this.getErrorMessage(b)):"Incomplete"==this.state?(a=this.getPromptMessage(b),this._maskValidSubsetError=
!this._hasBeenBlurred||b):f&&(a=this.getPromptMessage(b));this.set("message",a);return d},displayMessage:function(c){c&&this.focused?b.show(c,this.domNode,this.tooltipPosition,!this.isLeftToRight()):b.hide(this.domNode)},_refreshState:function(){this._created&&this.validate(this.focused);this.inherited(arguments)},constructor:function(b){this.constraints=n.clone(this.constraints);this.baseClass+=" dijitValidationTextBox"},startup:function(){this.inherited(arguments);this._refreshState()},_setConstraintsAttr:function(b){!b.locale&&
this.lang&&(b.locale=this.lang);this._set("constraints",b);this._refreshState()},_setPatternAttr:function(b){this._set("pattern",b);this._refreshState()},_computeRegexp:function(b){var a=this.pattern;"function"==typeof a&&(a=a.call(this,b));if(a!=this._lastRegExp){var d="";this._lastRegExp=a;".*"!=a&&a.replace(/\\.|\[\]|\[.*?[^\\]{1}\]|\{.*?\}|\(\?[=:!]|./g,function(a){switch(a.charAt(0)){case "{":case "+":case "?":case "*":case "^":case "$":case "|":case "(":d+=a;break;case ")":d+="|$)";break;default:d+=
"(?:"+a+"|$)"}});try{"".search(d)}catch(f){d=this.pattern,console.warn("RegExp error in "+this.declaredClass+": "+this.pattern)}this._partialre="^(?:"+d+")$"}return a},postMixInProperties:function(){this.inherited(arguments);this.messages=h.getLocalization("dijit.form","validate",this.lang);this._setConstraintsAttr(this.constraints)},_setDisabledAttr:function(b){this.inherited(arguments);this._refreshState()},_setRequiredAttr:function(b){this._set("required",b);this.focusNode.setAttribute("aria-required",
b);this._refreshState()},_setMessageAttr:function(b){this._set("message",b);this.displayMessage(b)},reset:function(){this._maskValidSubsetError=!0;this.inherited(arguments)},_onBlur:function(){this.displayMessage("");this.inherited(arguments)},destroy:function(){b.hide(this.domNode);this.inherited(arguments)}});return f})},"dijit/form/TextBox":function(){define("dojo/_base/declare dojo/dom-construct dojo/dom-style dojo/_base/kernel dojo/_base/lang dojo/on dojo/sniff ./_FormValueWidget ./_TextBoxMixin dojo/text!./templates/TextBox.html ../main".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s){f=e("dijit.form.TextBox"+(l("dojo-bidi")?"_NoBidi":""),[f,c],{templateString:a,_singleNodeTemplate:'\x3cinput class\x3d"dijit dijitReset dijitLeft dijitInputField" data-dojo-attach-point\x3d"textbox,focusNode" autocomplete\x3d"off" type\x3d"${type}" ${!nameAttrSetting} /\x3e',_buttonInputDisabled:l("ie")?"disabled":"",baseClass:"dijitTextBox",postMixInProperties:function(){var a=this.type.toLowerCase();if(this.templateString&&"input"==this.templateString.toLowerCase()||
("hidden"==a||"file"==a)&&this.templateString==this.constructor.prototype.templateString)this.templateString=this._singleNodeTemplate;this.inherited(arguments)},postCreate:function(){this.inherited(arguments);9>l("ie")&&this.defer(function(){try{var a=n.getComputedStyle(this.domNode);if(a){var b=a.fontFamily;if(b){var c=this.domNode.getElementsByTagName("INPUT");if(c)for(a=0;a<c.length;a++)c[a].style.fontFamily=b}}}catch(d){}})},_setPlaceHolderAttr:function(a){this._set("placeHolder",a);this._phspan||
(this._attachPoints.push("_phspan"),this._phspan=k.create("span",{className:"dijitPlaceHolder dijitInputField"},this.textbox,"after"),this.own(b(this._phspan,"mousedown",function(a){a.preventDefault()}),b(this._phspan,"touchend, pointerup, MSPointerUp",d.hitch(this,function(){this.focus()}))));this._phspan.innerHTML="";this._phspan.appendChild(this._phspan.ownerDocument.createTextNode(a));this._updatePlaceHolder()},_onInput:function(a){this.inherited(arguments);this._updatePlaceHolder()},_updatePlaceHolder:function(){this._phspan&&
(this._phspan.style.display=this.placeHolder&&!this.textbox.value?"":"none")},_setValueAttr:function(a,b,c){this.inherited(arguments);this._updatePlaceHolder()},getDisplayedValue:function(){h.deprecated(this.declaredClass+"::getDisplayedValue() is deprecated. Use get('displayedValue') instead.","","2.0");return this.get("displayedValue")},setDisplayedValue:function(a){h.deprecated(this.declaredClass+"::setDisplayedValue() is deprecated. Use set('displayedValue', ...) instead.","","2.0");this.set("displayedValue",
a)},_onBlur:function(a){this.disabled||(this.inherited(arguments),this._updatePlaceHolder(),l("mozilla")&&this.selectOnClick&&(this.textbox.selectionStart=this.textbox.selectionEnd=void 0))},_onFocus:function(a){!this.disabled&&!this.readOnly&&(this.inherited(arguments),this._updatePlaceHolder())}});9>l("ie")&&(f.prototype._isTextSelected=function(){var a=this.ownerDocument.selection.createRange();return a.parentElement()==this.textbox&&0<a.text.length},s._setSelectionRange=c._setSelectionRange=function(a,
b,c){a.createTextRange&&(a=a.createTextRange(),a.collapse(!0),a.moveStart("character",-99999),a.moveStart("character",b),a.moveEnd("character",c-b),a.select())});l("dojo-bidi")&&(f=e("dijit.form.TextBox",f,{_setPlaceHolderAttr:function(a){this.inherited(arguments);this.applyTextDir(this._phspan)}}));return f})},"dijit/form/_FormValueWidget":function(){define(["dojo/_base/declare","dojo/sniff","./_FormWidget","./_FormValueMixin"],function(e,k,n,h){return e("dijit.form._FormValueWidget",[n,h],{_layoutHackIE7:function(){if(7==
k("ie"))for(var d=this.domNode,b=d.parentNode,e=d.firstChild||d,f=e.style.filter,c=this;b&&0==b.clientHeight;)(function(){var a=c.connect(b,"onscroll",function(){c.disconnect(a);e.style.filter=(new Date).getMilliseconds();c.defer(function(){e.style.filter=f})})})(),b=b.parentNode}})})},"dijit/form/_FormValueMixin":function(){define("dojo/_base/declare dojo/dom-attr dojo/keys dojo/_base/lang dojo/on ./_FormWidgetMixin".split(" "),function(e,k,n,h,d,b){return e("dijit.form._FormValueMixin",b,{readOnly:!1,
_setReadOnlyAttr:function(b){k.set(this.focusNode,"readOnly",b);this._set("readOnly",b)},postCreate:function(){this.inherited(arguments);void 0===this._resetValue&&(this._lastValueReported=this._resetValue=this.value)},_setValueAttr:function(b,d){this._handleOnChange(b,d)},_handleOnChange:function(b,d){this._set("value",b);this.inherited(arguments)},undo:function(){this._setValueAttr(this._lastValueReported,!1)},reset:function(){this._hasBeenBlurred=!1;this._setValueAttr(this._resetValue,!0)}})})},
"dijit/form/_TextBoxMixin":function(){define("dojo/_base/array dojo/_base/declare dojo/dom dojo/sniff dojo/keys dojo/_base/lang dojo/on ../main".split(" "),function(e,k,n,h,d,b,l,f){var c=k("dijit.form._TextBoxMixin"+(h("dojo-bidi")?"_NoBidi":""),null,{trim:!1,uppercase:!1,lowercase:!1,propercase:!1,maxLength:"",selectOnClick:!1,placeHolder:"",_getValueAttr:function(){return this.parse(this.get("displayedValue"),this.constraints)},_setValueAttr:function(a,b,c){var d;void 0!==a&&(d=this.filter(a),
"string"!=typeof c&&(c=null!==d&&("number"!=typeof d||!isNaN(d))?this.filter(this.format(d,this.constraints)):"",0!=this.compare(d,this.filter(this.parse(c,this.constraints)))&&(c=null)));if(null!=c&&("number"!=typeof c||!isNaN(c))&&this.textbox.value!=c)this.textbox.value=c,this._set("displayedValue",this.get("displayedValue"));this.inherited(arguments,[d,b])},displayedValue:"",_getDisplayedValueAttr:function(){return this.filter(this.textbox.value)},_setDisplayedValueAttr:function(a){null==a?a=
"":"string"!=typeof a&&(a=String(a));this.textbox.value=a;this._setValueAttr(this.get("value"),void 0);this._set("displayedValue",this.get("displayedValue"))},format:function(a){return null==a?"":a.toString?a.toString():a},parse:function(a){return a},_refreshState:function(){},onInput:function(){},_onInput:function(a){this._lastInputEventValue=this.textbox.value;this._processInput(this._lastInputProducingEvent||a);delete this._lastInputProducingEvent;this.intermediateChanges&&this._handleOnChange(this.get("value"),
!1)},_processInput:function(){this._refreshState();this._set("displayedValue",this.get("displayedValue"))},postCreate:function(){this.textbox.setAttribute("value",this.textbox.value);this.inherited(arguments);this.own(l(this.textbox,"keydown, keypress, paste, cut, compositionend",b.hitch(this,function(a){var c;if("keydown"==a.type&&229!=a.keyCode){c=a.keyCode;switch(c){case d.SHIFT:case d.ALT:case d.CTRL:case d.META:case d.CAPS_LOCK:case d.NUM_LOCK:case d.SCROLL_LOCK:return}if(!a.ctrlKey&&!a.metaKey&&
!a.altKey){switch(c){case d.NUMPAD_0:case d.NUMPAD_1:case d.NUMPAD_2:case d.NUMPAD_3:case d.NUMPAD_4:case d.NUMPAD_5:case d.NUMPAD_6:case d.NUMPAD_7:case d.NUMPAD_8:case d.NUMPAD_9:case d.NUMPAD_MULTIPLY:case d.NUMPAD_PLUS:case d.NUMPAD_ENTER:case d.NUMPAD_MINUS:case d.NUMPAD_PERIOD:case d.NUMPAD_DIVIDE:return}if(65<=c&&90>=c||48<=c&&57>=c||c==d.SPACE)return;c=!1;for(var f in d)if(d[f]===a.keyCode){c=!0;break}if(!c)return}}(c=32<=a.charCode?String.fromCharCode(a.charCode):a.charCode)||(c=65<=a.keyCode&&
90>=a.keyCode||48<=a.keyCode&&57>=a.keyCode||a.keyCode==d.SPACE?String.fromCharCode(a.keyCode):a.keyCode);c||(c=229);if("keypress"==a.type){if("string"!=typeof c)return;if("a"<=c&&"z">=c||"A"<=c&&"Z">=c||"0"<=c&&"9">=c||" "===c)if(a.ctrlKey||a.metaKey||a.altKey)return}var e={faux:!0},u;for(u in a)/^(layer[XY]|returnValue|keyLocation)$/.test(u)||(f=a[u],"function"!=typeof f&&"undefined"!=typeof f&&(e[u]=f));b.mixin(e,{charOrCode:c,_wasConsumed:!1,preventDefault:function(){e._wasConsumed=!0;a.preventDefault()},
stopPropagation:function(){a.stopPropagation()}});this._lastInputProducingEvent=e;!1===this.onInput(e)&&(e.preventDefault(),e.stopPropagation());if(!e._wasConsumed&&9>=h("ie"))switch(a.keyCode){case d.TAB:case d.ESCAPE:case d.DOWN_ARROW:case d.UP_ARROW:case d.LEFT_ARROW:case d.RIGHT_ARROW:break;default:if(a.keyCode==d.ENTER&&"textarea"!=this.textbox.tagName.toLowerCase())break;this.defer(function(){this.textbox.value!==this._lastInputEventValue&&l.emit(this.textbox,"input",{bubbles:!0})})}})),l(this.textbox,
"input",b.hitch(this,"_onInput")),l(this.domNode,"keypress",function(a){a.stopPropagation()}))},_blankValue:"",filter:function(a){if(null===a)return this._blankValue;if("string"!=typeof a)return a;this.trim&&(a=b.trim(a));this.uppercase&&(a=a.toUpperCase());this.lowercase&&(a=a.toLowerCase());this.propercase&&(a=a.replace(/[^\s]+/g,function(a){return a.substring(0,1).toUpperCase()+a.substring(1)}));return a},_setBlurValue:function(){this._setValueAttr(this.get("value"),!0)},_onBlur:function(a){this.disabled||
(this._setBlurValue(),this.inherited(arguments))},_isTextSelected:function(){return this.textbox.selectionStart!=this.textbox.selectionEnd},_onFocus:function(a){!this.disabled&&!this.readOnly&&(this.selectOnClick&&"mouse"==a&&(this._selectOnClickHandle=l.once(this.domNode,"mouseup, touchend",b.hitch(this,function(a){this._isTextSelected()||c.selectInputText(this.textbox)})),this.own(this._selectOnClickHandle),this.defer(function(){this._selectOnClickHandle&&(this._selectOnClickHandle.remove(),this._selectOnClickHandle=
null)},500)),this.inherited(arguments),this._refreshState())},reset:function(){this.textbox.value="";this.inherited(arguments)}});h("dojo-bidi")&&(c=k("dijit.form._TextBoxMixin",c,{_setValueAttr:function(){this.inherited(arguments);this.applyTextDir(this.focusNode)},_setDisplayedValueAttr:function(){this.inherited(arguments);this.applyTextDir(this.focusNode)},_onInput:function(){this.applyTextDir(this.focusNode);this.inherited(arguments)}}));c._setSelectionRange=f._setSelectionRange=function(a,b,
c){a.setSelectionRange&&a.setSelectionRange(b,c)};c.selectInputText=f.selectInputText=function(a,b,d){a=n.byId(a);isNaN(b)&&(b=0);isNaN(d)&&(d=a.value?a.value.length:0);try{a.focus(),c._setSelectionRange(a,b,d)}catch(f){}};return c})},"dijit/Tooltip":function(){define("dojo/_base/array dojo/_base/declare dojo/_base/fx dojo/dom dojo/dom-class dojo/dom-geometry dojo/dom-style dojo/_base/lang dojo/mouse dojo/on dojo/sniff ./_base/manager ./place ./_Widget ./_TemplatedMixin ./BackgroundIframe dojo/text!./templates/Tooltip.html ./main".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w){function x(){}var g=k("dijit._MasterTooltip",[u,q],{duration:t.defaultDuration,templateString:m,postCreate:function(){this.ownerDocumentBody.appendChild(this.domNode);this.bgIframe=new r(this.domNode);this.fadeIn=n.fadeIn({node:this.domNode,duration:this.duration,onEnd:f.hitch(this,"_onShow")});this.fadeOut=n.fadeOut({node:this.domNode,duration:this.duration,onEnd:f.hitch(this,"_onHide")})},show:function(g,a,b,c,d,e,m){if(!this.aroundNode||!(this.aroundNode===
a&&this.containerNode.innerHTML==g))if("playing"==this.fadeOut.status())this._onDeck=arguments;else{this.containerNode.innerHTML=g;d&&this.set("textDir",d);this.containerNode.align=c?"right":"left";var r=v.around(this.domNode,a,b&&b.length?b:p.defaultPosition,!c,f.hitch(this,"orient")),q=r.aroundNodePos;"M"==r.corner.charAt(0)&&"M"==r.aroundCorner.charAt(0)?(this.connectorNode.style.top=q.y+(q.h-this.connectorNode.offsetHeight>>1)-r.y+"px",this.connectorNode.style.left=""):"M"==r.corner.charAt(1)&&
"M"==r.aroundCorner.charAt(1)?this.connectorNode.style.left=q.x+(q.w-this.connectorNode.offsetWidth>>1)-r.x+"px":(this.connectorNode.style.left="",this.connectorNode.style.top="");l.set(this.domNode,"opacity",0);this.fadeIn.play();this.isShowingNow=!0;this.aroundNode=a;this.onMouseEnter=e||x;this.onMouseLeave=m||x}},orient:function(g,a,p,c,d){this.connectorNode.style.top="";var f=c.h;c=c.w;g.className="dijitTooltip "+{"MR-ML":"dijitTooltipRight","ML-MR":"dijitTooltipLeft","TM-BM":"dijitTooltipAbove",
"BM-TM":"dijitTooltipBelow","BL-TL":"dijitTooltipBelow dijitTooltipABLeft","TL-BL":"dijitTooltipAbove dijitTooltipABLeft","BR-TR":"dijitTooltipBelow dijitTooltipABRight","TR-BR":"dijitTooltipAbove dijitTooltipABRight","BR-BL":"dijitTooltipRight","BL-BR":"dijitTooltipLeft"}[a+"-"+p];this.domNode.style.width="auto";var e=b.position(this.domNode);if(s("ie")||s("trident"))e.w+=2;var m=Math.min(Math.max(c,1),e.w);b.setMarginBox(this.domNode,{w:m});"B"==p.charAt(0)&&"B"==a.charAt(0)?(g=b.position(g),a=
this.connectorNode.offsetHeight,g.h>f?(this.connectorNode.style.top=f-(d.h+a>>1)+"px",this.connectorNode.style.bottom=""):(this.connectorNode.style.bottom=Math.min(Math.max(d.h/2-a/2,0),g.h-a)+"px",this.connectorNode.style.top="")):(this.connectorNode.style.top="",this.connectorNode.style.bottom="");return Math.max(0,e.w-c)},_onShow:function(){s("ie")&&(this.domNode.style.filter="")},hide:function(g){this._onDeck&&this._onDeck[1]==g?this._onDeck=null:this.aroundNode===g&&(this.fadeIn.stop(),this.isShowingNow=
!1,this.aroundNode=null,this.fadeOut.play());this.onMouseEnter=this.onMouseLeave=x},_onHide:function(){this.domNode.style.cssText="";this.containerNode.innerHTML="";this._onDeck&&(this.show.apply(this,this._onDeck),this._onDeck=null)}});s("dojo-bidi")&&g.extend({_setAutoTextDir:function(g){this.applyTextDir(g);e.forEach(g.children,function(g){this._setAutoTextDir(g)},this)},_setTextDirAttr:function(g){this._set("textDir",g);"auto"==g?this._setAutoTextDir(this.containerNode):this.containerNode.dir=
this.textDir}});w.showTooltip=function(a,b,c,d,f,m,r){c&&(c=e.map(c,function(g){return{after:"after-centered",before:"before-centered"}[g]||g}));p._masterTT||(w._masterTT=p._masterTT=new g);return p._masterTT.show(a,b,c,d,f,m,r)};w.hideTooltip=function(g){return p._masterTT&&p._masterTT.hide(g)};var p=k("dijit.Tooltip",u,{label:"",showDelay:400,hideDelay:400,connectId:[],position:[],selector:"",_setConnectIdAttr:function(g){e.forEach(this._connections||[],function(g){e.forEach(g,function(g){g.remove()})},
this);this._connectIds=e.filter(f.isArrayLike(g)?g:g?[g]:[],function(g){return h.byId(g,this.ownerDocument)},this);this._connections=e.map(this._connectIds,function(g){g=h.byId(g,this.ownerDocument);var b=this.selector,p=b?function(g){return a.selector(b,g)}:function(g){return g},d=this;return[a(g,p(c.enter),function(){d._onHover(this)}),a(g,p("focusin"),function(){d._onHover(this)}),a(g,p(c.leave),f.hitch(d,"_onUnHover")),a(g,p("focusout"),f.hitch(d,"set","state","DORMANT"))]},this);this._set("connectId",
g)},addTarget:function(g){g=g.id||g;-1==e.indexOf(this._connectIds,g)&&this.set("connectId",this._connectIds.concat(g))},removeTarget:function(g){g=e.indexOf(this._connectIds,g.id||g);0<=g&&(this._connectIds.splice(g,1),this.set("connectId",this._connectIds))},buildRendering:function(){this.inherited(arguments);d.add(this.domNode,"dijitTooltipData")},startup:function(){this.inherited(arguments);var g=this.connectId;e.forEach(f.isArrayLike(g)?g:[g],this.addTarget,this)},getContent:function(g){return this.label||
this.domNode.innerHTML},state:"DORMANT",_setStateAttr:function(g){if(!(this.state==g||"SHOW TIMER"==g&&"SHOWING"==this.state||"HIDE TIMER"==g&&"DORMANT"==this.state)){this._hideTimer&&(this._hideTimer.remove(),delete this._hideTimer);this._showTimer&&(this._showTimer.remove(),delete this._showTimer);switch(g){case "DORMANT":this._connectNode&&(p.hide(this._connectNode),delete this._connectNode,this.onHide());break;case "SHOW TIMER":"SHOWING"!=this.state&&(this._showTimer=this.defer(function(){this.set("state",
"SHOWING")},this.showDelay));break;case "SHOWING":var a=this.getContent(this._connectNode);if(!a){this.set("state","DORMANT");return}p.show(a,this._connectNode,this.position,!this.isLeftToRight(),this.textDir,f.hitch(this,"set","state","SHOWING"),f.hitch(this,"set","state","HIDE TIMER"));this.onShow(this._connectNode,this.position);break;case "HIDE TIMER":this._hideTimer=this.defer(function(){this.set("state","DORMANT")},this.hideDelay)}this._set("state",g)}},_onHover:function(g){this._connectNode&&
g!=this._connectNode&&this.set("state","DORMANT");this._connectNode=g;this.set("state","SHOW TIMER")},_onUnHover:function(g){this.set("state","HIDE TIMER")},open:function(g){this.set("state","DORMANT");this._connectNode=g;this.set("state","SHOWING")},close:function(){this.set("state","DORMANT")},onShow:function(){},onHide:function(){},destroy:function(){this.set("state","DORMANT");e.forEach(this._connections||[],function(g){e.forEach(g,function(g){g.remove()})},this);this.inherited(arguments)}});
p._MasterTooltip=g;p.show=w.showTooltip;p.hide=w.hideTooltip;p.defaultPosition=["after-centered","before-centered"];return p})},"dijit/place":function(){define("dojo/_base/array dojo/dom-geometry dojo/dom-style dojo/_base/kernel dojo/_base/window ./Viewport ./main".split(" "),function(e,k,n,h,d,b,l){function f(a,c,f,h){var l=b.getEffectiveBox(a.ownerDocument);(!a.parentNode||"body"!=String(a.parentNode.tagName).toLowerCase())&&d.body(a.ownerDocument).appendChild(a);var q=null;e.some(c,function(b){var c=
b.corner,g=b.pos,p=0,d={w:{L:l.l+l.w-g.x,R:g.x-l.l,M:l.w}[c.charAt(1)],h:{T:l.t+l.h-g.y,B:g.y-l.t,M:l.h}[c.charAt(0)]},e=a.style;e.left=e.right="auto";f&&(p=f(a,b.aroundCorner,c,d,h),p="undefined"==typeof p?0:p);var m=a.style,r=m.display,s=m.visibility;"none"==m.display&&(m.visibility="hidden",m.display="");e=k.position(a);m.display=r;m.visibility=s;r={L:g.x,R:g.x-e.w,M:Math.max(l.l,Math.min(l.l+l.w,g.x+(e.w>>1))-e.w)}[c.charAt(1)];s={T:g.y,B:g.y-e.h,M:Math.max(l.t,Math.min(l.t+l.h,g.y+(e.h>>1))-
e.h)}[c.charAt(0)];g=Math.max(l.l,r);m=Math.max(l.t,s);r=Math.min(l.l+l.w,r+e.w);s=Math.min(l.t+l.h,s+e.h);r-=g;s-=m;p+=e.w-r+(e.h-s);if(null==q||p<q.overflow)q={corner:c,aroundCorner:b.aroundCorner,x:g,y:m,w:r,h:s,overflow:p,spaceAvailable:d};return!p});q.overflow&&f&&f(a,q.aroundCorner,q.corner,q.spaceAvailable,h);c=q.y;var r=q.x,m=d.body(a.ownerDocument);/relative|absolute/.test(n.get(m,"position"))&&(c-=n.get(m,"marginTop"),r-=n.get(m,"marginLeft"));m=a.style;m.top=c+"px";m.left=r+"px";m.right=
"auto";return q}var c={TL:"BR",TR:"BL",BL:"TR",BR:"TL"};return l.place={at:function(a,b,d,h,l){d=e.map(d,function(a){var d={corner:a,aroundCorner:c[a],pos:{x:b.x,y:b.y}};h&&(d.pos.x+="L"==a.charAt(1)?h.x:-h.x,d.pos.y+="T"==a.charAt(0)?h.y:-h.y);return d});return f(a,d,l)},around:function(a,b,c,d,l){function q(g,a){B.push({aroundCorner:g,corner:a,pos:{x:{L:z,R:z+C,M:z+(C>>1)}[g.charAt(1)],y:{T:y,B:y+A,M:y+(A>>1)}[g.charAt(0)]}})}var r;if("string"==typeof b||"offsetWidth"in b||"ownerSVGElement"in b){if(r=
k.position(b,!0),/^(above|below)/.test(c[0])){var m=k.getBorderExtents(b),w=b.firstChild?k.getBorderExtents(b.firstChild):{t:0,l:0,b:0,r:0},x=k.getBorderExtents(a),g=a.firstChild?k.getBorderExtents(a.firstChild):{t:0,l:0,b:0,r:0};r.y+=Math.min(m.t+w.t,x.t+g.t);r.h-=Math.min(m.t+w.t,x.t+g.t)+Math.min(m.b+w.b,x.b+g.b)}}else r=b;if(b.parentNode){m="absolute"==n.getComputedStyle(b).position;for(b=b.parentNode;b&&1==b.nodeType&&"BODY"!=b.nodeName;){w=k.position(b,!0);x=n.getComputedStyle(b);/relative|absolute/.test(x.position)&&
(m=!1);if(!m&&/hidden|auto|scroll/.test(x.overflow)){var g=Math.min(r.y+r.h,w.y+w.h),p=Math.min(r.x+r.w,w.x+w.w);r.x=Math.max(r.x,w.x);r.y=Math.max(r.y,w.y);r.h=g-r.y;r.w=p-r.x}"absolute"==x.position&&(m=!0);b=b.parentNode}}var z=r.x,y=r.y,C="w"in r?r.w:r.w=r.width,A="h"in r?r.h:(h.deprecated("place.around: dijit/place.__Rectangle: { x:"+z+", y:"+y+", height:"+r.height+", width:"+C+" } has been deprecated.  Please use { x:"+z+", y:"+y+", h:"+r.height+", w:"+C+" }","","2.0"),r.h=r.height),B=[];e.forEach(c,
function(g){var a=d;switch(g){case "above-centered":q("TM","BM");break;case "below-centered":q("BM","TM");break;case "after-centered":a=!a;case "before-centered":q(a?"ML":"MR",a?"MR":"ML");break;case "after":a=!a;case "before":q(a?"TL":"TR",a?"TR":"TL");q(a?"BL":"BR",a?"BR":"BL");break;case "below-alt":a=!a;case "below":q(a?"BL":"BR",a?"TL":"TR");q(a?"BR":"BL",a?"TR":"TL");break;case "above-alt":a=!a;case "above":q(a?"TL":"TR",a?"BL":"BR");q(a?"TR":"TL",a?"BR":"BL");break;default:q(g.aroundCorner,
g.corner)}});a=f(a,B,l,{w:C,h:A});a.aroundNodePos=r;return a}}})},"esri/identity/OAuthSignInHandler":function(){define("./Credential ../core/domUtils ../core/lang ../core/urlUtils dijit/Dialog dijit/registry dojo/_base/config dojo/Deferred dojo/_base/kernel dojo/dom-attr dojo/i18n!./nls/identity dojo/io-query dojo/sniff dijit/form/Button dojo/query".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v){return{_oAuthDfd:null,_oAuthIntervalId:0,_oAuthDialogContent:"\x3cdiv class\x3d'dijitDialogPaneContentArea'\x3e\x3cdiv style\x3d'padding-bottom: 5px; word-wrap: break-word;'\x3e{oAuthInfo}\x3c/div\x3e\x3cdiv style\x3d'margin: 0px; padding: 0px; height: 10px;'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriErrorMsg' style\x3d'display: none; color: white; background-color: #D46464; text-align: center; padding-top: 3px; padding-bottom: 3px;'\x3e{invalidUser}\x3c/div\x3e\x3cdiv style\x3d'margin: 0px; padding: 0px; height: 10px;'\x3e\x3c/div\x3e\x3cdiv class\x3d'dijitDialogPaneActionBar'\x3e\x3cbutton data-dojo-type\x3d'dijit.form.Button' data-dojo-props\x3d'type:\"button\", \"class\":\"esriIdSubmit\"'\x3e{lblOk}\x3c/button\x3e\x3cbutton data-dojo-type\x3d'dijit.form.Button' data-dojo-props\x3d'type:\"button\", \"class\":\"esriIdCancel\"'\x3e{lblCancel}\x3c/button\x3e\x3c/div\x3e",
setOAuthRedirectionHandler:function(a){this._oAuthRedirectFunc=a},oAuthSignIn:function(b,c,d,e){var h=this._oAuthDfd=new f;h.resUrl_=b;h.sinfo_=c;h.oinfo_=d;var l=!e||!1!==e.oAuthPopupConfirmation;if(!d.popup||!l)return this._doOAuthSignIn(b,c,d),h.promise;this._nls||(this._nls=s);this.oAuthDialog||(this.oAuthDialog=this._createOAuthDialog());b=this.oAuthDialog;c=e&&e.error;e=e&&e.token;k.hide(b.errMsg_);c&&(403==c.code&&e)&&(a.set(b.errMsg_,"innerHTML",this._nls.forbidden),k.show(b.errMsg_));b.show();
return h.promise},setOAuthResponseHash:function(a){var b=this._oAuthDfd;this._oAuthDfd=null;if(b&&a)if(clearInterval(this._oAuthIntervalId),"#"===a.charAt(0)&&(a=a.substring(1)),a=t.queryToObject(a),a.error)a=Error("access_denied"===a.error?"ABORTED":"OAuth: "+a.error+" - "+a.error_description),a.code="IdentityManagerBase.2",a.log=l.isDebug,b.reject(a);else{var c=b.oinfo_._oAuthCred,d=new e({userId:a.username,server:b.sinfo_.server,token:a.access_token,expires:(new Date).getTime()+1E3*Number(a.expires_in),
ssl:"true"===a.ssl,_oAuthCred:c});c.storage=a.persist?window.localStorage:window.sessionStorage;c.token=d.token;c.expires=d.expires;c.userId=d.userId;c.ssl=d.ssl;c.save();b.resolve(d)}},_createOAuthDialog:function(){var a=this._nls,f=n.substitute(a,this._oAuthDialogContent),e=new d({title:a.title,content:f,"class":"esri-widget esriOAuthSignInDialog esriIdentityDialog",style:"min-width: 18em;",esriIdMgr_:this,execute_:function(){var a=e.esriIdMgr_._oAuthDfd;e.hide_();e.esriIdMgr_._doOAuthSignIn(a.resUrl_,
a.sinfo_,a.oinfo_)},cancel_:function(){var a=e.esriIdMgr_._oAuthDfd;e.esriIdMgr_._oAuthDfd=null;e.hide_();var b=Error("ABORTED");b.code="IdentityManager.2";b.log=l.isDebug;a.reject(b)},hide_:function(){k.hide(e.errMsg_);e.hide();d._DialogLevelManager.hide(e)}}),a=e.domNode;e.btnSubmit_=b.byNode(c.query(".esriIdSubmit",a)[0]);e.btnCancel_=b.byNode(c.query(".esriIdCancel",a)[0]);e.errMsg_=c.query(".esriErrorMsg",a)[0];e.connect(e.btnSubmit_,"onClick",e.execute_);e.connect(e.btnCancel_,"onClick",e.onCancel);
e.connect(e,"onCancel",e.cancel_);return e},_doOAuthSignIn:function(a,b,c){var d=this,f={client_id:c.appId,response_type:"token",state:JSON.stringify({portalUrl:c.portalUrl}),expiration:c.expiration,locale:c.locale,redirect_uri:c.popup?h.makeAbsolute(c.popupCallbackUrl):window.location.href.replace(/#.*$/,"")};c.forceLogin&&(f.force_login=!0);c.showSocialLogins&&(f.showSocialLogins=!0);var e=c.portalUrl.replace(/^http:/i,"https:")+"/sharing/oauth2/authorize",g=e+"?"+t.objectToQuery(f);if(c.popup){var p;
7===v("ie")?(p=window.open(c.popupCallbackUrl,"esriJSAPIOAuth",c.popupWindowFeatures),p.location=g):p=window.open(g,"esriJSAPIOAuth",c.popupWindowFeatures);p?(p.focus(),this._oAuthDfd.oAuthWin_=p,this._oAuthIntervalId=setInterval(function(){if(p.closed){clearInterval(d._oAuthIntervalId);var g=d._oAuthDfd;if(g){var a=Error("ABORTED");a.code="IdentityManager.2";a.log=l.isDebug;g.reject(a)}}},500)):(a=Error("ABORTED"),a.code="IdentityManager.2",a.log=l.isDebug,this._oAuthDfd.reject(a))}else this._oAuthRedirectFunc?
this._oAuthRedirectFunc({authorizeParams:f,authorizeUrl:e,resourceUrl:a,serverInfo:b,oAuthInfo:c}):window.location=g}}})},"esri/portal/PortalQueryParams":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/accessorSupport/decorators ../core/Accessor ../core/kebabDictionary ../geometry/Extent ../geometry/support/webMercatorUtils ../geometry/SpatialReference dojo/_base/lang".split(" "),function(e,k,n,h,d,b,l,f,c,a,s){var t=l({avgRating:"avg-rating",
numRatings:"num-ratings",numComments:"num-comments",numViews:"num-views"});return function(b){function e(a){b.call(this);this.disableExtraQuery=!1;this.extent=null;this.num=10;this.sortField=this.query=null;this.start=1}n(e,b);Object.defineProperty(e.prototype,"sortOrder",{get:function(){return this._get("sortOrder")||"asc"},set:function(a){("asc"===a||"desc"===a)&&this._set("sortOrder",a)},enumerable:!0,configurable:!0});e.prototype.clone=function(){return new e({disableExtraQuery:this.disableExtraQuery,
extent:this.extent?this.extent.clone():null,num:this.num,query:this.query,sortField:this.sortField,sortOrder:this.sortOrder,start:this.start})};e.prototype.toRequestOptions=function(b,d){var f;if(this.extent){var e=c.project(this.extent,a.WGS84);e&&(f=e.xmin+","+e.ymin+","+e.xmax+","+e.ymax)}e=this.query;!this.disableExtraQuery&&b.extraQuery&&(e="("+e+")"+b.extraQuery);f={bbox:f,q:e,num:this.num,sortField:null,sortOrder:null,start:this.start};this.sortField&&(f.sortField=t.toJSON(this.sortField),
f.sortOrder=this.sortOrder);return{query:s.mixin(d,f)}};h([d.property()],e.prototype,"disableExtraQuery",void 0);h([d.property({type:f})],e.prototype,"extent",void 0);h([d.property()],e.prototype,"num",void 0);h([d.property()],e.prototype,"query",void 0);h([d.property()],e.prototype,"sortField",void 0);h([d.property()],e.prototype,"sortOrder",null);h([d.property()],e.prototype,"start",void 0);return e=h([d.subclass("esri.portal.PortalQueryParams")],e)}(d.declared(b))})},"esri/core/kebabDictionary":function(){define(["require",
"exports"],function(e,k){return function(e){var h={},d;for(d in e)h[e[d]]=d;return{toJSON:function(b){return h.hasOwnProperty(b)?h[b]:b},fromJSON:function(b){return e.hasOwnProperty(b)?e[b]:b}}}})},"esri/portal/PortalQueryResult":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/accessorSupport/decorators ../core/Accessor".split(" "),function(e,k,n,h,d,b){return function(b){function f(c){b.call(this);this.total=this.results=this.queryParams=
this.nextQueryParams=null}n(f,b);h([d.property()],f.prototype,"nextQueryParams",void 0);h([d.property()],f.prototype,"queryParams",void 0);h([d.property()],f.prototype,"results",void 0);h([d.property()],f.prototype,"total",void 0);return f=h([d.subclass("esri.portal.PortalQueryResult")],f)}(d.declared(b))})},"esri/portal/PortalUser":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/accessorSupport/decorators ../core/Error ../core/JSONSupport ./PortalFolder ./PortalGroup ../core/promiseUtils ../core/requireUtils dojo/promise/all".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t){return function(l){function u(){l.call(this);this.username=this.roleId=this.role=this.region=this.privileges=this.preferredView=this.portal=this.orgId=this.modified=this.fullName=this.email=this.description=this.culture=this.created=this.access=null}n(u,l);Object.defineProperty(u.prototype,"thumbnailUrl",{get:function(){var a=this.url,b=this.thumbnail;return a&&b?this.portal._normalizeUrl(a+"/info/"+b):null},enumerable:!0,configurable:!0});Object.defineProperty(u.prototype,
"userContentUrl",{get:function(){var a=this.get("portal.restUrl");return a?a+"/content/users/"+this.username:null},enumerable:!0,configurable:!0});Object.defineProperty(u.prototype,"url",{get:function(){var a=this.get("portal.restUrl");return a?a+"/community/users/"+this.username:null},enumerable:!0,configurable:!0});u.prototype.addItem=function(a){var b=this,c=a&&a.item,d=a&&a.data;a=a&&a.folder;var f={method:"post"};c&&(f.query=c._getPostQuery(),null!=d&&("string"===typeof d?f.query.text=d:"object"===
typeof d&&(f.query.text=JSON.stringify(d))));d=this.userContentUrl;a&&(d+="/"+a.id);return this.portal._request(d+"/addItem",f).then(function(g){c.id=g.id;c.portal=b.portal;return c.loaded?c._reload():c.load()})};u.prototype.deleteItem=function(a){var b=this.userContentUrl;a.ownerFolder&&(b+="/"+a.ownerFolder);return this.portal._request(b+("/items/"+a.id+"/delete"),{method:"post"}).then(function(){a.id=null;a.portal=null})};u.prototype.fetchFolders=function(){var a=this;return this.portal._request(this.userContentUrl,
{query:{num:1}}).then(function(b){return b&&b.folders?b.folders.map(function(b){b=f.fromJSON(b);b.portal=a.portal;return b}):[]})};u.prototype.fetchGroups=function(){var a=this;return this.portal._request(this.url).then(function(b){return b&&b.groups?b.groups.map(function(b){b=c.fromJSON(b);b.portal=a.portal;return b}):[]})};u.prototype.fetchItems=function(a){var b=this;a||(a={});var c=this.userContentUrl;a.folder&&(c+="/"+a.folder.id);var d;return s.when(e,"./PortalItem").then(function(f){d=f;return b.portal._request(c,
{query:{folders:!1,num:a.num||10,start:a.start||1}})}).then(function(a){var g;return a&&a.items?(g=a.items.map(function(g){g=d.fromJSON(g);g.portal=b.portal;g.load();return g}),t(g).always(function(){return{items:g,nextStart:a.nextStart,total:a.total}})):{items:[],nextStart:-1,total:0}})};u.prototype.queryFavorites=function(d){return this.favGroupId?(this._favGroup||(this._favGroup=new c({id:this.favGroupId,portal:this.portal})),this._favGroup.queryItems(d)):a.reject(new b("internal:unknown","Unknown internal error",
{internalError:"Unknown favGroupId"}))};u.prototype.toJSON=function(){throw new b("internal:not-yet-implemented","PortalGroup.toJSON is not yet implemented");};h([d.property()],u.prototype,"access",void 0);h([d.property({type:Date})],u.prototype,"created",void 0);h([d.property()],u.prototype,"culture",void 0);h([d.property()],u.prototype,"description",void 0);h([d.property()],u.prototype,"email",void 0);h([d.property()],u.prototype,"favGroupId",void 0);h([d.property()],u.prototype,"fullName",void 0);
h([d.property({type:Date})],u.prototype,"modified",void 0);h([d.property()],u.prototype,"orgId",void 0);h([d.property()],u.prototype,"portal",void 0);h([d.property()],u.prototype,"preferredView",void 0);h([d.property()],u.prototype,"privileges",void 0);h([d.property()],u.prototype,"region",void 0);h([d.property()],u.prototype,"role",void 0);h([d.property()],u.prototype,"roleId",void 0);h([d.property()],u.prototype,"thumbnail",void 0);h([d.property({dependsOn:["url","thumbnail","portal.credential.token"],
readOnly:!0})],u.prototype,"thumbnailUrl",null);h([d.property({dependsOn:["portal.restUrl"],readOnly:!0})],u.prototype,"userContentUrl",null);h([d.property({dependsOn:["portal.restUrl"],readOnly:!0})],u.prototype,"url",null);h([d.property()],u.prototype,"username",void 0);return u=h([d.subclass("esri.portal.PortalUser")],u)}(d.declared(l))})},"esri/portal/PortalFolder":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/accessorSupport/decorators ../core/Error ../core/JSONSupport".split(" "),
function(e,k,n,h,d,b,l){return function(f){function c(a){f.call(this);this.username=this.title=this.portal=this.id=this.created=null}n(c,f);Object.defineProperty(c.prototype,"url",{get:function(){var a=this.get("portal.restUrl");return a?a+"/content/users/"+this.username+"/"+this.id:null},enumerable:!0,configurable:!0});c.prototype.toJSON=function(){throw new b("internal:not-yet-implemented","PortalFolder.toJSON is not yet implemented");};h([d.property({type:Date})],c.prototype,"created",void 0);
h([d.property()],c.prototype,"id",void 0);h([d.property()],c.prototype,"portal",void 0);h([d.property()],c.prototype,"title",void 0);h([d.property({dependsOn:["portal.restUrl"],readOnly:!0})],c.prototype,"url",null);h([d.property()],c.prototype,"username",void 0);return c=h([d.subclass("esri.portal.PortalFolder")],c)}(d.declared(l))})},"esri/portal/PortalGroup":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/tsSupport/paramHelper ../core/accessorSupport/decorators ../core/Error ../core/JSONSupport ./PortalQueryParams".split(" "),
function(e,k,n,h,d,b,l,f,c){return function(a){function f(b){a.call(this);this.id=this.description=this.created=this.access=null;this.isInvitationOnly=!1;this.title=this.tags=this.sortOrder=this.sortField=this.snippet=this.portal=this.owner=this.modified=null}n(f,a);Object.defineProperty(f.prototype,"url",{get:function(){var a=this.get("portal.restUrl");return a?a+"/community/groups/"+this.id:null},enumerable:!0,configurable:!0});f.prototype.fetchMembers=function(){return this.portal._request(this.url+
"/users")};f.prototype.toJSON=function(){throw new l("internal:not-yet-implemented","PortalGroup.toJSON is not yet implemented");};f.prototype.queryItems=function(a){a=a?a.clone():new c;a.query="group:"+this.id+(a.query?" "+a.query:"");return this.portal.queryItems(a)};h([b.property()],f.prototype,"access",void 0);h([b.property({type:Date})],f.prototype,"created",void 0);h([b.property()],f.prototype,"description",void 0);h([b.property()],f.prototype,"id",void 0);h([b.property()],f.prototype,"isInvitationOnly",
void 0);h([b.property({type:Date})],f.prototype,"modified",void 0);h([b.property()],f.prototype,"owner",void 0);h([b.property()],f.prototype,"portal",void 0);h([b.property()],f.prototype,"snippet",void 0);h([b.property()],f.prototype,"sortField",void 0);h([b.property()],f.prototype,"sortOrder",void 0);h([b.property()],f.prototype,"tags",void 0);h([b.property()],f.prototype,"title",void 0);h([b.property({dependsOn:["portal.restUrl"],readOnly:!0})],f.prototype,"url",null);h([d(0,b.cast(c))],f.prototype,
"queryItems",null);return f=h([b.subclass("esri.portal.PortalGroup")],f)}(b.declared(f))})},"esri/portal/PortalItem":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/accessorSupport/decorators ../core/Error ../core/lang ../geometry/Extent ../core/JSONSupport ../core/Loadable ./Portal ./PortalRating ../core/promiseUtils".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v){return function(a){function c(b){a.call(this);this.url=this.typeKeywords=
this.type=this.title=this.tags=this.snippet=this.size=this.portal=this.owner=this.numViews=this.numRatings=this.numComments=this.name=this.modified=this.licenseInfo=this.itemControl=this.id=this.extent=this.description=this.culture=this.created=this.avgRating=this.accessInformation=this.access=null}n(c,a);Object.defineProperty(c.prototype,"displayName",{get:function(){var a=this.type,b=this.typeKeywords||[],c=a;"Feature Service"===a||"Feature Collection"===a?c=-1<b.indexOf("Table")?"Table":-1<b.indexOf("Route Layer")?
"Route Layer":"Feature Layer":"Image Service"===a?c=-1<b.indexOf("Elevation 3D Layer")?"Elevation Layer":"Imagery Layer":"Scene Service"===a?c="Scene Layer":"Scene Package"===a?c="Scene Layer Package":"Stream Service"===a?c="Feature Layer":"Geoprocessing Service"===a&&this.portal&&this.portal.isPortal?c=-1<b.indexOf("Web Tool")?"Tool":"Geoprocessing Service":"Geocoding Service"===a?c="Locator":"Microsoft Powerpoint"===a?c="Microsoft PowerPoint":"GeoJson"===a?c="GeoJSON":"Globe Service"===a?c="Globe Layer":
"Vector Tile Service"===a?c="Tile Layer":"Map Service"===a?c=-1<b.indexOf("Hosted Service")||-1<b.indexOf("Tiled")?"Tile Layer":"Map Image Layer":a&&-1<a.toLowerCase().indexOf("add in")?c=a.replace(/(add in)/ig,"Add-In"):"datastore catalog service"===a&&(c="Big Data File Share");return c},enumerable:!0,configurable:!0});c.prototype.readExtent=function(a){return a&&a.length?new f(a[0][0],a[0][1],a[1][0],a[1][1]):null};Object.defineProperty(c.prototype,"iconUrl",{get:function(){var a=this.type&&this.type.toLowerCase()||
"",b=this.typeKeywords||[],c=!1,d=!1,g=!1;0<a.indexOf("service")||"feature collection"===a||"kml"===a||"wms"===a||"wmts"===a||"wfs"===a?(c=-1<b.indexOf("Hosted Service"),"feature service"===a||"feature collection"===a||"kml"===a||"wfs"===a?(d=-1<b.indexOf("Table"),g=-1<b.indexOf("Route Layer"),a=d?"table":g?"routelayer":c?"featureshosted":"features"):a="map service"===a||"wms"===a||"wmts"===a?c||-1<b.indexOf("Tiled")||"wmts"===a?"maptiles":"mapimages":"scene service"===a?-1<b.indexOf("Line")?"sceneweblayerline":
-1<b.indexOf("3DObject")?"sceneweblayermultipatch":-1<b.indexOf("Point")?"sceneweblayerpoint":-1<b.indexOf("IntegratedMesh")?"sceneweblayermesh":-1<b.indexOf("PointCloud")?"sceneweblayerpointcloud":-1<b.indexOf("Polygon")?"sceneweblayerpolygon":"sceneweblayer":"image service"===a?-1<b.indexOf("Elevation 3D Layer")?"elevationlayer":"imagery":"stream service"===a?"streamlayer":"vector tile service"===a?"vectortile":"datastore catalog service"===a?"datastorecollection":"geocoding service"===a?"geocodeservice":
"layers"):a="web map"===a||"cityengine web scene"===a?"maps":"web scene"===a?-1<b.indexOf("ViewingMode-Local")?"webscenelocal":"websceneglobal":"web mapping application"===a||"mobile application"===a||"application"===a||"operation view"===a||"desktop application"===a?"apps":"map document"===a||"map package"===a||"published map"===a||"scene document"===a||"globe document"===a||"basemap package"===a||"mobile basemap package"===a||"mobile map package"===a||"project package"===a||"project template"===
a||"pro map"===a||"layout"===a||"layer"===a&&-1<b.indexOf("ArcGIS Pro")||"explorer map"===a&&b.indexOf("Explorer Document")?"mapsgray":"service definition"===a||"csv"===a||"shapefile"===a||"cad drawing"===a||"geojson"===a||"360 vr experience"===a?"datafiles":"explorer add in"===a||"desktop add in"===a||"windows viewer add in"===a||"windows viewer configuration"===a?"appsgray":"arcgis pro add in"===a||"arcgis pro configuration"===a?"addindesktop":"rule package"===a||"file geodatabase"===a||"csv collection"===
a||"kml collection"===a||"windows mobile package"===a||"map template"===a||"desktop application template"===a||"arcpad package"===a||"code sample"===a||"form"===a||"document link"===a||"vector tile package"===a||"operations dashboard add in"===a||"rules package"===a||"image"===a||"workflow manager package"===a||"desktop style"===a||"explorer map"===a&&-1<b.indexOf("Explorer Mapping Application")||-1<b.indexOf("Document")?"datafilesgray":"network analysis service"===a||"geoprocessing service"===a||
"geodata service"===a||"geometry service"===a||"geoprocessing package"===a||"locator package"===a||"geoprocessing sample"===a||"workflow manager service"===a||"raster function template"===a?"toolsgray":"layer"===a||"layer package"===a||"explorer layer"===a?"layersgray":"scene package"===a?"scenepackage":"tile package"===a?"tilepackage":"task file"===a?"taskfile":"report template"===a?"report-template":"statistical data collection"===a?"statisticaldatacollection":"insights workbook"===a?"workbook":
"insights model"===a?"insightsmodel":"insights page"===a?"insightspage":"relational database connection"===a?"relationaldatabaseconnection":"big data file share"===a?"datastorecollection":"image collection"===a?"imagecollection":"style"===a?"style":"maps";return a?e.toUrl("../images/portal/"+a+"16.png"):null},enumerable:!0,configurable:!0});Object.defineProperty(c.prototype,"isLayer",{get:function(){return-1<"Map Service;Feature Service;Feature Collection;Scene Service;Image Service;Stream Service;Vector Tile Service".split(";").indexOf(this.type)},
enumerable:!0,configurable:!0});Object.defineProperty(c.prototype,"itemUrl",{get:function(){var a=this.get("portal.restUrl");return a?a+"/content/items/"+this.id:null},enumerable:!0,configurable:!0});Object.defineProperty(c.prototype,"thumbnailUrl",{get:function(){var a=this.itemUrl,b=this.thumbnail;return a&&b?this.portal._normalizeUrl(a+"/info/"+b):null},enumerable:!0,configurable:!0});Object.defineProperty(c.prototype,"userItemUrl",{get:function(){var a=this.get("portal.restUrl");if(!a)return null;
var b=this.owner||this.get("portal.user.username");return!b?null:a+"/content/users/"+(this.ownerFolder?b+"/"+this.ownerFolder:b)+"/items/"+this.id},enumerable:!0,configurable:!0});c.prototype.load=function(){var a=this;this.portal||(this.portal=s.getDefault());var b=this.portal.load().then(function(){return a.resourceInfo?a.resourceInfo:a.id&&a.itemUrl?a.portal._request(a.itemUrl):{}}).then(function(b){a.resourceInfo=b;a.read(b)});this.addResolvingPromise(b);return this};c.prototype.addRating=function(a){var b=
{method:"post",query:{}};a instanceof t&&(a=a.rating);!isNaN(a)&&"number"===typeof a&&(b.query.rating=a);return this.portal._request(this.itemUrl+"/addRating",b).then(function(){return new t({rating:a,created:new Date})})};c.prototype.deleteRating=function(){return this.portal._request(this.itemUrl+"/deleteRating",{method:"post"}).then(function(){})};c.prototype.fetchData=function(a){void 0===a&&(a="json");return this.portal._request(this.itemUrl+"/data",{responseType:a})};c.prototype.fetchRating=
function(){return this.portal._request(this.itemUrl+"/rating").then(function(a){return null!=a.rating?(a.created=new Date(a.created),new t(a)):null})};c.prototype.fetchRelatedItems=function(a){return this.portal._requestToTypedArray(this.itemUrl+"/relatedItems",{query:a},"PortalItem")};c.prototype.update=function(a){var c=this;if(!this.id)return v.reject(new b("portal:item-does-not-exist","The item does not exist yet and cannot be updated"));var d=a&&a.data;a={method:"post"};a.query=this._getPostQuery();
for(var f in a.query)null===a.query[f]&&(a.query[f]="");a.query.clearEmptyFields=!0;null!=d&&("string"===typeof d?a.query.text=d:"object"===typeof d&&(a.query.text=JSON.stringify(d)));return(f=this.userItemUrl)?this.portal._request(f+"/update",a).then(function(){return c.loaded?c._reload():c.load()}):v.reject(new b("portal:not-signed-in","Not signed in"))};c.prototype.toJSON=function(){var a=this.extent,a={created:this.created&&this.created.getTime(),description:this.description,extent:a&&[[a.xmin,
a.ymin],[a.xmax,a.ymax]],id:this.id,modified:this.modified&&this.modified.getTime(),name:this.name,owner:this.owner,ownerFolder:this.ownerFolder,snippet:this.snippet,tags:this.tags,thumbnail:this.thumbnail,title:this.title,type:this.type,typeKeywords:this.typeKeywords,url:this.url};return l.fixJson(a)};c.fromJSON=function(a){if(!a)return null;if(a.declaredClass)throw Error("JSON object is already hydrated");return new c({resourceInfo:a})};c.prototype._reload=function(){var a=this;return this.portal._request(this.itemUrl,
{query:{_ts:(new Date).getTime()}}).then(function(b){a.resourceInfo=b;a.read(b);return a})};c.prototype._getPostQuery=function(){var a=this.toJSON(),b;for(b in a)"tags"===b&&null!==a[b]&&(a[b]=a[b].join(", ")),"typeKeywords"===b&&null!==a[b]&&(a[b]=a[b].join(", "));return a};h([d.property()],c.prototype,"access",void 0);h([d.property()],c.prototype,"accessInformation",void 0);h([d.property()],c.prototype,"avgRating",void 0);h([d.property({type:Date})],c.prototype,"created",void 0);h([d.property()],
c.prototype,"culture",void 0);h([d.property()],c.prototype,"description",void 0);h([d.property({dependsOn:["type","typeKeywords"],readOnly:!0})],c.prototype,"displayName",null);h([d.property({type:f})],c.prototype,"extent",void 0);h([d.read("extent")],c.prototype,"readExtent",null);h([d.property({dependsOn:["type","typeKeywords"],readOnly:!0})],c.prototype,"iconUrl",null);h([d.property()],c.prototype,"id",void 0);h([d.property({dependsOn:["type"],readOnly:!0})],c.prototype,"isLayer",null);h([d.property()],
c.prototype,"itemControl",void 0);h([d.property({dependsOn:["portal.restUrl","id"],readOnly:!0})],c.prototype,"itemUrl",null);h([d.property()],c.prototype,"licenseInfo",void 0);h([d.property({type:Date})],c.prototype,"modified",void 0);h([d.property()],c.prototype,"name",void 0);h([d.property()],c.prototype,"numComments",void 0);h([d.property()],c.prototype,"numRatings",void 0);h([d.property()],c.prototype,"numViews",void 0);h([d.property()],c.prototype,"owner",void 0);h([d.property()],c.prototype,
"ownerFolder",void 0);h([d.property({type:s})],c.prototype,"portal",void 0);h([d.property()],c.prototype,"resourceInfo",void 0);h([d.property()],c.prototype,"size",void 0);h([d.property()],c.prototype,"snippet",void 0);h([d.property()],c.prototype,"tags",void 0);h([d.property()],c.prototype,"thumbnail",void 0);h([d.property({dependsOn:["itemUrl","thumbnail","portal.credential.token"],readOnly:!0})],c.prototype,"thumbnailUrl",null);h([d.property()],c.prototype,"title",void 0);h([d.property()],c.prototype,
"type",void 0);h([d.property()],c.prototype,"typeKeywords",void 0);h([d.property()],c.prototype,"url",void 0);h([d.property({dependsOn:["portal.restUrl","portal.user.username","owner","ownerFolder","id"],readOnly:!0})],c.prototype,"userItemUrl",null);return c=h([d.subclass("esri.portal.PortalItem")],c)}(d.declared(c,a))})},"esri/portal/PortalRating":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/accessorSupport/decorators ../core/Accessor".split(" "),
function(e,k,n,h,d,b){return function(b){function f(c){b.call(this);this.rating=this.created=null}n(f,b);h([d.property()],f.prototype,"created",void 0);h([d.property()],f.prototype,"rating",void 0);return f=h([d.subclass("esri.portal.PortalRating")],f)}(d.declared(b))})},"esri/support/groundUtils":function(){define("require exports ../core/accessorSupport/ensureType ../core/Logger ../Ground ../layers/ElevationLayer".split(" "),function(e,k,n,h,d,b){var l=h.getLogger("esri.support.groundUtils");k.groundElevationLayers=
{"world-elevation":{id:"worldElevation",url:"//elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer"}};k.ensureType=function(f){var c;"string"===typeof f?f in k.groundElevationLayers?(f=k.groundElevationLayers[f],f=new b({id:f.id,url:f.url}),c=new d({layers:[f]})):l.warn("Unable to find ground definition for: "+f+'. Try "world-elevation"'):c=n.default(d,f);return c}})},"esri/layers/ElevationLayer":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/accessorSupport/decorators dojo/_base/lang ../request ../core/Error ../core/promiseUtils ../core/requireUtils ./TiledLayer ./mixins/ArcGISMapService ./mixins/ArcGISCachedService ./mixins/OperationalLayer ./mixins/PortalLayer ./support/rasterFormats/LercCodec".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r){return function(m){function q(a){m.call(this);this.type="elevation";this.url=null;this.opacity=1;this.operationalLayerType="ArcGISTiledElevationServiceLayer"}n(q,m);q.prototype.normalizeCtorArgs=function(a,g){return"string"===typeof a?b.mixin({},{url:a},g):a};q.prototype.load=function(){var a=this;this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"],supportsData:!1,validateItem:function(g){for(var a=0;a<g.typeKeywords.length;a++)if("elevation 3d layer"===
g.typeKeywords[a].toLowerCase())return!0;throw new f("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}' ",{type:"Image Service",expectedType:"Image Service Elevation 3D Layer"});}}).always(function(){return a._fetchImageService()}));return this};q.prototype.fetchTile=function(a,g,b,c){var d=this;void 0===c&&(c=0);return this.load().then(function(){return d._fetchTileAvailability(a,g,b)}).then(function(){var c=d.getTileUrl(a,g,b);return l(c,{responseType:"array-buffer",
failOk:!0})}).then(function(g){g=r.decode(g.data,{noDataValue:c,returnFileInfo:!0});return{values:g.pixelData,width:g.width,height:g.height,maxZError:g.fileInfo.maxZError,noDataValue:g.noDataValue}})};q.prototype.queryElevation=function(b,g){var c=this;return a.when(e,"./support/ElevationQuery").then(function(a){return(new a.ElevationQuery).query(c,b,g)})};q.prototype._fetchTileAvailability=function(a,g,b){return this.tilemapCache?this.tilemapCache.fetchAvailability(a,g,b):c.resolve("unknown")};q.prototype._fetchImageService=
function(){var a=this;return c.resolve().then(function(){if(a.resourceInfo)return a.resourceInfo;var g={query:b.mixin({f:"json"},a.parsedUrl.query),responseType:"json",callbackParamName:"callback"};return l(a.parsedUrl.path,g)}).then(function(g){g.ssl&&(a.url=a.url.replace(/^http:/i,"https:"));a.read(g.data,{origin:"service",url:a.parsedUrl})})};h([d.shared({"3d":"../views/3d/layers/ElevationLayerView3D"})],q.prototype,"viewModulePaths",void 0);h([d.property()],q.prototype,"resourceInfo",void 0);
h([d.property()],q.prototype,"type",void 0);h([d.property()],q.prototype,"url",void 0);h([d.property({json:{readable:!1,writable:!1}})],q.prototype,"opacity",void 0);h([d.property()],q.prototype,"operationalLayerType",void 0);return q=h([d.subclass("esri.layers.ElevationLayer")],q)}(d.declared(s,t,v,u,q))})},"esri/layers/TiledLayer":function(){define(["./Layer","./support/TileInfo"],function(e,k){return e.createSubclass({properties:{attributionDataUrl:null,tileInfo:k},viewModulePaths:{"2d":"../views/2d/layers/TiledLayerView2D",
"3d":"../views/3d/layers/TiledLayerView3D"},getTileUrl:function(e,h,d){}})})},"esri/layers/support/TileInfo":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper dojo/_base/lang ../../core/JSONSupport ../../core/kebabDictionary ../../core/lang ../../core/accessorSupport/decorators ../../geometry/SpatialReference ../../geometry/Point ../../geometry/support/webMercatorUtils ./LOD".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v){var u=l({PNG:"png",
PNG8:"png8",PNG24:"png24",PNG32:"png32",JPEG:"jpg",JPG:"jpg",DIB:"dib",TIFF:"tiff",EMF:"emf",PS:"ps",PDF:"pdf",GIF:"gif",SVG:"svg",SVGZ:"svgz",Mixed:"mixed",MIXED:"mixed",LERC:"lerc"});return function(b){function e(a){b.call(this);this.dpi=96;this.origin=this.format=null;this.maxScale=this.minScale=0;this.spatialReference=this.size=null}n(e,b);Object.defineProperty(e.prototype,"lods",{set:function(a){var b=this,c=0,g=0,p=[];this._levelToLOD={};a&&(c=-Infinity,g=Infinity,a.forEach(function(a){p.push(a.scale);
c=a.scale>c?a.scale:c;g=a.scale<g?a.scale:g;b._levelToLOD[a.level]=a}));this._set("scales",p);this._set("minScale",c);this._set("maxScale",g);this._set("lods",a);this._initializeUpsampleLevels()},enumerable:!0,configurable:!0});e.prototype.zoomToScale=function(a){var b=this.scales;if(0>=a)return b[0];if(a>=b.length)return b[b.length-1];var c=Math.round(a-0.5),g=Math.round(a);return b[g]+(g-a)*(b[c]-b[g])};e.prototype.scaleToZoom=function(a){for(var b=this.scales,c=b.length-1,g=0;g<c;g++){var p=b[g],
d=b[g+1];if(p<=a)break;if(d===a)return g+1;if(p>a&&d<a)return g+1-(a-d)/(p-d)}return g};e.prototype.snapScale=function(a,b){void 0===b&&(b=0.95);var c=this.scaleToZoom(a);return c%Math.floor(c)>=b?this.zoomToScale(Math.ceil(c)):this.zoomToScale(Math.floor(c))};e.prototype.tileAt=function(a,b,c,g){var p=this.lodAt(a);if(!p)return null;g||(g={id:null,level:0,row:0,col:0,extent:[0,0,0,0]});var d;if("number"===typeof b)d=b,b=c;else{if(b.spatialReference.equals(this.spatialReference))d=b.x,b=b.y;else{g=
t.project(b,this.spatialReference);if(!g)return null;d=g.x;b=g.y}g=c}c=p.resolution*this.size[0];p=p.resolution*this.size[1];g.level=a;g.row=Math.floor((this.origin.y-b)/p+0.001);g.col=Math.floor((d-this.origin.x)/c+0.001);this.updateTileInfo(g);return g};e.prototype.updateTileInfo=function(a){var b=this.lodAt(a.level),c=b.resolution*this.size[0],b=b.resolution*this.size[1];a.id=a.level+"/"+a.row+"/"+a.col;a.extent||(a.extent=[0,0,0,0]);a.extent[0]=this.origin.x+a.col*c;a.extent[1]=this.origin.y-
(a.row+1)*b;a.extent[2]=a.extent[0]+c;a.extent[3]=a.extent[1]+b};e.prototype.upsampleTile=function(a){var b=this._upsampleLevels[a.level];if(!b||-1===b.parentLevel)return!1;a.level=b.parentLevel;a.row=Math.floor(a.row/b.factor+0.001);a.col=Math.floor(a.col/b.factor+0.001);this.updateTileInfo(a);return!0};e.prototype.lodAt=function(a){return this._levelToLOD&&this._levelToLOD[a]||null};e.prototype.clone=function(){return e.fromJSON(this.toJSON())};e.prototype.toJSON=function(){return f.fixJson({rows:this.size[0],
cols:this.size[1],dpi:this.dpi,format:u.toJSON(this.format),compressionQuality:this.compressionQuality,origin:this.origin&&this.origin.toJSON(),spatialReference:this.spatialReference&&this.spatialReference.toJSON(),lods:this.lods&&this.lods.map(function(a){return a.toJSON()})})};e.prototype._initializeUpsampleLevels=function(){var a=this.lods;this._upsampleLevels=[];for(var b=null,c=0;c<a.length;c++){var g=a[c];this._upsampleLevels[g.level]={parentLevel:b?b.level:-1,factor:b?b.resolution/g.resolution:
0};b=g}};h([c.property()],e.prototype,"compressionQuality",void 0);h([c.property()],e.prototype,"dpi",void 0);h([c.property({json:{read:u.fromJSON}})],e.prototype,"format",void 0);h([c.property({type:s,json:{read:function(a,b){return s.fromJSON(d.mixin({spatialReference:b.spatialReference},a))}}})],e.prototype,"origin",void 0);h([c.property({type:[v],value:null})],e.prototype,"lods",null);h([c.property({readOnly:!0})],e.prototype,"minScale",void 0);h([c.property({readOnly:!0})],e.prototype,"maxScale",
void 0);h([c.property({readOnly:!0})],e.prototype,"scales",void 0);h([c.property({cast:function(a){return Array.isArray(a)?a:"number"===typeof a?[a,a]:[256,256]},json:{readFrom:["rows","cols"],read:function(a,b){return[b.cols,b.rows]}}})],e.prototype,"size",void 0);h([c.property({type:a})],e.prototype,"spatialReference",void 0);return e=h([c.subclass("esri.layers.support.TileInfo")],e)}(c.declared(b))})},"esri/layers/support/LOD":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper ../../core/accessorSupport/decorators ../../core/JSONSupport".split(" "),
function(e,k,n,h,d,b){return function(b){function f(c){b.call(this,c);this.level=0;this.levelValue=null;this.scale=this.resolution=0}n(f,b);f.prototype.clone=function(){return new f({level:this.level,levelValue:this.levelValue,resolution:this.resolution,scale:this.scale})};h([d.property({json:{writable:!0}})],f.prototype,"level",void 0);h([d.property({json:{writable:!0}})],f.prototype,"levelValue",void 0);h([d.property({json:{writable:!0}})],f.prototype,"resolution",void 0);h([d.property({json:{writable:!0}})],
f.prototype,"scale",void 0);return f=h([d.subclass("esri.layers.support.LOD")],f)}(d.declared(b))})},"esri/layers/mixins/ArcGISMapService":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper ../../core/accessorSupport/decorators ./ArcGISService ./ScaleRangeLayer ../../geometry/Extent ../../geometry/SpatialReference".split(" "),function(e,k,n,h,d,b,l,f,c){return function(a){function b(){a.apply(this,arguments);this.version=this.spatialReference=
this.fullExtent=this.copyright=null}n(b,a);b.prototype.readCapabilities=function(a,b){return a&&a.split(",").map(function(a){return a.trim()})};b.prototype.readCopyright=function(a,b){return b.copyrightText};b.prototype.readLegendEnabled=function(a,b){return b.showLegend};b.prototype.writeLegendEnabled=function(a,b){a||(b.showLegend=!1)};b.prototype.readPopupEnabled=function(a,b){return!b.disablePopup};b.prototype.readVersion=function(a,b){var c=b.currentVersion;c||(c=b.hasOwnProperty("capabilities")||
b.hasOwnProperty("tables")?10:b.hasOwnProperty("supportedImageFormatTypes")?9.31:9.3);return c};h([d.property()],b.prototype,"capabilities",void 0);h([d.read("service","capabilities")],b.prototype,"readCapabilities",null);h([d.property()],b.prototype,"copyright",void 0);h([d.read("copyright",["copyrightText"])],b.prototype,"readCopyright",null);h([d.property({type:f})],b.prototype,"fullExtent",void 0);h([d.property({json:{origins:{service:{readable:!1}}}})],b.prototype,"id",void 0);h([d.property()],
b.prototype,"legendEnabled",void 0);h([d.read("legendEnabled",["showLegend"])],b.prototype,"readLegendEnabled",null);h([d.write("legendEnabled")],b.prototype,"writeLegendEnabled",null);h([d.read("popupEnabled",["disablePopup"])],b.prototype,"readPopupEnabled",null);h([d.property({type:c})],b.prototype,"spatialReference",void 0);h([d.property()],b.prototype,"version",void 0);h([d.read("version",["currentVersion","capabilities","tables","supportedImageFormatTypes"])],b.prototype,"readVersion",null);
return b=h([d.subclass("esri.layers.mixins.ArcGISMapService")],b)}(d.declared(b,l))})},"esri/layers/mixins/ArcGISService":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper ../../core/accessorSupport/decorators ../../core/MultiOriginJSONSupport ../support/arcgisLayerUrl".split(" "),function(e,k,n,h,d,b,l){return function(b){function c(){b.apply(this,arguments)}n(c,b);Object.defineProperty(c.prototype,"title",{get:function(){if(this._get("title")&&
"defaults"!==this.originOf("title"))return this._get("title");if(this.url){var a=l.parse(this.url);if(a&&a.title)return a.title}return this._get("title")||""},set:function(a){this._set("title",a)},enumerable:!0,configurable:!0});h([d.property({dependsOn:["url"]})],c.prototype,"title",null);h([d.property()],c.prototype,"url",void 0);return c=h([d.subclass("esri.layers.mixins.ArcGISService")],c)}(d.declared(b))})},"esri/core/MultiOriginJSONSupport":function(){define("require exports ./tsSupport/declareExtendsHelper ./tsSupport/decorateHelper ./accessorSupport/decorators ./Accessor ./accessorSupport/read ./accessorSupport/write ./accessorSupport/utils ./accessorSupport/MultiOriginStore ./accessorSupport/PropertyOrigin".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s){function t(a){return c.getProperties(a).store}return function(b){function e(){b.call(this);var d=c.getProperties(this),f=d.metadatas,m=d.store,h=new a.default;d.store=h;m.keys().forEach(function(a){h.set(a,m.get(a),s.OriginId.DEFAULTS)});Object.keys(f).forEach(function(a){d.internalGet(a)&&h.set(a,d.internalGet(a),s.OriginId.DEFAULTS)})}n(e,b);e.prototype.clear=function(a,b){void 0===b&&(b="user");return t(this).clear(a,s.nameToId(b))};e.prototype.read=function(a,b){l.default(this,
a,b);return this};e.prototype.write=function(a,b){a=a||{};f.default(this,a,b);return a};e.prototype.getAtOrigin=function(a,b){var c=t(this),d=s.nameToId(b);if("string"===typeof a)return c.get(a,d);var f={};a.forEach(function(a){f[a]=c.get(a,d)});return f};e.prototype.originOf=function(a){var b=t(this);if("string"===typeof a)return s.idToName(b.originOf(a));a.forEach(function(a){s.idToName(b.originOf(a))})};e.prototype.revert=function(a,b){var d=t(this),f=s.nameToId(b),e=c.getProperties(this);("string"===
typeof a?"*"===a?Object.keys(d.getAll(f)):[a]:a).forEach(function(a){e.propertyInvalidated(a);d.revert(a,f);e.propertyCommitted(a)})};e.prototype.removeOrigin=function(a){var b=t(this);a=s.nameToId(a);var c=b.getAll(a),d;for(d in c)b.originOf(d)===a&&b.set(d,c[d],s.OriginId.USER)};e.prototype.updateOrigin=function(a,b){var c=t(this),d=s.nameToId(b),f=this.get(a);c.clear(a);c.set(a,f,d)};return e=h([d.subclass("esri.core.MultiOriginJSONSupport")],e)}(d.declared(b))})},"esri/core/accessorSupport/MultiOriginStore":function(){define(["require",
"exports","./PropertyOrigin"],function(e,k,n){e=function(){function e(){this._propertyOriginMap={};this._originStores=Array(n.OriginId.NUM);this._values={}}e.prototype.get=function(d,b){var e=void 0===b?this._values:this._originStores[b];return e?e[d]:void 0};e.prototype.keys=function(){return Object.keys(this._values)};e.prototype.set=function(d,b,e){void 0===e&&(e=n.OriginId.USER);var f=this._originStores[e];f||(f={},this._originStores[e]=f);f[d]=b;return!(d in this._values)||this._propertyOriginMap[d]<=
e?(f=this._values[d],this._values[d]=b,this._propertyOriginMap[d]=e,f!==b):!1};e.prototype.clear=function(d,b){void 0===b&&(b=n.OriginId.USER);var e=this._originStores[b];if(e){var f=e[d];delete e[d];if(d in this._values&&this._propertyOriginMap[d]===b){delete this._values[d];for(e=b-1;0<=e;e--){var c=this._originStores[e];if(c&&d in c){this._values[d]=c[d];this._propertyOriginMap[d]=e;break}}}return f}};e.prototype.has=function(d,b){var e=void 0===b?this._values:this._originStores[b];return e?d in
e:!1};e.prototype.revert=function(d,b){for(;0<b&&!this.has(d,b);)--b;var e=this._originStores[b],e=e&&e[d],f=this._values[d];this._values[d]=e;this._propertyOriginMap[d]=b;return f!==e};e.prototype.originOf=function(d,b){return this._propertyOriginMap[d]||n.OriginId.DEFAULTS};e.prototype.getAll=function(d){return this._originStores[d]};return e}();Object.defineProperty(k,"__esModule",{value:!0});k.default=e})},"esri/layers/support/arcgisLayerUrl":function(){define(["require","exports","../../core/urlUtils"],
function(e,k,n){function h(b){var e=n.urlToObject(b).path.match(k.match);if(!e)return null;b=e[1];var f=e[2],c=e[3],e=e[4],a=f.indexOf("/");-1!==a&&(f=f.slice(a+1));return{title:d(f),serverType:c,sublayer:null!=e&&""!==e?parseInt(e,10):null,url:{path:b}}}function d(b){b=b.replace(/\s*[/_]+\s*/g," ");return b[0].toUpperCase()+b.slice(1)}k.serverTypes="MapServer ImageServer FeatureServer SceneServer StreamServer VectorTileServer".split(" ");k.match=RegExp("^((?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(.+?)\\/("+
k.serverTypes.join("|")+"))(?:\\/(?:layers\\/)?(\\d+))?","i");k.test=function(b){return!!k.match.test(b)};k.parse=h;k.cleanTitle=d;k.titleFromUrlAndName=function(b,e){var f=[];if(b){var c=h(b);c&&c.title&&f.push(c.title)}e&&(c=d(e),f.push(c));if(2===f.length){if(-1!==f[0].toLowerCase().indexOf(f[1].toLowerCase()))return f[0];if(-1!==f[1].toLowerCase().indexOf(f[0].toLowerCase()))return f[1]}return f.join(" - ")};k.isHostedAgolService=function(b){if(!b)return!1;b=b.toLowerCase();var d=-1!==b.indexOf(".arcgis.com/");
b=-1!==b.indexOf("//services")||-1!==b.indexOf("//tiles")||-1!==b.indexOf("//features");return d&&b}})},"esri/layers/mixins/ScaleRangeLayer":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper ../../core/accessorSupport/decorators ../../core/Accessor".split(" "),function(e,k,n,h,d,b){return function(b){function f(){b.apply(this,arguments);this.maxScale=this.minScale=0}n(f,b);h([d.property({json:{writeWith:["maxScale"],writable:!0}})],f.prototype,
"minScale",void 0);h([d.property({json:{writeWith:["minScale"],writable:!0}})],f.prototype,"maxScale",void 0);return f=h([d.subclass("esri.layers.mixins.ScaleRangeLayer")],f)}(d.declared(b))})},"esri/layers/mixins/ArcGISCachedService":function(){define("dojo/_base/lang dojo/io-query ./ArcGISService ./ScaleRangeLayer ../support/TileInfo ../support/TilemapCache".split(" "),function(e,k,n,h,d,b){return n.createSubclass([h],{declaredClass:"esri.layers.mixins.ArcGISCachedService",properties:{minScale:{json:{origins:{service:{readable:!1}}}},
maxScale:{json:{origins:{service:{readable:!1}}}},resampling:!0,supportsBlankTile:{value:!1,readOnly:!0,dependsOn:["version"],get:function(){return 10.2<=this.version}},tileInfo:{value:null,type:d,json:{read:function(b,f){var c=f.minScale?f.minScale:Infinity,a=f.maxScale?f.maxScale:-Infinity;return b?(b.lods=b.lods.filter(function(b){return b.scale<=c&&b.scale>=a}),d.fromJSON(b)):null}}},tilemapCache:{value:null,json:{readFrom:["capabilities"],read:function(d,f){return f.capabilities&&-1<f.capabilities.indexOf("Tilemap")?
new b({layer:this}):null}}},refreshTimestamp:null,version:{}},refresh:function(){this.refreshTimestamp=Date.now();this.inherited(arguments)},getTileUrl:function(b,d,c){var a=e.mixin({},this.parsedUrl.query,{token:this.token,blankTile:!this.tilemapCache&&this.resampling&&this.supportsBlankTile?!1:null,_ts:this.refreshTimestamp});b=this.parsedUrl.path+"/tile/"+b+"/"+d+"/"+c;a=k.objectToQuery(a);return b+(a?"?"+a:"")}})})},"esri/layers/support/TilemapCache":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper dojo/_base/lang dojo/io-query ../../request ../../core/Accessor ../../core/LRUMap ../../core/promiseUtils ../../core/watchUtils ../../core/Error ../../core/HandleRegistry ../../core/Logger ../../core/accessorSupport/decorators ./Tilemap".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r){var m=u.getLogger("esri.layers.support.TilemapCache");return function(f){function e(){f.apply(this,arguments);this._handles=new v;this._pendingTilemapRequests={};this._availableLevels={};this.levels=5;this.cacheByteSize=2097152;this.request=l}n(e,f);e.prototype.normalizeCtorArgs=function(a){var b=this;a=d.mixin({},a);this._constructOnly={};["cacheByteSize","layer","levels","request"].forEach(function(c){c in a&&("levels"===c&&2>=a[c]?m.error("Minimum levels for Tilemap is 3, but got ",
a[c]):b._constructOnly[c]=a[c],delete a[c])});return a};e.prototype.initialize=function(){var a=this,b;for(b in this._constructOnly)this._set(b,this._constructOnly[b]);this._constructOnly=null;this._tilemapCache=new c(this.cacheByteSize,{sizeOfFunction:function(a){return a.byteSize}});this._handles.add([this.watch(["layer.parsedUrl","layer.tileServers"],function(){return a._initializeTilemapDefinition()}),s.init(this,"layer.tileInfo.lods",function(b){return a._initializeAvailableLevels(b)},!0)]);
this._initializeTilemapDefinition()};e.prototype.destroy=function(){this._handles&&(this._handles.destroy(),this._handles=null)};Object.defineProperty(e.prototype,"size",{get:function(){return 1<<this.levels},enumerable:!0,configurable:!0});e.prototype.getTilemap=function(a,b,c){return this._tilemapFromCache(a,b,c,this._tmpTilemapDefinition)};e.prototype.fetchTilemap=function(g,b,c,d){var f=this;if(!this._availableLevels[g])return a.reject(new t("tilemap-cache:level-unavailable","Level "+g+" is unavailable in the service"));
var e=this._tmpTilemapDefinition;if(g=this._tilemapFromCache(g,b,c,e))return a.resolve(g);var m=r.tilemapDefinitionId(e);g=this._pendingTilemapRequests[m];g||(g=r.Tilemap.fromDefinition(e,d).then(function(a){f._tilemapCache.set(m,a);delete f._pendingTilemapRequests[m];return a}).otherwise(function(g){delete f._pendingTilemapRequests[m];return a.reject(g)}),this._pendingTilemapRequests[m]=g);return g};e.prototype.getAvailability=function(a,b,c){return!this._availableLevels[a]?"unavailable":(a=this.getTilemap(a,
b,c))?a.getAvailability(b,c):"unknown"};e.prototype.getAvailabilityUpsample=function(a,b,c,d){d.level=a;d.row=b;d.col=c;a=this.layer.tileInfo;for(a.updateTileInfo(d);;)if(b=this.getAvailability(d.level,d.row,d.col),"unavailable"===b){if(!a.upsampleTile(d))return"unavailable"}else return b};e.prototype.fetchAvailability=function(g,b,c,d){return!this._availableLevels[g]?a.reject(new t("tilemap-cache:level-unavailable","Level "+g+" is unavailable in the service")):this.fetchTilemap(g,b,c,d).always(function(d){return d instanceof
r.Tilemap?(d=d.getAvailability(b,c),"unavailable"===d?a.reject(new t("tile-map:tile-unavailable","Tile is not available",{level:g,row:b,col:c})):d):"unknown"})};e.prototype.fetchAvailabilityUpsample=function(g,b,c,d,f){var e=this;d.level=g;d.row=b;d.col=c;var m=this.layer.tileInfo;m.updateTileInfo(d);return this.fetchAvailability(g,b,c,f).otherwise(function(g){return m.upsampleTile(d)?e.fetchAvailabilityUpsample(d.level,d.row,d.col,d):a.reject(g)})};e.prototype._initializeTilemapDefinition=function(){if(this.layer.parsedUrl){var a=
this.layer.parsedUrl,c=a.query;if((!c||!c.token)&&this.layer.token)c=d.mixin(c,{token:this.layer.token});this._tilemapCache.clear();this._tmpTilemapDefinition={service:{url:a.path,query:c?b.objectToQuery(c):null,tileServers:this.layer.tileServers,request:this.request},width:this.size,height:this.size,level:0,row:0,col:0}}};e.prototype._tilemapFromCache=function(a,b,c,d){a=this._getTilemapDefinition(a,b,c,d);a=r.tilemapDefinitionId(a);return this._tilemapCache.get(a)};e.prototype._getTilemapDefinition=
function(a,b,c,d){d.level=a;d.row=b-b%this.size;d.col=c-c%this.size;return d};e.prototype._initializeAvailableLevels=function(a){var b=this;this._availableLevels={};a&&a.forEach(function(a){return b._availableLevels[a.level]=!0})};h([q.property({readOnly:!0})],e.prototype,"levels",void 0);h([q.property({readOnly:!0,dependsOn:["levels"]})],e.prototype,"size",null);h([q.property({readOnly:!0})],e.prototype,"cacheByteSize",void 0);h([q.property({readOnly:!0})],e.prototype,"layer",void 0);h([q.property({readOnly:!0})],
e.prototype,"request",void 0);return e=h([q.subclass("esri.layers.support.TilemapCache")],e)}(q.declared(f))})},"esri/core/LRUMap":function(){define(["require","exports"],function(e,k){return function(){function e(h,d){void 0===h&&(h=0);this.sizeOfFunction=function(){return 1};this._sizeOf=0;this._cache=new Map;this._queue=[];if(0>=h)throw Error("LRU cache size must be bigger than zero!");this._maxSize=h;d&&(d.disposeFunction&&(this.disposeFunction=d.disposeFunction),d.sizeOfFunction&&(this.sizeOfFunction=
d.sizeOfFunction))}Object.defineProperty(e.prototype,"length",{get:function(){return this._cache.size},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"size",{get:function(){return this._sizeOf},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"keys",{get:function(){return this._queue.slice()},enumerable:!0,configurable:!0});e.prototype.clear=function(){var e=this;this._queue.length=0;this.disposeFunction&&this._cache.forEach(function(d,b){e.disposeFunction(b,d)});
this._cache.clear();this._sizeOf=0};e.prototype.delete=function(e){var d=this._cache.get(e);return this._cache.delete(e)?(this._sizeOf-=this.sizeOfFunction(d),this.disposeFunction&&this.disposeFunction(e,d),this._queue.splice(this._queue.indexOf(e),1),!0):!1};e.prototype.forEach=function(e,d){this._cache.forEach(e,d)};e.prototype.get=function(e){var d=this._cache.get(e);if(void 0!==d)return this._queue.splice(this._queue.indexOf(e),1),this._queue.unshift(e),d};e.prototype.has=function(e){return this._cache.has(e)};
e.prototype.set=function(e,d){var b=this.get(e);void 0!==b?this._sizeOf-=this.sizeOfFunction(b):this._queue.unshift(e);this._sizeOf+=this.sizeOfFunction(d);this._cache.set(e,d);this._collect();return this};e.prototype._collect=function(){for(;this._queue.length&&this._sizeOf>this._maxSize;){var e=this._queue.pop(),d=this._cache.get(e);this._cache.delete(e)&&(this._sizeOf-=this.sizeOfFunction(d),this.disposeFunction&&this.disposeFunction(e,d))}};return e}()})},"esri/core/watchUtils":function(){define(["require",
"exports","dojo/Deferred","dojo/promise/Promise"],function(e,k,n,h){function d(a,b,c,d,f){f=a.watch(b,function(g,b,f,e){(!d||d(g))&&c.call(a,g,b,f,e)},f);var e=a.get(b);d&&d(e)&&c.call(a,e,e,b,a);return f}function b(a,b,c,f,e){function l(){p&&(p.remove(),p=null)}var g=!1,p,z=new n(l),k=new h;k.cancel=z.cancel;k.isCanceled=z.isCanceled;k.isFulfilled=z.isFulfilled;k.isRejected=z.isRejected;k.isResolved=z.isResolved;k.then=z.then;k.remove=l;Object.freeze(k);p=d(a,b,function(b,p,d,f){g=!0;l();c&&c.call(a,
b,p,d,f);z.resolve({value:b,oldValue:p,propertyName:d,target:f})},f,e);g&&p.remove();return k}function l(a){return!!a}function f(a){return!a}function c(a){return!0===a}function a(a){return!1===a}function s(a){return void 0!==a}function t(a){return void 0===a}function v(a,b,c,d){(Array.isArray(b)?b:-1<b.indexOf(",")?b.split(","):[b]).forEach(function(b){b=b.trim();var d=a.get(b);c.call(a,d,d,b,a)});return a.watch(b,c,d)}k.init=v;k.watch=function(a,b,c,d){return a.watch(b,c,d)};k.once=function(a,c,
d,f){return b(a,c,d,null,f)};k.when=function(a,b,c,f){return d(a,b,c,l,f)};k.whenOnce=function(a,c,d,f){return b(a,c,d,l,f)};k.whenNot=function(a,b,c,e){return d(a,b,c,f,e)};k.whenNotOnce=function(a,c,d,e){return b(a,c,d,f,e)};k.whenTrue=function(a,b,f,e){return d(a,b,f,c,e)};k.whenTrueOnce=function(a,d,f,e){return b(a,d,f,c,e)};k.whenFalse=function(b,c,f,e){return d(b,c,f,a,e)};k.whenFalseOnce=function(c,d,f,e){return b(c,d,f,a,e)};k.whenDefined=function(a,b,c,f){return d(a,b,c,s,f)};k.whenDefinedOnce=
function(a,c,d,f){return b(a,c,d,s,f)};k.whenUndefined=function(a,b,c,f){return d(a,b,c,t,f)};k.whenUndefinedOnce=function(a,c,d,f){return b(a,c,d,t,f)};k.pausable=function(a,b,c,d){var f=!1;return{remove:a.watch(b,function(b,g,p,d){f||c.call(a,b,g,p,d)},d).remove,pause:function(){f=!0},resume:function(){f=!1}}};k.on=function(a,b,c,d,f,e,g){function p(){l&&(e&&e(h,b,a,c),l.remove(),h=l=null)}var h=null,l=null,k=v(a,b,function(g){p();g&&g.on&&(h=g,l=g.on(c,d),f&&f(h,b,a,c))},g);return{remove:function(){k.remove();
p()}}}})},"esri/layers/support/Tilemap":function(){define("require exports dojo/_base/lang ../../request ../../core/lang ../../core/Error".split(" "),function(e,k,n,h,d,b){function l(b){var c=b.service.tileServers,c=(c&&c.length?c[b.row%c.length]:b.service.url)+"/tilemap/"+b.level+"/"+b.row+"/"+b.col+"/"+b.width+"/"+b.height;(b=b.service.query)&&(c=c+"?"+b);return c}e=function(){function f(){this.location={left:0,top:0,width:0,height:0};this.byteSize=40}f.prototype.getAvailability=function(b,a){if(this._isAllAvailable)return"available";
if(this._isAllUnvailable)return"unavailable";var d=(b-this.location.top)*this.location.width+(a-this.location.left),f=d>>3,e=this._tileAvailabilityBitSet;return 0>f||f>e.length?"unknown":e[f]&1<<d%8?"available":"unavailable"};f.prototype._updateFromData=function(b){for(var a=!0,d=!0,f=Math.ceil(this.location.width*this.location.height/8),f=new Uint8Array(f),e=0,h=0;h<b.length;h++){var q=h%8;b[h]?(d=!1,f[e]|=1<<q):a=!1;7===q&&++e}this._isAllUnvailable=d;this._isAllAvailable=a;!this._isAllAvailable&&
!this._isAllUnvailable&&(this._tileAvailabilityBitSet=f,this.byteSize+=f.length)};f.fromDefinition=function(c,a){var d=c.service.request||h,e=c.row,k=c.col,u=c.width,q=c.height,r={failOk:!0,callbackParamName:"callback"};a=a?n.mixin(r,a):r;return d(l(c),a).then(function(a){var c=a.data;if(c.location&&(c.location.top!==e||c.location.left!==k||c.location.width!==u||c.location.height!==q))throw new b("tilemap:location-mismatch","Tilemap response for different location than requested",{response:c,definition:{top:e,
left:k,width:u,height:q}});return f.fromJSON(a.data)})};f.fromJSON=function(b){f.validateJSON(b);var a=new f;a.location=Object.freeze(d.clone(b.location));a._updateFromData(b.data);return Object.freeze(a)};f.validateJSON=function(c){if(!c||!c.location)throw new b("tilemap:missing-location","Location missing from tilemap response");if(!c.valid)throw new b("tilemap:invalid","Tilemap response was marked as invalid");if(!c.data)throw new b("tilemap:missing-data","Data missing from tilemap response");
if(!Array.isArray(c.data))throw new b("tilemap:data-mismatch","Data must be an array of numbers");if(c.data.length!==c.location.width*c.location.height)throw new b("tilemap:data-mismatch","Number of data items does not match width/height of tilemap");};return f}();k.Tilemap=e;k.tilemapDefinitionId=function(b){return b.level+"/"+b.row+"/"+b.col+"/"+b.width+"/"+b.height};k.tilemapDefinitionUrl=l;Object.defineProperty(k,"__esModule",{value:!0});k.default=e})},"esri/layers/mixins/OperationalLayer":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper ../../core/accessorSupport/decorators dojo/has ../../core/Accessor ../../core/MultiOriginJSONSupport ../../core/Error ../../core/urlUtils ../../core/accessorSupport/read".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s){e=function(b){function f(){b.apply(this,arguments);this.title="Layer"}n(f,b);f.prototype.writeListMode=function(a,b){a&&(b.listMode=a)};f.prototype.writeTitle=function(a,b){b.title=a||"Layer"};f.prototype.writeUrl=function(b,c){b&&a.isProtocolRelative(b)&&(b="https:"+b);c.url=b};f.prototype.writeOperationalLayerType=function(a,b){a&&(b.layerType=a)};f.prototype.readOpacity=function(a,b){if(void 0!==b.opacity)return b.opacity;if(b.drawingInfo&&void 0!==b.drawingInfo.transparency)return 1-
b.drawingInfo.transparency/100};f.prototype.readVisible=function(a,b){return!!b.visibility};f.prototype.read=function(a,b){var c=this,d=arguments;s.readLoadable(this,a,function(g){return c.inherited(d,[a,g])},b);return this};f.prototype.write=function(a,b){if(b&&b.origin){var d=b.origin+"/"+(b.layerContainerType||"operational-layers"),f=v[d];if(f&&!f[this.operationalLayerType])return b.messages&&b.messages.push(new c("layer:unsupported","Layers ("+this.title+", "+this.id+") of type '"+this.declaredClass+
"' are not supported in the context of '"+d+"'",{layer:this})),null;if(!this.url&&!t[this.operationalLayerType])return b.messages&&b.messages.push(new c("layer:unsupported","Layers ("+this.title+", "+this.id+") of type '"+this.declaredClass+"' require a url to a service to be written to a '"+b.origin+"'",{layer:this})),null}return this.inherited(arguments,[a,b])};h([d.property({json:{writable:!0,writeAlways:!0}})],f.prototype,"id",void 0);h([d.property()],f.prototype,"listMode",void 0);h([d.write("listMode")],
f.prototype,"writeListMode",null);h([d.property({json:{writable:!0,writeAlways:!0,writeNull:!0}})],f.prototype,"title",void 0);h([d.write("title")],f.prototype,"writeTitle",null);h([d.property({json:{writable:!0,writeAlways:!0}})],f.prototype,"url",void 0);h([d.write("url")],f.prototype,"writeUrl",null);h([d.property({json:{writeTo:"layerType",writeAlways:!0}})],f.prototype,"operationalLayerType",void 0);h([d.write("operationalLayerType")],f.prototype,"writeOperationalLayerType",null);h([d.property({json:{writable:!0,
writeAlways:!0}})],f.prototype,"opacity",void 0);h([d.read("opacity",["opacity","drawingInfo.transparency"])],f.prototype,"readOpacity",null);h([d.property({json:{writeTo:"visibility",writeAlways:!0}})],f.prototype,"visible",void 0);h([d.read("visible",["visibility"])],f.prototype,"readVisible",null);return f=h([d.subclass("esri.layers.mixins.OperationalLayer")],f)}(d.declared(l,f));var t={GroupLayer:!0,WebTiledLayer:!0,OpenStreetMap:!0,ArcGISFeatureLayer:!0,CSV:!0,VectorTileLayer:!0},v={"web-scene/operational-layers":{ArcGISFeatureLayer:!0,
ArcGISMapServiceLayer:!0,ArcGISSceneServiceLayer:!0,ArcGISTiledElevationServiceLayer:!0,ArcGISTiledImageServiceLayer:!0,ArcGISTiledMapServiceLayer:!0,GroupLayer:!0,IntegratedMeshLayer:!0,PointCloudLayer:!0,WebTiledLayer:!0,CSV:!0,VectorTileLayer:!0},"web-scene/basemap":{ArcGISTiledElevationServiceLayer:!0,ArcGISTiledImageServiceLayer:!0,ArcGISTiledMapServiceLayer:!0,WebTiledLayer:!0,OpenStreetMap:!0,VectorTileLayer:!0},"web-scene/ground":{ArcGISTiledElevationServiceLayer:!0},"web-map/operational-layers":{ArcGISImageServiceLayer:!0,
ArcGISImageServiceVectorLayer:!0,ArcGISMapServiceLayer:!0,ArcGISStreamLayer:!0,ArcGISTiledImageServiceLayer:!0,ArcGISTiledMapServiceLayer:!0,ArcGSFeatureLayer:!0,CSV:!0,GeoRSS:!0,KML:!0,VectorTileLayer:!0,WMS:!0,WebTiledLayer:!0},"web-map/basemap":{ArcGISImageServiceLayer:!0,ArcGISImageServiceVectorLayer:!0,ArcGISMapServiceLayer:!0,ArcGISTiledImageServiceLayer:!0,ArcGISTiledMapServiceLayer:!0,OpenStreetMap:!0,VectorTileLayer:!0,WMS:!0,WebTiledLayer:!0,bingLayer:!0}};b("disable-feature:jkieboom/vector-tiles")||
(v["web-scene/operational-layers"].VectorTileLayer=!0,v["web-scene/basemap"].VectorTileLayer=!0);return e})},"esri/layers/mixins/PortalLayer":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper ../../core/accessorSupport/decorators ../../core/Accessor ../../core/Error ../../core/Logger ../../core/requireUtils ../../core/promiseUtils ../../core/urlUtils ../../portal/PortalItem ../../portal/Portal".split(" "),function(e,k,n,h,d,b,l,f,c,a,
s,t,v){var u=f.getLogger("esri.layers.Layer");return function(b){function f(){b.apply(this,arguments)}n(f,b);Object.defineProperty(f.prototype,"portalItem",{set:function(a){a!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",a))},enumerable:!0,configurable:!0});f.prototype.writePortalItem=function(a,b){a&&a.id&&(b.itemId=a.id)};f.prototype.loadFromPortal=function(b){var d=this;return!this.portalItem||!this.portalItem.id?a.resolve():c.when(e,"../../portal/support/layersLoader").then(function(a){return a.load({instance:d,
supportedTypes:b.supportedTypes,validateItem:b.validateItem,supportsData:b.supportsData}).otherwise(function(a){u.warn("Failed to load layer ("+d.title+", "+d.id+") portal item ("+d.portalItem.id+")\n  "+a);throw a;})})};f.prototype.write=function(a,b){var c=b&&b.portal,g=this.portalItem&&this.portalItem.id&&(this.portalItem.portal||v.getDefault());return c&&g&&!s.hasSamePortal(g.restUrl,c.restUrl)?(b.messages&&b.messages.push(new l("layer:cross-portal","The layer '"+this.title+" ("+this.id+")' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save the scene, set the layer.portalItem to null or save the scene to the same portal as the item associated with the layer",
{layer:this})),null):this.inherited(arguments)};h([d.property({type:t})],f.prototype,"portalItem",null);h([d.write("portalItem")],f.prototype,"writePortalItem",null);return f=h([d.subclass("esri.layers.mixins.PortalLayer")],f)}(d.declared(b))})},"esri/layers/support/rasterFormats/LercCodec":function(){define([],function(){var e={defaultNoDataValue:-3.4027999387901484E38,decode:function(n,h){var d;h=h||{};var b=h.inputOffset||0,l=h.encodedMaskData||null===h.encodedMaskData,f={},c=new Uint8Array(n,
b,10);f.fileIdentifierString=String.fromCharCode.apply(null,c);if("CntZImage"!=f.fileIdentifierString.trim())throw"Unexpected file identifier string: "+f.fileIdentifierString;var b=b+10,a=new DataView(n,b,24);f.fileVersion=a.getInt32(0,!0);f.imageType=a.getInt32(4,!0);f.height=a.getUint32(8,!0);f.width=a.getUint32(12,!0);f.maxZError=a.getFloat64(16,!0);b+=24;if(!l)if(a=new DataView(n,b,16),f.mask={},f.mask.numBlocksY=a.getUint32(0,!0),f.mask.numBlocksX=a.getUint32(4,!0),f.mask.numBytes=a.getUint32(8,
!0),f.mask.maxValue=a.getFloat32(12,!0),b+=16,0<f.mask.numBytes){var l=new Uint8Array(Math.ceil(f.width*f.height/8)),a=new DataView(n,b,f.mask.numBytes),c=a.getInt16(0,!0),s=2,t=0;do{if(0<c)for(;c--;)l[t++]=a.getUint8(s++);else for(var v=a.getUint8(s++),c=-c;c--;)l[t++]=v;c=a.getInt16(s,!0);s+=2}while(s<f.mask.numBytes);if(-32768!==c||t<l.length)throw"Unexpected end of mask RLE encoding";f.mask.bitset=l;b+=f.mask.numBytes}else 0===(f.mask.numBytes|f.mask.numBlocksY|f.mask.maxValue)&&(l=new Uint8Array(Math.ceil(f.width*
f.height/8)),f.mask.bitset=l);a=new DataView(n,b,16);f.pixels={};f.pixels.numBlocksY=a.getUint32(0,!0);f.pixels.numBlocksX=a.getUint32(4,!0);f.pixels.numBytes=a.getUint32(8,!0);f.pixels.maxValue=a.getFloat32(12,!0);b+=16;l=f.pixels.numBlocksX;c=f.pixels.numBlocksY;l+=0<f.width%l?1:0;c+=0<f.height%c?1:0;f.pixels.blocks=Array(l*c);s=1E9;for(v=t=0;v<c;v++)for(var u=0;u<l;u++){var q=0,a=new DataView(n,b,Math.min(10,n.byteLength-b)),r={};f.pixels.blocks[t++]=r;var m=a.getUint8(0);q++;r.encoding=m&63;if(3<
r.encoding)throw"Invalid block encoding ("+r.encoding+")";if(2===r.encoding)b++,s=Math.min(s,0);else{if(0!==m&&2!==m){m>>=6;r.offsetType=m;if(2===m)r.offset=a.getInt8(1),q++;else if(1===m)r.offset=a.getInt16(1,!0),q+=2;else if(0===m)r.offset=a.getFloat32(1,!0),q+=4;else throw"Invalid block offset type";s=Math.min(r.offset,s);if(1===r.encoding)if(m=a.getUint8(q),q++,r.bitsPerPixel=m&63,m>>=6,r.numValidPixelsType=m,2===m)r.numValidPixels=a.getUint8(q),q++;else if(1===m)r.numValidPixels=a.getUint16(q,
!0),q+=2;else if(0===m)r.numValidPixels=a.getUint32(q,!0),q+=4;else throw"Invalid valid pixel count type";}b+=q;if(3!=r.encoding)if(0===r.encoding){a=(f.pixels.numBytes-1)/4;if(a!==Math.floor(a))throw"uncompressed block has invalid length";q=new ArrayBuffer(4*a);m=new Uint8Array(q);m.set(new Uint8Array(n,b,4*a));q=new Float32Array(q);for(m=0;m<q.length;m++)s=Math.min(s,q[m]);r.rawData=q;b+=4*a}else 1===r.encoding&&(a=Math.ceil(r.numValidPixels*r.bitsPerPixel/8),q=Math.ceil(a/4),q=new ArrayBuffer(4*
q),m=new Uint8Array(q),m.set(new Uint8Array(n,b,a)),r.stuffedData=new Uint32Array(q),b+=a)}}f.pixels.minValue=s;f.eofOffset=b;var b=null!=h.noDataValue?h.noDataValue:e.defaultNoDataValue,c=h.encodedMaskData,q=h.returnMask,s=0,t=f.pixels.numBlocksX,v=f.pixels.numBlocksY,u=Math.floor(f.width/t),r=Math.floor(f.height/v),a=2*f.maxZError,c=c||(f.mask?f.mask.bitset:null),w,l=new (h.pixelType||Float32Array)(f.width*f.height);q&&c&&(w=new Uint8Array(f.width*f.height));for(var q=new Float32Array(u*r),x,g,
m=0;m<=v;m++){var p=m!==v?r:f.height%v;if(0!==p)for(var z=0;z<=t;z++){var y=z!==t?u:f.width%t;if(0!==y){var C=m*f.width*r+z*u,A=f.width-y,B=f.pixels.blocks[s],K,F;if(2>B.encoding){if(0===B.encoding)K=B.rawData;else{K=B.stuffedData;F=B.bitsPerPixel;x=B.numValidPixels;g=B.offset;var G=a,P=q,Q=f.pixels.maxValue,H=(1<<F)-1,D=0,L=void 0,E=0,I=void 0,R=void 0,V=Math.ceil((Q-g)/G),L=4*K.length-Math.ceil(F*x/8);K[K.length-1]<<=8*L;for(L=0;L<x;L++)0===E&&(R=K[D++],E=32),E>=F?(I=R>>>E-F&H,E-=F):(E=F-E,I=(R&
H)<<E&H,R=K[D++],E=32-E,I+=R>>>E),P[L]=I<V?g+I*G:Q;K=q}F=0}else d=2===B.encoding?0:B.offset;var N;if(c)for(g=0;g<p;g++){C&7&&(N=c[C>>3],N<<=C&7);for(x=0;x<y;x++)C&7||(N=c[C>>3]),N&128?(w&&(w[C]=1),l[C++]=2>B.encoding?K[F++]:d):(w&&(w[C]=0),l[C++]=b),N<<=1;C+=A}else if(2>B.encoding)for(g=0;g<p;g++){for(x=0;x<y;x++)l[C++]=K[F++];C+=A}else for(g=0;g<p;g++){for(x=0;x<y;x++)l[C++]=d;C+=A}if(1===B.encoding&&F!==B.numValidPixels)throw"Block and Mask do not match";s++}}}d=w;w={width:f.width,height:f.height,
pixelData:l,minValue:f.pixels.minValue,maxValue:f.pixels.maxValue,noDataValue:b};d&&(w.maskData=d);h.returnEncodedMask&&f.mask&&(w.encodedMaskData=f.mask.bitset?f.mask.bitset:null);if(h.returnFileInfo&&(w.fileInfo=k(f),h.computeUsedBitDepths)){d=w.fileInfo;N=f.pixels.numBlocksX*f.pixels.numBlocksY;K={};for(F=0;F<N;F++)b=f.pixels.blocks[F],0===b.encoding?K.float32=!0:1===b.encoding?K[b.bitsPerPixel]=!0:K[0]=!0;f=Object.keys(K);d.bitDepths=f}return w}},k=function(e){return{fileIdentifierString:e.fileIdentifierString,
fileVersion:e.fileVersion,imageType:e.imageType,height:e.height,width:e.width,maxZError:e.maxZError,eofOffset:e.eofOffset,mask:e.mask?{numBlocksX:e.mask.numBlocksX,numBlocksY:e.mask.numBlocksY,numBytes:e.mask.numBytes,maxValue:e.mask.maxValue}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,numBytes:e.pixels.numBytes,maxValue:e.pixels.maxValue,minValue:e.pixels.minValue,noDataValue:this.noDataValue}}};return e})},"esri/Viewpoint":function(){define(["./core/JSONSupporter",
"./Camera","./core/lang","./geometry/support/jsonUtils"],function(e,k,n,h){var d=e.createSubclass({declaredClass:"esri.Viewpoint",classMetadata:{properties:{camera:{type:k}}},rotation:0,_rotationSetter:function(b){b%=360;0>b&&(b+=360);return b},scale:0,targetGeometry:null,_targetGeometryReader:function(b){return h.fromJSON(b)},camera:null,_cameraReader:function(b){return k.fromJSON(b)},toJSON:function(){var b={scale:this.scale,rotation:this.rotation,targetGeometry:this.targetGeometry?this.targetGeometry.toJSON():
void 0,camera:this.camera?this.camera.toJSON():void 0};b.camera&&delete b.camera.fov;return n.fixJson(b)},clone:function(){return new d({rotation:this.rotation,scale:this.scale,targetGeometry:this.targetGeometry?this.targetGeometry.clone():null,camera:this.camera?this.camera.clone():null})}});return d})},"esri/core/JSONSupporter":function(){define(["dojo/has","dojo/_base/lang","./declare","./Accessoire","./accessoireSupport/introspect"],function(e,k,n,h,d){Function.prototype.bind.call(console.error,
console);e=n(h,{declaredClass:"esri.core.JSONSupporter",read:function(b){var f=d(this).classMetadata,c=this._accessorProps,a=f.properties,e=(f=f.reader)&&f.add,h=f&&f.exclude,k,u,f=Object.getOwnPropertyNames(b);h&&(f=f.filter(function(a){return-1===h.indexOf(a)}));e&&(f=f.concat(e));for(var q=0;e=f[q];q++)k=b[e],u=a[e]&&a[e].reader,c.setDefault(e,u?u.call(this,k,b):k);return this}});var b=function(b){if(!b)return null;if(b.declaredClass)throw Error("JSON object is already hydrated");var d=new this;
d.read(b);return d};n.after(function(d){if(n.hasMixin(d,"esri.core.JSONSupporter")){d.fromJSON=b.bind(d);d=k.getObject("_esriMeta.classMetadata",!1,d);var f=d.properties,c=k.getObject("reader.add",!1,d);k.getObject("reader.exclude",!1,d);c&&f&&c.slice().filter(function(a){return!f[a]||!f[a].reader}).forEach(function(a){c.splice(c.indexOf(a),1)},this)}});return e})},"esri/Camera":function(){define("require exports ./core/tsSupport/declareExtendsHelper ./core/tsSupport/decorateHelper ./core/JSONSupport ./core/lang ./geometry/Point ./views/3d/support/mathUtils ./core/accessorSupport/decorators".split(" "),
function(e,k,n,h,d,b,l,f,c){return function(a){function d(b){a.call(this);this.position=null;this.tilt=this.heading=0;this.fov=55}n(d,a);d.prototype.getDefaults=function(a){if(!a.position)return{position:new l([0,0,0])}};d.prototype.normalizeCtorArgs=function(a,b,c,d){if(a&&"object"===typeof a&&("x"in a||Array.isArray(a)))a={position:a},null!=b&&(a.heading=b),null!=c&&(a.tilt=c),null!=d&&(a.fov=d);return a};d.prototype.equals=function(a){return!a?!1:this.tilt===a.tilt&&this.heading===a.heading&&this.fov===
a.fov&&this.position.equals(a.position)};d.prototype.clone=function(){return new d({position:this.position.clone(),heading:this.heading,tilt:this.tilt,fov:this.fov})};d.prototype.toJSON=function(){var a={position:this.position.toJSON(),heading:this.heading,tilt:this.tilt};return b.fixJson(a)};h([c.property({type:l})],d.prototype,"position",void 0);h([c.property(),c.cast(f.cyclicalDeg.normalize)],d.prototype,"heading",void 0);h([c.property(),c.cast(function(a){return f.clamp(a,-180,180)})],d.prototype,
"tilt",void 0);h([c.property({json:{readable:!1,writable:!1}})],d.prototype,"fov",void 0);return d=h([c.subclass("esri.Camera")],d)}(c.declared(d))})},"esri/views/3d/support/mathUtils":function(){define(["../lib/glMatrix"],function(e){function k(a){for(var b in a){var c=a[b];"function"===typeof c&&(a[b]=c.bind(a))}return a}var n=e.vec3d,h=e.mat4d,d=n.create(),b=h.create(),l=n.create(),f=n.create(),c={deg2rad:function(a){return a*Math.PI/180},rad2deg:function(a){return 180*a/Math.PI},asin:function(a){return Math.asin(1<
a?1:-1>a?-1:a)},acos:function(a){return Math.acos(1<a?1:-1>a?-1:a)},log2:Math.log2||function(a){return Math.log(a)/Math.LN2},fovx2fovy:function(a,b,c){return 2*Math.atan(c*Math.tan(0.5*a)/b)},fovy2fovx:function(a,b,c){return 2*Math.atan(b*Math.tan(0.5*a)/c)},lerp:function(a,b,c){return a+(b-a)*c},bilerp:function(a,b,c,d,f,e){a+=(b-a)*f;return a+(c+(d-c)*f-a)*e},slerp:function(a,c,f,e){e||(e=a);var l=n.length(a),q=n.length(c),r=n.dot(a,c)/l/q;0.999999999999>r&&(n.cross(a,c,d),h.identity(b),h.rotate(b,
f*Math.acos(r),d),h.multiplyVec3(b,a,e));n.scale(e,((1-f)*l+f*q)/l)},slerpOrLerp:function(a,c,f,e,l){var q=n.length(a),r=n.length(c);n.cross(a,c,d);n.length(d)/q/r>l?(c=Math.acos(n.dot(a,c)/q/r),h.identity(b),h.rotate(b,f*c,d),h.multiplyVec3(b,a,e),n.scale(e,((1-f)*q+f*r)/q)):n.lerp(a,c,f,e)},angle:function(a,b,e){a=n.normalize(a,l);b=n.normalize(b,f);var h=c.acos(n.dot(a,b));return e&&(a=n.cross(a,b,d),0>n.dot(a,e))?-h:h},clamp:function(a,b,c){return a<b?b:a>c?c:a},isFinite:Number.isFinite||function(a){return"number"===
typeof a&&isFinite(a)},isNaN:Number.isNaN||function(a){return a!==a},makePiecewiseLinearFunction:function(a){var b=a.length;return function(c){var d=0;if(c<=a[0][0])return a[0][1];if(c>=a[b-1][0])return a[b-1][1];for(;c>a[d][0];)d++;var f=a[d][0];c=(f-c)/(f-a[d-1][0]);return c*a[d-1][1]+(1-c)*a[d][1]}},vectorEquals:function(a,b){if(null==a||null==b)return a!==b;if(a.length!==b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0},floatEqualRelative:function(a,b,c){void 0===
c&&(c=1E-6);if(isNaN(a)||isNaN(b))return!1;if(a===b)return!0;var d=Math.abs(a-b),f=Math.abs(a),e=Math.abs(b);if(0===a||0===b||1E-12>f&&1E-12>e){if(d>0.01*c)return!1}else if(d/(f+e)>c)return!1;return!0},floatEqualAbsolute:function(a,b,c){void 0===c&&(c=1E-6);return isNaN(a)||isNaN(b)?!1:(a>b?a-b:b-a)<=c},Cyclical:function(a,b){this.min=a;this.max=b;this.range=b-a;this.ndiff=function(a,b){b=b||0;return Math.ceil((a-b)/this.range)*this.range+b};this._normalize=function(a,b,c,d){d=d||0;c-=d;c<a?c+=this.ndiff(a-
c):c>b&&(c-=this.ndiff(c-b));return c+d};this.normalize=function(a,b){return this._normalize(this.min,this.max,a,b)};this.clamp=function(d,f){f=f||0;return c.clamp(d-f,a,b)+f};this.monotonic=function(a,b,c){return a<b?b:b+this.ndiff(a-b,c)};this.minimalMonotonic=function(a,b,c){return this._normalize(a,a+this.range,b,c)};this.center=function(a,b,c){b=this.monotonic(a,b,c);return this.normalize((a+b)/2,c)};this.diff=function(a,b,c){return this.monotonic(a,b,c)-a};this.contains=function(a,b,c){b=this.minimalMonotonic(a,
b);c=this.minimalMonotonic(a,c);return c>a&&c<b}}};c.cyclical2PI=k(new c.Cyclical(0,2*Math.PI));c.cyclicalPI=k(new c.Cyclical(-Math.PI,Math.PI));c.cyclicalDeg=k(new c.Cyclical(0,360));return c})},"esri/views/3d/lib/glMatrix":function(){define([],function(){var e={};(function(e,n){n(e,!0);n(e,!1)})(e,function(e,n){var h={};(function(){if("undefined"!=typeof Float32Array){var a=new Float32Array(1),b=new Int32Array(a.buffer);h.invsqrt=function(c){a[0]=c;b[0]=1597463007-(b[0]>>1);var d=a[0];return d*
(1.5-0.5*c*d*d)}}else h.invsqrt=function(a){return 1/Math.sqrt(a)}})();var d=Array;"undefined"!=typeof Float32Array&&(d=n?Float32Array:Array);var b={create:function(a){var b=new d(3);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2]):b[0]=b[1]=b[2]=0;return b},createFrom:function(a,b,c){var f=new d(3);f[0]=a;f[1]=b;f[2]=c;return f},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];return b},set3:function(a,b,c,d){d[0]=a;d[1]=b;d[2]=c;return d},add:function(a,b,c){if(!c||a===c)return a[0]+=b[0],a[1]+=b[1],a[2]+=b[2],
a;c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];return c},subtract:function(a,b,c){if(!c||a===c)return a[0]-=b[0],a[1]-=b[1],a[2]-=b[2],a;c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];return c},multiply:function(a,b,c){if(!c||a===c)return a[0]*=b[0],a[1]*=b[1],a[2]*=b[2],a;c[0]=a[0]*b[0];c[1]=a[1]*b[1];c[2]=a[2]*b[2];return c},max:function(a,b,c){c[0]=Math.max(a[0],b[0]);c[1]=Math.max(a[1],b[1]);c[2]=Math.max(a[2],b[2]);return c},min:function(a,b,c){c[0]=Math.min(a[0],b[0]);c[1]=Math.min(a[1],b[1]);
c[2]=Math.min(a[2],b[2]);return c},negate:function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];return b},scale:function(a,b,c){if(!c||a===c)return a[0]*=b,a[1]*=b,a[2]*=b,a;c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;return c},normalize:function(a,b){b||(b=a);var c=a[0],d=a[1],f=a[2],e=Math.sqrt(c*c+d*d+f*f);if(e){if(1===e)return b[0]=c,b[1]=d,b[2]=f,b}else return b[0]=0,b[1]=0,b[2]=0,b;e=1/e;b[0]=c*e;b[1]=d*e;b[2]=f*e;return b},cross:function(a,b,c){c||(c=a);var d=a[0],f=a[1];a=a[2];var e=b[0],m=b[1];
b=b[2];c[0]=f*b-a*m;c[1]=a*e-d*b;c[2]=d*m-f*e;return c},length:function(a){var b=a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)},length2:function(a){var b=a[0],c=a[1];a=a[2];return b*b+c*c+a*a},dot:function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]},direction:function(a,b,c){c||(c=a);var d=a[0]-b[0],f=a[1]-b[1];a=a[2]-b[2];b=Math.sqrt(d*d+f*f+a*a);if(!b)return c[0]=0,c[1]=0,c[2]=0,c;b=1/b;c[0]=d*b;c[1]=f*b;c[2]=a*b;return c},lerp:function(a,b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-
a[1]);d[2]=a[2]+c*(b[2]-a[2]);return d},dist:function(a,b){var c=b[0]-a[0],d=b[1]-a[1],f=b[2]-a[2];return Math.sqrt(c*c+d*d+f*f)},dist2:function(a,b){var c=b[0]-a[0],d=b[1]-a[1],f=b[2]-a[2];return c*c+d*d+f*f}},l=null,f=new d(4);b.unproject=function(a,b,c,d,e){e||(e=a);l||(l=q.create());var m=l;f[0]=2*(a[0]-d[0])/d[2]-1;f[1]=2*(a[1]-d[1])/d[3]-1;f[2]=2*a[2]-1;f[3]=1;q.multiply(c,b,m);if(!q.inverse(m))return null;q.multiplyVec4(m,f);if(0===f[3])return null;e[0]=f[0]/f[3];e[1]=f[1]/f[3];e[2]=f[2]/f[3];
return e};var c=b.createFrom(1,0,0),a=b.createFrom(0,1,0),s=b.createFrom(0,0,1);b.rotationTo=function(g,p,d){d||(d=r.create());var f=b.dot(g,p),e=b.create();if(1<=f)r.set(m,d);else if(-0.999999>f)b.cross(c,g,e),1E-6>e.length&&b.cross(a,g,e),1E-6>e.length&&b.cross(s,g,e),b.normalize(e),r.fromAxisAngle(e,Math.PI,d);else{var f=Math.sqrt(2*(1+f)),h=1/f;b.cross(g,p,e);d[0]=e[0]*h;d[1]=e[1]*h;d[2]=e[2]*h;d[3]=0.5*f;r.normalize(d)}1<d[3]?d[3]=1:-1>d[3]&&(d[3]=-1);return d};var t=b.create(),v=b.create();
b.project=function(a,c,d,f){f||(f=a);b.direction(c,d,t);b.subtract(a,c,v);a=b.dot(t,v);b.scale(t,a,f);b.add(f,c,f)};b.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+"]"};var u={create:function(a){var b=new d(9);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8]):b[0]=b[1]=b[2]=b[3]=b[4]=b[5]=b[6]=b[7]=b[8]=0;return b},createFrom:function(a,b,c,f,e,m,h,r,q){var l=new d(9);l[0]=a;l[1]=b;l[2]=c;l[3]=f;l[4]=e;l[5]=m;l[6]=h;l[7]=r;l[8]=q;return l},determinant:function(a){var b=
a[3],c=a[4],d=a[5],f=a[6],e=a[7],m=a[8];return a[0]*(m*c-d*e)+a[1]*(-m*b+d*f)+a[2]*(e*b-c*f)},inverse:function(a,b){var c=a[0],d=a[1],f=a[2],e=a[3],m=a[4],h=a[5],r=a[6],q=a[7],l=a[8],k=l*m-h*q,w=-l*e+h*r,x=q*e-m*r,s=c*k+d*w+f*x;if(!s)return null;s=1/s;b||(b=u.create());b[0]=k*s;b[1]=(-l*d+f*q)*s;b[2]=(h*d-f*m)*s;b[3]=w*s;b[4]=(l*c-f*r)*s;b[5]=(-h*c+f*e)*s;b[6]=x*s;b[7]=(-q*c+d*r)*s;b[8]=(m*c-d*e)*s;return b},multiply:function(a,b,c){c||(c=a);var d=a[0],f=a[1],e=a[2],m=a[3],h=a[4],r=a[5],q=a[6],l=
a[7];a=a[8];var u=b[0],k=b[1],w=b[2],s=b[3],x=b[4],t=b[5],n=b[6],v=b[7];b=b[8];c[0]=u*d+k*m+w*q;c[1]=u*f+k*h+w*l;c[2]=u*e+k*r+w*a;c[3]=s*d+x*m+t*q;c[4]=s*f+x*h+t*l;c[5]=s*e+x*r+t*a;c[6]=n*d+v*m+b*q;c[7]=n*f+v*h+b*l;c[8]=n*e+v*r+b*a;return c},multiplyVec2:function(a,b,c){c||(c=b);var d=b[0];b=b[1];c[0]=d*a[0]+b*a[3]+a[6];c[1]=d*a[1]+b*a[4]+a[7];return c},multiplyVec3:function(a,b,c){c||(c=b);var d=b[0],f=b[1];b=b[2];c[0]=d*a[0]+f*a[3]+b*a[6];c[1]=d*a[1]+f*a[4]+b*a[7];c[2]=d*a[2]+f*a[5]+b*a[8];return c},
set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b},identity:function(a){a||(a=u.create());a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a},transpose:function(a,b){if(!b||a===b){var c=a[1],d=a[2],f=a[5];a[1]=a[3];a[2]=a[6];a[3]=c;a[5]=a[7];a[6]=d;a[7]=f;return a}b[0]=a[0];b[1]=a[3];b[2]=a[6];b[3]=a[1];b[4]=a[4];b[5]=a[7];b[6]=a[2];b[7]=a[5];b[8]=a[8];return b},toMat4:function(a,b){b||(b=q.create());b[15]=1;b[14]=
0;b[13]=0;b[12]=0;b[11]=0;b[10]=a[8];b[9]=a[7];b[8]=a[6];b[7]=0;b[6]=a[5];b[5]=a[4];b[4]=a[3];b[3]=0;b[2]=a[2];b[1]=a[1];b[0]=a[0];return b},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+"]"}},q={create:function(a){var b=new d(16);4===arguments.length?(b[0]=arguments[0],b[1]=arguments[1],b[2]=arguments[2],b[3]=arguments[3],b[4]=arguments[4],b[5]=arguments[5],b[6]=arguments[6],b[7]=arguments[7],b[8]=arguments[8],b[9]=arguments[9],b[10]=
arguments[10],b[11]=arguments[11],b[12]=arguments[12],b[13]=arguments[13],b[14]=arguments[14],b[15]=arguments[15]):a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]);return b},createFrom:function(a,b,c,f,e,m,h,r,q,l,u,k,w,s,x,t){var n=new d(16);n[0]=a;n[1]=b;n[2]=c;n[3]=f;n[4]=e;n[5]=m;n[6]=h;n[7]=r;n[8]=q;n[9]=l;n[10]=u;n[11]=k;n[12]=w;n[13]=s;n[14]=x;n[15]=t;return n},createFromMatrixRowMajor:function(a){var b=
new d(16);b[0]=a[0];b[4]=a[1];b[8]=a[2];b[12]=a[3];b[1]=a[4];b[5]=a[5];b[9]=a[6];b[13]=a[7];b[2]=a[8];b[6]=a[9];b[10]=a[10];b[14]=a[11];b[3]=a[12];b[7]=a[13];b[11]=a[14];b[15]=a[15];return b},createFromMatrix:function(a){var b=new d(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=
a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b},setRowMajor:function(a,b){b[0]=a[0];b[4]=a[1];b[8]=a[2];b[12]=a[3];b[1]=a[4];b[5]=a[5];b[9]=a[6];b[13]=a[7];b[2]=a[8];b[6]=a[9];b[10]=a[10];b[14]=a[11];b[3]=a[12];b[7]=a[13];b[11]=a[14];b[15]=a[15];return b},identity:function(a){a||(a=q.create());a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a},transpose:function(a,
b){if(!b||a===b){var c=a[1],d=a[2],f=a[3],e=a[6],m=a[7],h=a[11];a[1]=a[4];a[2]=a[8];a[3]=a[12];a[4]=c;a[6]=a[9];a[7]=a[13];a[8]=d;a[9]=e;a[11]=a[14];a[12]=f;a[13]=m;a[14]=h;return a}b[0]=a[0];b[1]=a[4];b[2]=a[8];b[3]=a[12];b[4]=a[1];b[5]=a[5];b[6]=a[9];b[7]=a[13];b[8]=a[2];b[9]=a[6];b[10]=a[10];b[11]=a[14];b[12]=a[3];b[13]=a[7];b[14]=a[11];b[15]=a[15];return b},determinant:function(a){var b=a[0],c=a[1],d=a[2],f=a[3],e=a[4],m=a[5],h=a[6],r=a[7],q=a[8],l=a[9],u=a[10],k=a[11],w=a[12],s=a[13],x=a[14];
a=a[15];return w*l*h*f-q*s*h*f-w*m*u*f+e*s*u*f+q*m*x*f-e*l*x*f-w*l*d*r+q*s*d*r+w*c*u*r-b*s*u*r-q*c*x*r+b*l*x*r+w*m*d*k-e*s*d*k-w*c*h*k+b*s*h*k+e*c*x*k-b*m*x*k-q*m*d*a+e*l*d*a+q*c*h*a-b*l*h*a-e*c*u*a+b*m*u*a},inverse:function(a,b){b||(b=a);var c=a[0],d=a[1],f=a[2],e=a[3],m=a[4],h=a[5],r=a[6],q=a[7],l=a[8],u=a[9],k=a[10],w=a[11],s=a[12],x=a[13],t=a[14],n=a[15],v=c*h-d*m,N=c*r-f*m,M=c*q-e*m,T=d*r-f*h,U=d*q-e*h,W=f*q-e*r,X=l*x-u*s,O=l*t-k*s,S=l*n-w*s,ea=u*t-k*x,Y=u*n-w*x,ca=k*n-w*t,ba=v*ca-N*Y+M*ea+T*
S-U*O+W*X;if(!ba)return null;ba=1/ba;b[0]=(h*ca-r*Y+q*ea)*ba;b[1]=(-d*ca+f*Y-e*ea)*ba;b[2]=(x*W-t*U+n*T)*ba;b[3]=(-u*W+k*U-w*T)*ba;b[4]=(-m*ca+r*S-q*O)*ba;b[5]=(c*ca-f*S+e*O)*ba;b[6]=(-s*W+t*M-n*N)*ba;b[7]=(l*W-k*M+w*N)*ba;b[8]=(m*Y-h*S+q*X)*ba;b[9]=(-c*Y+d*S-e*X)*ba;b[10]=(s*U-x*M+n*v)*ba;b[11]=(-l*U+u*M-w*v)*ba;b[12]=(-m*ea+h*O-r*X)*ba;b[13]=(c*ea-d*O+f*X)*ba;b[14]=(-s*T+x*N-t*v)*ba;b[15]=(l*T-u*N+k*v)*ba;return b},toRotationMat:function(a,b){b||(b=q.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=
a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b},toMat3:function(a,b){b||(b=u.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[4];b[4]=a[5];b[5]=a[6];b[6]=a[8];b[7]=a[9];b[8]=a[10];return b},toInverseMat3:function(a,b){var c=a[0],d=a[1],f=a[2],e=a[4],m=a[5],h=a[6],r=a[8],q=a[9],l=a[10],k=l*m-h*q,w=-l*e+h*r,s=q*e-m*r,x=c*k+d*w+f*s;if(!x)return null;x=1/x;b||(b=u.create());b[0]=k*x;b[1]=(-l*d+f*q)*x;b[2]=(h*d-f*m)*x;b[3]=
w*x;b[4]=(l*c-f*r)*x;b[5]=(-h*c+f*e)*x;b[6]=s*x;b[7]=(-q*c+d*r)*x;b[8]=(m*c-d*e)*x;return b},multiply:function(a,b,c){c||(c=a);var d=a[0],f=a[1],e=a[2],m=a[3],h=a[4],r=a[5],q=a[6],l=a[7],u=a[8],k=a[9],w=a[10],x=a[11],s=a[12],t=a[13],n=a[14];a=a[15];var v=b[0],N=b[1],M=b[2],T=b[3],U=b[4],W=b[5],X=b[6],O=b[7],S=b[8],ea=b[9],Y=b[10],ca=b[11],ba=b[12],qa=b[13],ka=b[14];b=b[15];c[0]=v*d+N*h+M*u+T*s;c[1]=v*f+N*r+M*k+T*t;c[2]=v*e+N*q+M*w+T*n;c[3]=v*m+N*l+M*x+T*a;c[4]=U*d+W*h+X*u+O*s;c[5]=U*f+W*r+X*k+O*t;
c[6]=U*e+W*q+X*w+O*n;c[7]=U*m+W*l+X*x+O*a;c[8]=S*d+ea*h+Y*u+ca*s;c[9]=S*f+ea*r+Y*k+ca*t;c[10]=S*e+ea*q+Y*w+ca*n;c[11]=S*m+ea*l+Y*x+ca*a;c[12]=ba*d+qa*h+ka*u+b*s;c[13]=ba*f+qa*r+ka*k+b*t;c[14]=ba*e+qa*q+ka*w+b*n;c[15]=ba*m+qa*l+ka*x+b*a;return c},multiplyVec3:function(a,b,c){c||(c=b);var d=b[0],f=b[1];b=b[2];c[0]=a[0]*d+a[4]*f+a[8]*b+a[12];c[1]=a[1]*d+a[5]*f+a[9]*b+a[13];c[2]=a[2]*d+a[6]*f+a[10]*b+a[14];return c},multiplyVec4:function(a,b,c){c||(c=b);var d=b[0],f=b[1],e=b[2];b=b[3];c[0]=a[0]*d+a[4]*
f+a[8]*e+a[12]*b;c[1]=a[1]*d+a[5]*f+a[9]*e+a[13]*b;c[2]=a[2]*d+a[6]*f+a[10]*e+a[14]*b;c[3]=a[3]*d+a[7]*f+a[11]*e+a[15]*b;return c},translate:function(a,b,c){var d=b[0],f=b[1];b=b[2];var e,m,h,r,q,l,u,k,w,x,s,t;if(!c||a===c)return a[12]=a[0]*d+a[4]*f+a[8]*b+a[12],a[13]=a[1]*d+a[5]*f+a[9]*b+a[13],a[14]=a[2]*d+a[6]*f+a[10]*b+a[14],a[15]=a[3]*d+a[7]*f+a[11]*b+a[15],a;e=a[0];m=a[1];h=a[2];r=a[3];q=a[4];l=a[5];u=a[6];k=a[7];w=a[8];x=a[9];s=a[10];t=a[11];c[0]=e;c[1]=m;c[2]=h;c[3]=r;c[4]=q;c[5]=l;c[6]=u;
c[7]=k;c[8]=w;c[9]=x;c[10]=s;c[11]=t;c[12]=e*d+q*f+w*b+a[12];c[13]=m*d+l*f+x*b+a[13];c[14]=h*d+u*f+s*b+a[14];c[15]=r*d+k*f+t*b+a[15];return c},scale:function(a,b,c){var d=b[0],f=b[1];b=b[2];if(!c||a===c)return a[0]*=d,a[1]*=d,a[2]*=d,a[3]*=d,a[4]*=f,a[5]*=f,a[6]*=f,a[7]*=f,a[8]*=b,a[9]*=b,a[10]*=b,a[11]*=b,a;c[0]=a[0]*d;c[1]=a[1]*d;c[2]=a[2]*d;c[3]=a[3]*d;c[4]=a[4]*f;c[5]=a[5]*f;c[6]=a[6]*f;c[7]=a[7]*f;c[8]=a[8]*b;c[9]=a[9]*b;c[10]=a[10]*b;c[11]=a[11]*b;c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15];
return c},maxScale:function(a){var b=Math.sqrt(a[0]*a[0]+a[4]*a[4]+a[8]*a[8]),c=Math.sqrt(a[1]*a[1]+a[5]*a[5]+a[9]*a[9]);a=Math.sqrt(a[2]*a[2]+a[6]*a[6]+a[10]*a[10]);return Math.max(Math.max(b,c),a)},rotate:function(a,b,c,d){var f=c[0],e=c[1];c=c[2];var m=Math.sqrt(f*f+e*e+c*c),h,r,q,l,u,k,w,x,s,t,n,v,N,M,T,U,W,X,O,S;if(!m)return null;1!==m&&(m=1/m,f*=m,e*=m,c*=m);h=Math.sin(b);r=Math.cos(b);q=1-r;b=a[0];m=a[1];l=a[2];u=a[3];k=a[4];w=a[5];x=a[6];s=a[7];t=a[8];n=a[9];v=a[10];N=a[11];M=f*f*q+r;T=e*
f*q+c*h;U=c*f*q-e*h;W=f*e*q-c*h;X=e*e*q+r;O=c*e*q+f*h;S=f*c*q+e*h;f=e*c*q-f*h;e=c*c*q+r;d?a!==d&&(d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15]):d=a;d[0]=b*M+k*T+t*U;d[1]=m*M+w*T+n*U;d[2]=l*M+x*T+v*U;d[3]=u*M+s*T+N*U;d[4]=b*W+k*X+t*O;d[5]=m*W+w*X+n*O;d[6]=l*W+x*X+v*O;d[7]=u*W+s*X+N*O;d[8]=b*S+k*f+t*e;d[9]=m*S+w*f+n*e;d[10]=l*S+x*f+v*e;d[11]=u*S+s*f+N*e;return d},rotateX:function(a,b,c){var d=Math.sin(b);b=Math.cos(b);var f=a[4],e=a[5],m=a[6],h=a[7],r=a[8],q=a[9],l=a[10],u=a[11];c?a!==c&&(c[0]=a[0],
c[1]=a[1],c[2]=a[2],c[3]=a[3],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[4]=f*b+r*d;c[5]=e*b+q*d;c[6]=m*b+l*d;c[7]=h*b+u*d;c[8]=f*-d+r*b;c[9]=e*-d+q*b;c[10]=m*-d+l*b;c[11]=h*-d+u*b;return c},rotateY:function(a,b,c){var d=Math.sin(b);b=Math.cos(b);var f=a[0],e=a[1],m=a[2],h=a[3],r=a[8],q=a[9],l=a[10],u=a[11];c?a!==c&&(c[4]=a[4],c[5]=a[5],c[6]=a[6],c[7]=a[7],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[0]=f*b+r*-d;c[1]=e*b+q*-d;c[2]=m*b+l*-d;c[3]=h*b+u*-d;c[8]=f*d+r*b;c[9]=e*d+
q*b;c[10]=m*d+l*b;c[11]=h*d+u*b;return c},rotateZ:function(a,b,c){var d=Math.sin(b);b=Math.cos(b);var f=a[0],e=a[1],m=a[2],h=a[3],r=a[4],q=a[5],l=a[6],u=a[7];c?a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10],c[11]=a[11],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[0]=f*b+r*d;c[1]=e*b+q*d;c[2]=m*b+l*d;c[3]=h*b+u*d;c[4]=f*-d+r*b;c[5]=e*-d+q*b;c[6]=m*-d+l*b;c[7]=h*-d+u*b;return c},frustum:function(a,b,c,d,f,e,m){m||(m=q.create());var h=b-a,r=d-c,l=e-f;m[0]=2*f/h;m[1]=0;m[2]=0;m[3]=0;m[4]=0;m[5]=2*
f/r;m[6]=0;m[7]=0;m[8]=(b+a)/h;m[9]=(d+c)/r;m[10]=-(e+f)/l;m[11]=-1;m[12]=0;m[13]=0;m[14]=-(2*e*f)/l;m[15]=0;return m},perspective:function(a,b,c,d,f){a=c*Math.tan(a*Math.PI/360);b*=a;return q.frustum(-b,b,-a,a,c,d,f)},ortho:function(a,b,c,d,f,e,m){m||(m=q.create());var h=b-a,r=d-c,l=e-f;m[0]=2/h;m[1]=0;m[2]=0;m[3]=0;m[4]=0;m[5]=2/r;m[6]=0;m[7]=0;m[8]=0;m[9]=0;m[10]=-2/l;m[11]=0;m[12]=-(a+b)/h;m[13]=-(d+c)/r;m[14]=-(e+f)/l;m[15]=1;return m},lookAt:function(a,b,c,d){d||(d=q.create());var f,e,m,h,r,
l,u,k,w=a[0],x=a[1];a=a[2];m=c[0];h=c[1];e=c[2];u=b[0];c=b[1];f=b[2];if(w===u&&x===c&&a===f)return q.identity(d);b=w-u;c=x-c;u=a-f;k=1/Math.sqrt(b*b+c*c+u*u);b*=k;c*=k;u*=k;f=h*u-e*c;e=e*b-m*u;m=m*c-h*b;(k=Math.sqrt(f*f+e*e+m*m))?(k=1/k,f*=k,e*=k,m*=k):m=e=f=0;h=c*m-u*e;r=u*f-b*m;l=b*e-c*f;(k=Math.sqrt(h*h+r*r+l*l))?(k=1/k,h*=k,r*=k,l*=k):l=r=h=0;d[0]=f;d[1]=h;d[2]=b;d[3]=0;d[4]=e;d[5]=r;d[6]=c;d[7]=0;d[8]=m;d[9]=l;d[10]=u;d[11]=0;d[12]=-(f*w+e*x+m*a);d[13]=-(h*w+r*x+l*a);d[14]=-(b*w+c*x+u*a);d[15]=
1;return d},fromRotationTranslation:function(a,b,c){c||(c=q.create());var d=a[0],f=a[1],e=a[2],m=a[3],h=d+d,r=f+f,l=e+e;a=d*h;var u=d*r,d=d*l,k=f*r,f=f*l,e=e*l,h=m*h,r=m*r,m=m*l;c[0]=1-(k+e);c[1]=u+m;c[2]=d-r;c[3]=0;c[4]=u-m;c[5]=1-(a+e);c[6]=f+h;c[7]=0;c[8]=d+r;c[9]=f-h;c[10]=1-(a+k);c[11]=0;c[12]=b[0];c[13]=b[1];c[14]=b[2];c[15]=1;return c},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+
a[13]+", "+a[14]+", "+a[15]+"]"}},r={create:function(a){var b=new d(4);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):b[0]=b[1]=b[2]=b[3]=0;return b},createFrom:function(a,b,c,f){var e=new d(4);e[0]=a;e[1]=b;e[2]=c;e[3]=f;return e},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b},identity:function(a){a||(a=r.create());a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a}},m=r.identity();r.calculateW=function(a,b){var c=a[0],d=a[1],f=a[2];if(!b||a===b)return a[3]=-Math.sqrt(Math.abs(1-c*c-d*d-f*f)),
a;b[0]=c;b[1]=d;b[2]=f;b[3]=-Math.sqrt(Math.abs(1-c*c-d*d-f*f));return b};r.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};r.inverse=function(a,b){var c=a[0],d=a[1],f=a[2],e=a[3],c=(c=c*c+d*d+f*f+e*e)?1/c:0;if(!b||a===b)return a[0]*=-c,a[1]*=-c,a[2]*=-c,a[3]*=c,a;b[0]=-a[0]*c;b[1]=-a[1]*c;b[2]=-a[2]*c;b[3]=a[3]*c;return b};r.conjugate=function(a,b){if(!b||a===b)return a[0]*=-1,a[1]*=-1,a[2]*=-1,a;b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=a[3];return b};r.length=function(a){var b=a[0],
c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)};r.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],f=a[2],e=a[3],m=Math.sqrt(c*c+d*d+f*f+e*e);if(0===m)return b[0]=0,b[1]=0,b[2]=0,b[3]=0,b;m=1/m;b[0]=c*m;b[1]=d*m;b[2]=f*m;b[3]=e*m;return b};r.add=function(a,b,c){if(!c||a===c)return a[0]+=b[0],a[1]+=b[1],a[2]+=b[2],a[3]+=b[3],a;c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];return c};r.multiply=function(a,b,c){c||(c=a);var d=a[0],f=a[1],e=a[2];a=a[3];var m=b[0],h=b[1],r=b[2];
b=b[3];c[0]=d*b+a*m+f*r-e*h;c[1]=f*b+a*h+e*m-d*r;c[2]=e*b+a*r+d*h-f*m;c[3]=a*b-d*m-f*h-e*r;return c};r.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],f=b[1],e=b[2];b=a[0];var m=a[1],h=a[2];a=a[3];var r=a*d+m*e-h*f,q=a*f+h*d-b*e,l=a*e+b*f-m*d,d=-b*d-m*f-h*e;c[0]=r*a+d*-b+q*-h-l*-m;c[1]=q*a+d*-m+l*-b-r*-h;c[2]=l*a+d*-h+r*-m-q*-b;return c};r.scale=function(a,b,c){if(!c||a===c)return a[0]*=b,a[1]*=b,a[2]*=b,a[3]*=b,a;c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c};r.toMat3=function(a,b){b||
(b=u.create());var c=a[0],d=a[1],f=a[2],e=a[3],m=c+c,h=d+d,r=f+f,q=c*m,l=c*h,c=c*r,k=d*h,d=d*r,f=f*r,m=e*m,h=e*h,e=e*r;b[0]=1-(k+f);b[1]=l+e;b[2]=c-h;b[3]=l-e;b[4]=1-(q+f);b[5]=d+m;b[6]=c+h;b[7]=d-m;b[8]=1-(q+k);return b};r.toMat4=function(a,b){b||(b=q.create());var c=a[0],d=a[1],f=a[2],e=a[3],m=c+c,h=d+d,r=f+f,l=c*m,u=c*h,c=c*r,k=d*h,d=d*r,f=f*r,m=e*m,h=e*h,e=e*r;b[0]=1-(k+f);b[1]=u+e;b[2]=c-h;b[3]=0;b[4]=u-e;b[5]=1-(l+f);b[6]=d+m;b[7]=0;b[8]=c+h;b[9]=d-m;b[10]=1-(l+k);b[11]=0;b[12]=0;b[13]=0;b[14]=
0;b[15]=1;return b};r.slerp=function(a,b,c,d){d||(d=a);var f=a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3],e,m;if(1<=Math.abs(f))return d!==a&&(d[0]=a[0],d[1]=a[1],d[2]=a[2],d[3]=a[3]),d;e=Math.acos(f);m=Math.sqrt(1-f*f);if(0.001>Math.abs(m))return d[0]=0.5*a[0]+0.5*b[0],d[1]=0.5*a[1]+0.5*b[1],d[2]=0.5*a[2]+0.5*b[2],d[3]=0.5*a[3]+0.5*b[3],d;f=Math.sin((1-c)*e)/m;c=Math.sin(c*e)/m;d[0]=a[0]*f+b[0]*c;d[1]=a[1]*f+b[1]*c;d[2]=a[2]*f+b[2]*c;d[3]=a[3]*f+b[3]*c;return d};r.fromRotationMatrix=function(a,b){b||
(b=r.create());var c=a[0]+a[4]+a[8],d;if(0<c)d=Math.sqrt(c+1),b[3]=0.5*d,d=0.5/d,b[0]=(a[7]-a[5])*d,b[1]=(a[2]-a[6])*d,b[2]=(a[3]-a[1])*d;else{d=r.fromRotationMatrix.s_iNext=r.fromRotationMatrix.s_iNext||[1,2,0];c=0;a[4]>a[0]&&(c=1);a[8]>a[3*c+c]&&(c=2);var f=d[c],e=d[f];d=Math.sqrt(a[3*c+c]-a[3*f+f]-a[3*e+e]+1);b[c]=0.5*d;d=0.5/d;b[3]=(a[3*e+f]-a[3*f+e])*d;b[f]=(a[3*f+c]+a[3*c+f])*d;b[e]=(a[3*e+c]+a[3*c+e])*d}return b};u.toQuat4=r.fromRotationMatrix;(function(){var a=u.create();r.fromAxes=function(b,
c,d,f){a[0]=c[0];a[3]=c[1];a[6]=c[2];a[1]=d[0];a[4]=d[1];a[7]=d[2];a[2]=b[0];a[5]=b[1];a[8]=b[2];return r.fromRotationMatrix(a,f)}})();r.identity=function(a){a||(a=r.create());a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};r.fromAngleAxis=function(a,b,c){c||(c=r.create());a*=0.5;var d=Math.sin(a);c[3]=Math.cos(a);c[0]=d*b[0];c[1]=d*b[1];c[2]=d*b[2];return c};r.toAngleAxis=function(a,b){b||(b=a);var c=a[0]*a[0]+a[1]*a[1]+a[2]*a[2];0<c?(b[3]=2*Math.acos(a[3]),c=h.invsqrt(c),b[0]=a[0]*c,b[1]=a[1]*c,b[2]=a[2]*
c):(b[3]=0,b[0]=1,b[1]=0,b[2]=0);return b};r.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"};var w={create:function(a){var b=new d(4);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):b[0]=b[1]=b[2]=b[3]=0;return b},createFrom:function(a,b,c,f){var e=new d(4);e[0]=a;e[1]=b;e[2]=c;e[3]=f;return e},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b},identity:function(a){a||(a=w.create());a[0]=1;a[1]=0;a[2]=0;a[3]=1;return a},transpose:function(a,b){if(!b||a===b){var c=a[1];
a[1]=a[2];a[2]=c;return a}b[0]=a[0];b[1]=a[2];b[2]=a[1];b[3]=a[3];return b},determinant:function(a){return a[0]*a[3]-a[2]*a[1]},inverse:function(a,b){b||(b=a);var c=a[0],d=a[1],f=a[2],e=a[3],m=c*e-f*d;if(!m)return null;m=1/m;b[0]=e*m;b[1]=-d*m;b[2]=-f*m;b[3]=c*m;return b},multiply:function(a,b,c){c||(c=a);var d=a[0],f=a[1],e=a[2];a=a[3];c[0]=d*b[0]+f*b[2];c[1]=d*b[1]+f*b[3];c[2]=e*b[0]+a*b[2];c[3]=e*b[1]+a*b[3];return c},rotate:function(a,b,c){c||(c=a);var d=a[0],f=a[1],e=a[2];a=a[3];var m=Math.sin(b);
b=Math.cos(b);c[0]=d*b+f*m;c[1]=d*-m+f*b;c[2]=e*b+a*m;c[3]=e*-m+a*b;return c},multiplyVec2:function(a,b,c){c||(c=b);var d=b[0];b=b[1];c[0]=d*a[0]+b*a[1];c[1]=d*a[2]+b*a[3];return c},scale:function(a,b,c){c||(c=a);var d=a[1],f=a[2],e=a[3],m=b[0];b=b[1];c[0]=a[0]*m;c[1]=d*b;c[2]=f*m;c[3]=e*b;return c},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"}},x=n?"":"d";e["glMath"+x]=h;e["vec2"+x]={create:function(a){var b=new d(2);a?(b[0]=a[0],b[1]=a[1]):(b[0]=0,b[1]=0);return b},createFrom:function(a,
b){var c=new d(2);c[0]=a;c[1]=b;return c},add:function(a,b,c){c||(c=b);c[0]=a[0]+b[0];c[1]=a[1]+b[1];return c},subtract:function(a,b,c){c||(c=b);c[0]=a[0]-b[0];c[1]=a[1]-b[1];return c},multiply:function(a,b,c){c||(c=b);c[0]=a[0]*b[0];c[1]=a[1]*b[1];return c},divide:function(a,b,c){c||(c=b);c[0]=a[0]/b[0];c[1]=a[1]/b[1];return c},scale:function(a,b,c){c||(c=a);c[0]=a[0]*b;c[1]=a[1]*b;return c},dist:function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return Math.sqrt(c*c+d*d)},dist2:function(a,b){var c=b[0]-
a[0],d=b[1]-a[1];return c*c+d*d},set:function(a,b){b[0]=a[0];b[1]=a[1];return b},set2:function(a,b,c){c[0]=a;c[1]=b;return c},negate:function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];return b},normalize:function(a,b){b||(b=a);var c=a[0]*a[0]+a[1]*a[1];0<c?(c=Math.sqrt(c),b[0]=a[0]/c,b[1]=a[1]/c):b[0]=b[1]=0;return b},cross:function(a,b,c){a=a[0]*b[1]-a[1]*b[0];if(!c)return a;c[0]=c[1]=0;c[2]=a;return c},length:function(a){var b=a[0];a=a[1];return Math.sqrt(b*b+a*a)},dot:function(a,b){return a[0]*b[0]+
a[1]*b[1]},direction:function(a,b,c){c||(c=a);var d=a[0]-b[0];a=a[1]-b[1];b=d*d+a*a;if(!b)return c[0]=0,c[1]=0,c[2]=0,c;b=1/Math.sqrt(b);c[0]=d*b;c[1]=a*b;return c},lerp:function(a,b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);return d},str:function(a){return"["+a[0]+", "+a[1]+"]"}};e["vec3"+x]=b;e["vec4"+x]={create:function(a){var b=new d(4);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):(b[0]=0,b[1]=0,b[2]=0,b[3]=0);return b},createFrom:function(a,b,c,f){var e=new d(4);e[0]=a;e[1]=
b;e[2]=c;e[3]=f;return e},add:function(a,b,c){c||(c=b);c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];return c},subtract:function(a,b,c){c||(c=b);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];return c},multiply:function(a,b,c){c||(c=b);c[0]=a[0]*b[0];c[1]=a[1]*b[1];c[2]=a[2]*b[2];c[3]=a[3]*b[3];return c},divide:function(a,b,c){c||(c=b);c[0]=a[0]/b[0];c[1]=a[1]/b[1];c[2]=a[2]/b[2];c[3]=a[3]/b[3];return c},scale:function(a,b,c){c||(c=a);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;
c[3]=a[3]*b;return c},dot:function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b},set4:function(a,b,c,d,f){f[0]=a;f[1]=b;f[2]=c;f[3]=d;return f},negate:function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];return b},lerp:function(a,b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);d[2]=a[2]+c*(b[2]-a[2]);d[3]=a[3]+c*(b[3]-a[3]);return d},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+
"]"}};e["mat2"+x]=w;e["mat3"+x]=u;e["mat4"+x]=q;e["quat4"+x]=r});return e})},"esri/geometry/support/jsonUtils":function(){define(["../Point","../Polyline","../Polygon","../Multipoint","../Extent"],function(e,k,n,h,d){function b(b){if(!b)return null;if(b){if(void 0!==b.x&&void 0!==b.y)return e.fromJSON(b);if(void 0!==b.paths)return k.fromJSON(b);if(void 0!==b.rings)return n.fromJSON(b);if(void 0!==b.points)return h.fromJSON(b);if(void 0!==b.xmin&&void 0!==b.ymin&&void 0!==b.xmax&&void 0!==b.ymax)return d.fromJSON(b)}return null}
var l={esriGeometryPoint:e,esriGeometryPolyline:k,esriGeometryPolygon:n,esriGeometryEnvelope:d,esriGeometryMultipoint:h};return{fromJSON:b,fromJson:function(d){try{throw Error("fromJson is deprecated, use fromJSON instead");}catch(c){console.warn(c.stack)}return b(d)},getJsonType:function(b){return b instanceof e?"esriGeometryPoint":b instanceof k?"esriGeometryPolyline":b instanceof n?"esriGeometryPolygon":b instanceof d?"esriGeometryEnvelope":b instanceof h?"esriGeometryMultipoint":null},getGeometryType:function(b){return b&&
l[b]||null}}})},"esri/geometry/Polyline":function(){define("dojo/_base/lang ../core/lang ./SpatialReference ./Geometry ./Point ./Extent ./support/zmUtils".split(" "),function(e,k,n,h,d,b,l){var f=h.createSubclass({declaredClass:"esri.geometry.Polyline",type:"polyline",getDefaults:function(b){return{paths:[]}},normalizeCtorArgs:function(b,a){var d=null,f,e,h=null;b&&!Array.isArray(b)?(d=b.paths?b.paths:null,a||(b.spatialReference?a=b.spatialReference:b.paths||(a=b)),f=b.hasZ,e=b.hasM):d=b;d=d||[];
a=a||n.WGS84;d.length&&(d[0]&&null!=d[0][0]&&"number"==typeof d[0][0])&&(d=[d]);if(h=d[0]&&d[0][0])void 0===f&&void 0===e?(f=2<h.length,e=!1):void 0===f?f=!e&&3<h.length:void 0===e&&(e=!f&&3<h.length);return{paths:d,spatialReference:a,hasZ:f,hasM:e}},_path:0,properties:{cache:{dependsOn:["hasM","hasZ","paths"]},extent:{dependsOn:["cache"],readOnly:!0,get:function(){function c(a){return function(b,g){return void 0===b?g:void 0===g?b:a(b,g)}}var a=this.paths,d=a.length;if(!d||!a[0].length)return null;
var f,e,h,q,r,m,l,k,g,p,n,y,C=m=a[0][0][0],A=l=a[0][0][1],B,K,F=c(Math.min),G=c(Math.max),P=this.spatialReference,Q=[],H,D,L,E,I,R,V,N,M=this.hasZ,T=this.hasM,U=M?3:2;for(p=0;p<d;p++){f=a[p];H=D=f[0]&&f[0][0];L=E=f[0]&&f[0][1];y=f.length;V=N=I=R=void 0;for(n=0;n<y;n++)e=f[n],h=e[0],q=e[1],C=F(C,h),A=F(A,q),m=G(m,h),l=G(l,q),H=F(H,h),L=F(L,q),D=G(D,h),E=G(E,q),M&&2<e.length&&(r=e[2],B=F(B,r),k=G(k,r),I=F(I,r),R=G(R,r)),T&&e.length>U&&(e=e[U],K=F(K,r),g=G(g,r),V=F(V,e),N=G(N,e));Q.push(new b({xmin:H,
ymin:L,zmin:I,mmin:V,xmax:D,ymax:E,zmax:R,mmax:N,spatialReference:P?P.clone():null}))}a=new b({xmin:C,ymin:A,xmax:m,ymax:l,spatialReference:P?P.toJSON():null});M&&(a.zmin=B,a.zmax=k);T&&(a.mmin=K,a.mmax=g);a.cache._partwise=1<Q.length?Q:null;return a}},paths:null},addPath:function(b){this.clearCache();this._path=this.paths.length;this.paths[this._path]=[];b.forEach(this._addPoint,this);return this},clone:function(){var b=new f;b.spatialReference=this.spatialReference;b.paths=e.clone(this.paths);b.hasZ=
this.hasZ;b.hasM=this.hasM;return b},getPoint:function(b,a){if(this._validateInputs(b,a)){var f=this.paths[b][a],e=this.hasZ,h=this.hasM;return e&&h?new d(f[0],f[1],f[2],f[3],this.spatialReference):e?new d(f[0],f[1],f[2],void 0,this.spatialReference):h?new d(f[0],f[1],void 0,f[2],this.spatialReference):new d(f[0],f[1],this.spatialReference)}},insertPoint:function(b,a,d){if(this._validateInputs(b)&&k.isDefined(a)&&0<=a&&a<=this.paths[b].length)return this.clearCache(),l.updateSupportFromPoint(this,
d),Array.isArray(d)||(d=d.toArray()),this.paths[b].splice(a,0,d),this},removePath:function(b){if(this._validateInputs(b,null)){this.clearCache();b=this.paths.splice(b,1)[0];var a,f=b.length,e=this.spatialReference;for(a=0;a<f;a++)b[a]=new d(b[a],e);return b}},removePoint:function(b,a){if(this._validateInputs(b,a))return this.clearCache(),new d(this.paths[b].splice(a,1)[0],this.spatialReference)},setPoint:function(b,a,d){if(this._validateInputs(b,a))return this.clearCache(),l.updateSupportFromPoint(this,
d),Array.isArray(d)||(d=d.toArray()),this.paths[b][a]=d,this},toJSON:function(){var b=this.spatialReference,b={paths:this.paths,spatialReference:b&&b.toJSON()};this.hasZ&&(b.hasZ=!0);this.hasM&&(b.hasM=!0);return b},_initPathPointsToArray:function(b){for(var a=0;a<b.paths.length;a++)b.paths[a]=b.paths[a].map(function(a){l.updateSupportFromPoint(b,a,!0);Array.isArray(a)||(b.spatialReference||(b.spatialReference=a.spatialReference),a=a.toArray());return a});return b},_addPoint:function(b){Array.isArray(b)?
this.paths[this._path].push(b):this.paths[this._path].push(b.toArray());l.updateSupportFromPoint(this,b)},_insertPoints:function(b,a){this.clearCache();this._path=a;this.paths[this._path]||(this.paths[this._path]=[]);b.forEach(this._addPoint,this)},_validateInputs:function(b,a){return null!==b&&void 0!==b&&(0>b||b>=this.paths.length)||null!==a&&void 0!==b&&(0>a||a>=this.paths[b].length)?!1:!0}});return f})},"esri/geometry/support/zmUtils":function(){define([],function(){return{updateSupportFromPoint:function(e,
k,n){var h=e.hasZ,d=e.hasM;Array.isArray(k)?4===k.length&&!d&&!h?h=d=!0:3===k.length&&n&&!d?(h=!0,d=!1):3===k.length&&(d&&h)&&(h=d=!1):(h=!(!h&&k.hasZ&&(!d||k.hasM)),d=!(!d&&k.hasM&&(!h||k.hasZ)));e.hasZ=h;e.hasM=d}}})},"esri/geometry/Polygon":function(){define("dojo/_base/lang ../core/lang ./SpatialReference ./Geometry ./Point ./Extent ./support/coordsUtils ./support/mathUtils ./support/webMercatorUtils".split(" "),function(e,k,n,h,d,b,l,f,c){var a=function(a){return function(b,c){return null==b?
c:null==c?b:a(b,c)}},s=a(Math.min),t=a(Math.max),v=h.createSubclass({declaredClass:"esri.geometry.Polygon",type:"polygon",getDefaults:function(a){return{rings:[]}},normalizeCtorArgs:function(a,b){var c=null,d,f,e=null;a&&!Array.isArray(a)?(c=a.rings?a.rings:null,b||(a.spatialReference?b=a.spatialReference:a.rings||(b=a)),d=a.hasZ,f=a.hasM):c=a;c=c||[];b=b||n.WGS84;c.length&&(c[0]&&null!=c[0][0]&&"number"==typeof c[0][0])&&(c=[c]);if(e=c[0]&&c[0][0])void 0===d&&void 0===f?(d=2<e.length,f=!1):void 0===
d?d=!f&&3<e.length:void 0===f&&(f=!d&&3<e.length);return{rings:c,spatialReference:b,hasZ:d,hasM:f}},_ring:0,properties:{cache:{dependsOn:["hasM","hasZ","rings"]},centroid:{readOnly:!0,dependsOn:["cache"],get:function(a){var b=l.centroid([],this.rings,this.hasZ);if(isNaN(b[0])||isNaN(b[1])||this.hasZ&&isNaN(b[2]))return null;a=a||new d;a.x=b[0];a.y=b[1];a.spatialReference=this.spatialReference;this.hasZ&&(a.z=b[2]);return a}},extent:{dependsOn:["cache"],readOnly:!0,get:function(){var a=this.rings,
c=a.length;if(!c||!a[0].length)return null;var d,f,e,h,g,p,l,k,n,v,B,K=g=a[0][0][0],F=p=a[0][0][1],G,P,Q=this.spatialReference,H=[],D,L,E,I,R,V,N,M,T=this.hasZ,U=this.hasM,W=T?3:2;for(n=0;n<c;n++){d=a[n];D=L=d[0]&&d[0][0];E=I=d[0]&&d[0][1];B=d.length;N=M=R=V=void 0;for(v=0;v<B;v++)f=d[v],e=f[0],h=f[1],K=s(K,e),F=s(F,h),g=t(g,e),p=t(p,h),D=s(D,e),E=s(E,h),L=t(L,e),I=t(I,h),T&&2<f.length&&(e=f[2],G=s(G,e),l=t(l,e),R=s(R,e),V=t(V,e)),U&&f.length>W&&(f=f[W],P=s(G,f),k=t(l,f),N=s(R,f),M=t(V,f));H.push(new b({xmin:D,
ymin:E,zmin:R,mmin:N,xmax:L,ymax:I,zmax:V,mmax:M,spatialReference:Q}))}a=new b;a.xmin=K;a.ymin=F;a.xmax=g;a.ymax=p;a.spatialReference=Q;T&&(a.zmin=G,a.zmax=l);U&&(a.mmin=P,a.mmax=k);a.cache._partwise=1<H.length?H:null;return a}},isSelfIntersecting:{dependsOn:["cache"],readOnly:!0,get:function(){var a=this.rings,b=a.length,c,d,e,h,g,p,l,k,s;for(h=0;h<b;h++){c=a[h];for(d=0;d<c.length-1;d++){p=[[c[d][0],c[d][1]],[c[d+1][0],c[d+1][1]]];for(e=h+1;e<b;e++)for(g=0;g<a[e].length-1;g++)if(l=[[a[e][g][0],a[e][g][1]],
[a[e][g+1][0],a[e][g+1][1]]],(k=f._getLineIntersection2(p,l))&&!(k[0]===p[0][0]&&k[1]===p[0][1]||k[0]===l[0][0]&&k[1]===l[0][1]||k[0]===p[1][0]&&k[1]===p[1][1]||k[0]===l[1][0]&&k[1]===l[1][1]))return!0}g=c.length;if(!(4>=g))for(d=0;d<g-3;d++){s=g-1;0===d&&(s=g-2);p=[[c[d][0],c[d][1]],[c[d+1][0],c[d+1][1]]];for(e=d+2;e<s;e++)if(l=[[c[e][0],c[e][1]],[c[e+1][0],c[e+1][1]]],(k=f._getLineIntersection2(p,l))&&!(k[0]===p[0][0]&&k[1]===p[0][1]||k[0]===l[0][0]&&k[1]===l[0][1]||k[0]===p[1][0]&&k[1]===p[1][1]||
k[0]===l[1][0]&&k[1]===l[1][1]))return!0}}return!1}},rings:null},addRing:function(a){if(a){this.clearCache();var b=this.rings,c=b.length;if(Array.isArray(a[0]))b[c]=a.concat();else{var d=[];b[c]=d;b=0;for(c=a.length;b<c;b++)d[b]=a[b].toArray()}return this}},clone:function(){var a=new v;a.spatialReference=this.spatialReference;a.rings=e.clone(this.rings);a.hasZ=this.hasZ;a.hasM=this.hasM;return a},contains:function(a){if(!a)return!1;c.canProject(a,this.spatialReference)&&(a=c.project(a,this.spatialReference));
return l.contains(this.rings,l.fromGeom(a))},isClockwise:function(a){var b=0,c=0,d=0,f,e=a.length,g,p,h,l=this.hasZ,k=this.hasM;for(f=0;f<e;f++)g=a[f],p=a[(f+1)%e],Array.isArray(g)?(b+=g[0]*p[1]-p[0]*g[1],h=2,2<g.length&&(2<p.length&&l)&&(c+=g[0]*p[2]-p[0]*g[2],h=3),g.length>h&&(p.length>h&&k)&&(d+=g[0]*p[h]-p[0]*g[h])):(b+=g.x*p.y-p.x*g.y,g.hasZ&&p.hasZ&&(c+=g.x*p.z-p.x*g.z),g.hasM&&p.hasM&&(d+=g.x*p.m-p.x*g.m));return 0>=b&&0>=c&&0>=d},getPoint:function(a,b){if(this._validateInputs(a,b)){var c=
this.rings[a][b],f=this.hasZ,e=this.hasM;return f&&!e?new d(c[0],c[1],c[2],void 0,this.spatialReference):e&&f?new d(c[0],c[1],void 0,c[2],this.spatialReference):f&&e?new d(c[0],c[1],c[2],c[3],this.spatialReference):new d(c[0],c[1],this.spatialReference)}},insertPoint:function(a,b,c){if(this._validateInputs(a)&&k.isDefined(b)&&0<=b&&b<=this.rings[a].length)return this.clearCache(),this.rings[a].splice(b,0,c),this},removePoint:function(a,b){if(this._validateInputs(a,b))return this.clearCache(),new d(this.rings[a].splice(b,
1)[0],this.spatialReference)},removeRing:function(a){if(this._validateInputs(a,null)){this.clearCache();a=this.rings.splice(a,1)[0];var b,c=a.length,f=this.spatialReference;for(b=0;b<c;b++)a[b]=new d(a[b],f);return a}},setPoint:function(a,b,c){if(this._validateInputs(a,b))return this.clearCache(),Array.isArray(c)||(c=c.toArray()),this.rings[a][b]=c,this},toJSON:function(){var a=this.spatialReference,a={rings:this.rings,spatialReference:a&&a.toJSON()};this.hasZ&&(a.hasZ=!0);this.hasM&&(a.hasM=!0);
return a},_insertPoints:function(a,b){this.clearCache();this._ring=b;this.rings[this._ring]||(this.rings[this._ring]=[]);a.forEach(this._addPoint,this)},_validateInputs:function(a,b){return null!==a&&void 0!==a&&(0>a||a>=this.rings.length)||null!==b&&void 0!==a&&(0>b||b>=this.rings[a].length)?!1:!0}});v.createEllipse=function(a){var b=a.center.x,c=a.center.y,d=a.center.z,f=a.center.m,e=a.longAxis,g=a.shortAxis,p=a.numberOfPoints;a=a.map;var h,l,k,s=[],t=2*Math.PI/p;for(l=0;l<p;l++)h=Math.cos(l*t),
k=Math.sin(l*t),h=a.toMap({x:e*h+b,y:g*k+c}),null!=d&&!h.hasZ&&(h.z=d),null!=f&&!h.hasM&&(h.m=f),s.push(h);s.push(s[0]);return new v({rings:[s],spatialReference:a.spatialReference})};v.createCircle=function(a){return v.createEllipse({center:a.center,longAxis:a.r,shortAxis:a.r,numberOfPoints:a.numberOfPoints,map:a.map})};v.fromExtent=function(a){var b=a.clone().normalize();a=a.spatialReference;var c=!1,d=!1;b.map(function(a){a.hasZ&&(c=!0);a.hasM&&(d=!0)});b={rings:b.map(function(a){var b=[[a.xmin,
a.ymin],[a.xmin,a.ymax],[a.xmax,a.ymax],[a.xmax,a.ymin],[a.xmin,a.ymin]];if(c&&a.hasZ)for(var g=(a.zmax-a.zmin)/2,f=0;f<b.length;f++)b[f].push(g);if(d&&a.hasM){a=(a.mmax-a.mmin)/2;for(f=0;f<b.length;f++)b[f].push(a)}return b}),spatialReference:a?a.toJSON():null};c&&(b.hasZ=!0);d&&(b.hasM=!0);return new v(b)};return v})},"esri/geometry/support/coordsUtils":function(){define([],function(){var e=function(e,d,b){var l=b[0];b=b[1];for(var f=0,c,a,k,t,n=0,u=d.length;n<u;n++)if(f++,f===u&&(f=0),c=d[n][0],
a=d[f][0],k=d[n][1],t=d[f][1],(k<b&&t>=b||t<b&&k>=b)&&c+(b-k)/(t-k)*(a-c)<l)e=!e;return e},k=function(e,d,b){for(var l=0,f=0,c=0,a,k,t,n,u,q,r,m,w,x=0,g=0,p=0,z=d.length-1;p<z;p++)a=d[p],k=a[0],t=a[1],n=a[2],u=d[p+1],q=u[0],r=u[1],m=u[2],w=k*r-q*t,x+=w,l+=(k+q)*w,f+=(t+r)*w,b&&(2<a.length&&2<u.length)&&(w=k*m-q*n,c+=(n+m)*w,g+=w);0<x&&(x*=-1);0<g&&(g*=-1);x?(e[0]=l,e[1]=f,e[2]=0.5*x,b?(e[3]=c,e[4]=0.5*g):e.length=3):e.length=0;return e},n=function(e,d){for(var b=0,l=0,f=0,c=0,a=d?[0,0,0]:[0,0],k=
d?[0,0,0]:[0,0],t,n,u,q=0,r=e.length;q<r-1;q++)if(t=e[q],n=e[q+1],t&&n){a[0]=t[0];a[0]=t[1];k[0]=n[0];k[0]=n[1];d&&(2<t.length&&2<n.length)&&(a[2]=t[2],k[2]=n[2]);u=k[0]-a[0];var m=k[1]-a[1],w=0;1<a.length&&1<k.length&&(w=a[2]-k[2]);if(u=Math.sqrt(u*u+m*m+w*w))b+=u,m=t[0]+0.5*(n[0]-t[0]),w=t[1]+0.5*(n[1]-t[1]),t=2<t.length&&2<n.length?[m,w,t[2]+0.5*(n[2]-t[2])]:[m,w],l+=u*t[0],f+=u*t[1],d&&2<t.length&&(c+=u*t[2])}return 0<b?d?[l/b,f/b,c/b]:[l/b,f/b]:e.length?e[0]:null};return{fromGeom:function(e){if(!e)return null;
if(Array.isArray(e))return e;var d=e.hasZ,b=e.hasM;if("point"===e.type)return b&&d?[e.x,e.y,e.z,e.m]:d?[e.x,e.y,e.z]:b?[e.x,e.y,e.m]:[e.x,e.y];if("polygon"===e.type)return e.rings.slice(0);if("polyline"===e.type)return e.path.slice(0);if("multipoint"===e.type)return e.points.slice(0);if("extent"===e.type){e=e.clone().normalize();if(!e)return null;d=b=!1;e.map(function(e){e.hasZ&&(d=!0);e.hasM&&(b=!0)});return e.map(function(e){var f=[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],
[e.xmin,e.ymin]];if(d&&e.hasZ)for(var c=0.5*(e.zmax-e.zmin),a=0;a<f.length;a++)f[a].push(c);if(b&&e.hasM){e=0.5*(e.mmax-e.mmin);for(a=0;a<f.length;a++)f[a].push(e)}return f})}return null},contains:function(h,d){if(!h)return!1;if(!Array.isArray(h[0][0]))return e(!1,h,d);for(var b=!1,l=0,f=h.length;l<f;l++)b=e(b,h[l],d);return b},centroid:function(e,d,b){for(var l=[],f,c=0,a=d.length;c<a;c++)f=k([],d[c],b),f.length&&l.push(f);l.sort(function(a,c){var d=a[2]-c[2];0===d&&b&&(d=a[4]-c[4]);return d});e.length=
b?3:2;if(l.length)d=6*l[0][2],e[0]=l[0][0]/d,e[1]=l[0][1]/d,b&&(e[2]=l[0][3]/(6*l[0][4]));else if(l=d[0]&&d[0].length?n(d[0]):null)e[0]=l[0],e[1]=l[1],b&&2<l.length&&(e[2]=l[2]);return e},isClockwise:function(e){for(var d=0,b=0,l=b+1,f=e.length;b<f;b++,l+=1%f)d+=e[b][0]*e[l][1]-e[l][0]*e[b][1];return 0>=0.5*d}}})},"esri/geometry/Multipoint":function(){define("dojo/_base/lang ./SpatialReference ./Geometry ./Point ./Extent ./support/zmUtils".split(" "),function(e,k,n,h,d,b){var l=n.createSubclass({declaredClass:"esri.geometry.Multipoint",
type:"multipoint",getDefaults:function(b){return{points:[]}},normalizeCtorArgs:function(b,c){var a=null,d,e,h=null;b&&!Array.isArray(b)?b.wkid?c=b:(a=b.points||null,c=b.spatialReference||null,d=b.hasZ,e=b.hasM):a=b;a=a||[];c=c||k.WGS84;if(h=a[0])void 0===d&&void 0===e?(d=2<h.length,e=!1):void 0===d?d=3<h.length:void 0===e&&(e=3<h.length);return{points:a,spatialReference:c,hasZ:d,hasM:e}},properties:{cache:{dependsOn:["points","hasZ","hasM"]},extent:{dependsOn:["cache"],get:function(b){function c(a){return function(b,
g){return null==b?g:null==g?b:a(b,g)}}if(!this.points.length)return null;b=b||new d;var a=this.points,e=this.hasZ,h=this.hasM,l=a[0],k=c(Math.min),q=c(Math.max),r=g=l[0],m=p=l[1],w,x,g,p,n,y,C,A,B,K,F=e?3:2;B=0;for(K=a.length;B<K;B++)l=a[B],C=l[0],A=l[1],r=k(r,C),m=k(m,A),g=q(g,C),p=q(p,A),e&&2<l.length&&(C=l[2],w=k(w,C),n=q(n,C)),h&&l.length>F&&(l=l[F],x=k(x,l),y=q(y,l));b.xmin=r;b.ymin=m;b.xmax=g;b.ymax=p;b.spatialReference=this.spatialReference;e?(b.zmin=w,b.zmax=n):(b.zmin=null,b.zmax=null);h?
(b.mmin=x,b.mmax=y):(b.mmin=null,b.mmax=null);return b}},points:null},addPoint:function(d){this.clearCache();b.updateSupportFromPoint(this,d);Array.isArray(d)?this.points.push(d):this.points.push(d.toArray());return this},clone:function(){var b={points:e.clone(this.points),spatialReference:this.spatialReference};this.hasZ&&(b.hasZ=!0);this.hasM&&(b.hasM=!0);return new l(b)},getPoint:function(b){if(this._validateInputs(b)){b=this.points[b];var c,a,d=2;this.hasZ&&(c=b[2],d=3);this.hasM&&(a=b[d]);return new h({x:b[0],
y:b[1],z:c,m:a,spatialReference:this.spatialReference})}},removePoint:function(b){if(this._validateInputs(b))return this.clearCache(),new h(this.points.splice(b,1)[0],this.spatialReference)},setPoint:function(d,c){if(this._validateInputs(d))return this.clearCache(),b.updateSupportFromPoint(c),this.points[d]=c.toArray(),this},toJSON:function(){var b=this.spatialReference,b={points:e.clone(this.points),spatialReference:b&&b.toJSON()};this.hasZ&&(b.hasZ=!0);this.hasM&&(b.hasM=!0);return b},_pointsToArrays:function(d){for(var c=
0;c<d.points.length;c++){var a=d.points[c];b.updateSupportFromPoint(d,a,!0);Array.isArray(a)||(d.spatialReference||(d.spatialReference=a.spatialReference),d.points[c]=a.toArray())}return d},_validateInputs:function(b){return null!=b&&0<=b&&b<this.points.length}});return l})},"esri/layers/graphics/controllers/AutoController":function(){define("require ../../../core/declare dojo/Deferred ../../../request ../../../core/Accessoire ../../../core/AccessoirePromise".split(" "),function(e,k,n,h,d,b){return k([d,
b],{initialize:function(){var b=this,d=this.layer.then(function(){return b._getFeatureCount().then(function(c){c=b._canUseSnapshot(c&&c.count)?0:1;return b._createController(c)})}).then(function(c){b.activeController=c});this.addResolvingPromise(d)},controllerModulePaths:{"0":"./SnapshotController",1:"./OnDemandController"},_getFeatureCount:function(){var b=this.layer,d=b.timeDefinition;return h(b.source.parsedUrl.path+"/query",{query:{f:"json",where:b.definitionExpression||"1\x3d1",timeExtent:d&&
d.toJSON(),returnCountOnly:!0},callbackParamName:"callback"}).then(function(b){return b.data})},_canUseSnapshot:function(b){var d=this.layer,c=d.geometryType;return("polyline"===c||"polygon"===c||"multipoint"===c)&&b<=d.maxRecordCountForAuto||"point"===c&&b<=d.maxPointCountForAuto},_createController:function(b){var d=new n;(b=this.controllerModulePaths[b])?e([b],function(b){var a=new b({layer:this.layer,layerView:this.layerView});a.then(function(){d.resolve(a)},function(a){d.reject(a)})}.bind(this)):
d.reject(Error('Module path not found for controller type: "'+this.mode+'"'));return d.promise}})})},"esri/core/AccessoirePromise":function(){define("./declare dojo/promise/all dojo/aspect dojo/Deferred dojo/errors/create ./Scheduler".split(" "),function(e,k,n,h,d,b){var l=function(a){if(!a.isFulfilled()){var c=a._promiseProps,d=c.resolvingPromises,f,e;c.allPromise&&c.allPromise.cancel();var r=new h;for(f=d.length-1;0<=f;f--)e=d[f],e.isCanceled&&e.isCanceled()?d.splice(f,1):e.then(null,null,c.resolver.progress);
e=null;(c.allPromise=k(d.concat([r.promise]))).then(function(){c.resolver.resolve(a);a=c=r=c.allPromise=c.resolvingPromises=null},function(b){c.allPromise=null;if(!b||"cancel"!==b.dojoType){var d=Array.prototype.slice.call(arguments,0);c.resolver.reject(d[0]);a=c=r=c.allPromise=c.resolvingPromises=null}});r&&b.schedule(function(){r&&r.resolve()})}},f=d("CancelError",null,function(a){this.target=a}),c=function(a){return a||new f(this.instance)},a=function(a){this.instance=a;this.canceler=c.bind(this);
this.resolver=new h;this.initialized=!1;this.resolvingPromises=[]};a.prototype={canceler:null,cancel:function(a){if(!this.resolver.isFulfilled()){this.allPromise.cancel();for(var b=this.resolvingPromises.concat(),c=b.length-1;0<=c;c--)b[c].cancel(a);this.resolver.cancel(a)}}};return e(null,{declaredClass:"esri.core.Promise",constructor:function(){Object.defineProperty(this,"_promiseProps",{value:new a(this),enumerable:!1,configurable:!1,writable:!0});var b=n.after(this,"postscript",function(a,c){b.remove();
b=null;l(this)},!0)},_promiseProps:null,always:function(a){return this.then(a,a)},then:function(a,b,c){var d=new h(this._promiseProps.canceler);a=d.then(a,b,c);this._promiseProps.resolver.then(d.resolve,d.reject,d.progress);return a},isResolved:function(){return this._promiseProps.resolver.isResolved()},isRejected:function(){return this._promiseProps.resolver.isRejected()},isFulfilled:function(){return this._promiseProps.resolver.isFulfilled()},otherwise:function(a){return this.then(null,a)},addResolvingPromise:function(a){a&&
!this.isFulfilled()&&(this._promiseProps.resolvingPromises.push(a),l(this))}})})},"esri/layers/graphics/controllers/SnapshotController":function(){define("dojo/_base/lang dojo/promise/all dojo/Deferred ../../support/GraphicsManager ../../../Graphic ../../../core/Accessoire ../../../core/AccessoirePromise ../../../core/Evented ../../../core/Collection ../../../core/HandleRegistry ../../../geometry/support/scaleUtils".split(" "),function(e,k,n,h,d,b,l,f,c,a,s){return b.createSubclass([l,f],{declaredClass:"esri.layers.graphics.controllers.SnapshotController",
classMetadata:{properties:{isQueryInProgress:{dependsOn:["_queryDfd"]},graphics:{type:c.ofType(d)},extent:{},hasFeatures:{},hasAllFeatures:{}}},constructor:function(){this._queryError=this._queryError.bind(this);this._queryCanceller=this._queryCanceller.bind(this);this._collectionChanged=this._collectionChanged.bind(this);this.refresh=this.refresh.bind(this);this._handles=new a},initialize:function(){this.addResolvingPromise(k([this.layer,this.layerView]));this.then(this._startup.bind(this))},destroy:function(){this.cancelQuery();
this._gManager&&(this._gManager.destroy(),this._gManager=null);this._handles.destroy();this._handles=null},graphics:null,_graphicsSetter:function(a,b){if(b===a)return b;this._handles.remove("graphics");a&&(this._collectionChanged({added:a.toArray()}),this._handles.add(a.on("change",this._collectionChanged),"graphics"));return a},hasAllFeatures:!1,hasFeatures:!1,isQueryInProgress:!1,_isQueryInProgressGetter:function(){return!(!this._queryDfd||this._queryDfd.isFulfilled())},layer:null,layerView:null,
maxPageSize:null,pageSize:null,paginationEnabled:!1,_cancelErrorMsg:"SnapshotController: query cancelled",_currentPageDfd:null,_featureResolution:{value:1,scale:3780},_gManager:null,_handles:null,_maxFeatures:{point:16E3,multipoint:8E3,polyline:4E3,polygon:4E3,multipatch:4E3},_queryDfd:null,_source:null,refresh:function(){this.isResolved()&&this._queryFeatures()},cancelQuery:function(){this.isQueryInProgress&&(this._queryDfd.cancel(Error(this._cancelErrorMsg)),this._queryDfd=null)},_startup:function(){var a=
this.layer,b=a.advancedQueryCapabilities;this.paginationEnabled=!(!b||!b.supportsPagination);this._source=a.source;this.pageSize=null==this.maxPageSize?a.maxRecordCount:Math.min(a.maxRecordCount,this.maxPageSize);this._resolutionParams=this._getResolutionParams();this._gManager=new h({graphics:this.graphics,objectIdField:a.objectIdField});this._setupStateWatchers();this._queryFeatures()},_getResolutionParams:function(){var a=this.layer,b=a.supportsCoordinatesQuantization,c;if(!a.editable&&("polyline"===
a.geometryType||"polygon"===a.geometryType)){var d=s.getUnitValue(this.layerView.view.spatialReference);null!=d&&(c=this._featureResolution.scale,d=this._featureResolution.value/d,c=a.maxScale?a.maxScale:a.minScale?Math.min(c,a.minScale):Math.min(c,s.getScale(this.layerView.view,a.fullExtent)),c*=d/this._featureResolution.scale)}return!c?null:{maxAllowableOffset:b?null:c,quantizationParameters:b?{mode:"view",originPosition:"upperLeft",tolerance:c,extent:a.fullExtent}:null}},_setupStateWatchers:function(){this._handles.add([this.watch("extent",
this.refresh),this.layer.watch("definitionExpression",this.refresh)])},_createQueryParams:function(){var a=this.layerView,b=this.layer.createQuery();b.outSpatialReference=a.view.spatialReference;b.geometry=this.extent;e.mixin(b,this._resolutionParams);this.paginationEnabled&&(b.start=0,b.num=this.pageSize);return b},_queryFeatures:function(){this.cancelQuery();this.hasAllFeatures=this.hasFeatures=!1;this._queryDfd=new n(this._queryCanceller);this._gManager.beginUpdate();this.emit("query-start");this._executeQuery(this._createQueryParams())},
_executeQuery:function(a){this._currentPageDfd=this._source.queryFeatures(a).then(this._processFeatureSet.bind(this,a),this._queryError)},_processFeatureSet:function(a,b){var c=b.exceededTransferLimit,d=b.features,f=this.layer.geometryType.toLowerCase().replace(/^esriGeometry/i,""),e=this._maxFeatures[f]||0,f=d?d.length:0,h=this._gManager.graphics.length+f,l=h>=e;l&&(e=h-e)&&d.splice(f-e,e);f=c&&this.paginationEnabled&&!l?this._queryNextPage(a):!1;d&&this._gManager.add(d);this.hasFeatures=!0;f||(this._gManager.endUpdate(),
this.hasAllFeatures=!c,this._queryDfd.resolve(),this._queryDfd=null,this.emit("query-end",{success:!0}));return b},_queryNextPage:function(a){a.start+=this.pageSize;this._executeQuery(a);return!0},_queryError:function(a){a&&"cancel"===a.dojoType&&!this.hasFeatures?this._gManager.revertUpdate():this._gManager.endUpdate();this._queryDfd.reject(a);this._queryDfd=null;this.emit("query-end",{success:!1})},_queryCanceller:function(a){var b=this._currentPageDfd;b&&!b.isFulfilled()&&b.cancel(a)},_collectionChanged:function(a){var b,
c,d;if(d=a.added)for(b=0;c=d[b];b++)c.layer=this.layer;if(d=a.removed)for(b=0;c=d[b];b++)c.layer=null}})})},"esri/layers/support/GraphicsManager":function(){define(["../../core/Accessoire"],function(e){return e.createSubclass({classMetadata:{properties:{indexById:{dependsOn:["graphics","objectIdField"]}}},destroy:function(){this.removeAll()},graphics:null,objectIdField:null,indexById:null,_indexByIdGetter:function(){return this._createIndexById(this.graphics&&this.graphics.toArray(),this.objectIdField)},
_oldIndex:null,beginUpdate:function(){this._oldIndex=this.indexById;this.indexById=null},add:function(e){e&&e.length&&(this.indexById=this.indexById||{},e=this._updateAndExtractNew(e,this.indexById,this._oldIndex),this.graphics.addMany(e))},revertUpdate:function(){var e=this._extractLeftOnly(this.indexById,this._oldIndex);this.indexById=this._oldIndex;this._oldIndex=null;this.graphics.removeMany(e)},endUpdate:function(){var e=this._extractLeftOnly(this._oldIndex,this.indexById);this._oldIndex=null;
this.graphics.removeMany(e)},find:function(e){return null!=e&&this.indexById&&this.indexById[e]},removeAll:function(){this.indexById=this._oldIndex=null;this.graphics.removeAll()},_createIndexById:function(e,n){var h;if(e&&e.length&&n){var d,b,l;h={};for(d=0;b=e[d];d++)l=b.attributes&&b.attributes[n],null!=l&&(h[l]=b)}return h},_updateAndExtractNew:function(e,n,h){var d,b,l,f,c=[],a=e?e.length:0,s=this.objectIdField;for(d=0;d<a;d++)b=e[d],l=b.attributes&&b.attributes[s],null!=l?(f=h&&h[l])?(n[l]=
f,f.geometry=b.geometry,f.attributes=b.attributes):(n[l]=b,c.push(b)):c.push(b);return c},_extractLeftOnly:function(e,n){var h,d,b=[];for(h in e)(d=e[h])&&(!n||!n[h])&&b.push(d);return b}})})},"esri/Graphic":function(){define("require exports ./core/tsSupport/declareExtendsHelper ./core/tsSupport/decorateHelper ./core/accessorSupport/decorators dojo/_base/lang ./core/lang ./core/JSONSupport ./PopupTemplate ./geometry/support/jsonUtils ./symbols/support/jsonUtils".split(" "),function(e,k,n,h,d,b,l,
f,c,a,s){var t=0;return function(e){function f(a,b,c,d){e.call(this,a,b,c,d);this.popupTemplate=this.layer=null;Object.defineProperty(this,"uid",{value:t++})}n(f,e);f.prototype.normalizeCtorArgs=function(a,b,c,d){return a&&!a.declaredClass?a:{geometry:a,symbol:b,attributes:c,popupTemplate:d}};Object.defineProperty(f.prototype,"attributes",{set:function(a){var b=this._get("attributes");b!==a&&(this._set("attributes",a),this._notifyLayer("attributes",b,a))},enumerable:!0,configurable:!0});Object.defineProperty(f.prototype,
"geometry",{set:function(a){var b=this._get("geometry");b!==a&&(this._set("geometry",a),this._notifyLayer("geometry",b,a))},enumerable:!0,configurable:!0});Object.defineProperty(f.prototype,"symbol",{set:function(a){var b=this._get("symbol");b!==a&&(this._set("symbol",a),this._notifyLayer("symbol",b,a))},enumerable:!0,configurable:!0});Object.defineProperty(f.prototype,"visible",{set:function(a){var b=this._get("visible");b!==a&&(this._set("visible",a),this._notifyLayer("visible",b,a))},enumerable:!0,
configurable:!0});f.prototype.getAttribute=function(a){return this.attributes&&this.attributes[a]};f.prototype.setAttribute=function(a,b){if(this.attributes){var c=this.getAttribute(a);this.attributes[a]=b;this._notifyLayer("attributes",c,b,a)}else this.attributes=(c={},c[a]=b,c),this._notifyLayer("attributes",void 0,b,a)};f.prototype.getEffectivePopupTemplate=function(){return this.popupTemplate||this.layer&&this.layer.popupTemplate};f.prototype.toJSON=function(){return{geometry:this.geometry&&this.geometry.toJSON(),
symbol:this.symbol&&this.symbol.toJSON(),attributes:b.mixin({},this.attributes),popupTemplate:this.popupTemplate&&this.popupTemplate.toJSON()}};f.prototype.clone=function(){return new f({attributes:l.clone(this.attributes),geometry:this.geometry&&this.geometry.clone()||null,popupTemplate:this.popupTemplate&&this.popupTemplate.clone(),symbol:this.symbol&&this.symbol.clone()||null,visible:this.visible})};f.prototype._notifyLayer=function(a,b,c,d){this.layer&&(a={graphic:this,property:a,oldValue:b,newValue:c},
d&&(a.attributeName=d),this.layer.graphicChanged(a))};h([d.property({value:null})],f.prototype,"attributes",null);h([d.property({value:null,json:{read:a.fromJSON}})],f.prototype,"geometry",null);h([d.property()],f.prototype,"layer",void 0);h([d.property({type:c})],f.prototype,"popupTemplate",void 0);h([d.property({value:null,json:{read:s.read}})],f.prototype,"symbol",null);h([d.property({value:!0,set:function(a){}})],f.prototype,"visible",null);return f=h([d.subclass("esri.Graphic")],f)}(d.declared(f))})},
"esri/PopupTemplate":function(){define("./core/Accessor ./core/JSONSupport ./core/kebabDictionary ./core/Collection ./core/lang ./support/Action dojo/_base/lang".split(" "),function(e,k,n,h,d,b,l){var f=n({richtext:"rich-text",textarea:"text-area",textbox:"text-box"}),c=n({shortDate:"short-date",shortDateLE:"short-date-le",longDate:"long-date",dayShortMonthYear:"day-short-month-year",longMonthDayYear:"long-month-day-year",shortDateLongTime:"short-date-long-time",shortDateLELongTime:"short-date-le-long-time",
shortDateShortTime:"short-date-short-time",shortDateLEShortTime:"short-date-le-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLongTime24:"short-date-long-time-24",shortDateLELongTime24:"short-date-le-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year"}),a=n({barchart:"bar-chart",columnchart:"column-chart",linechart:"line-chart",piechart:"pie-chart"}),s=k.createSubclass({properties:{actions:{type:h.ofType(b)},
content:{value:null,json:{readFrom:["description","popupElements","mediaInfos","showAttachments"]}},fieldInfos:{value:null},overwriteActions:{value:!1},title:{value:""},relatedRecordsInfo:{value:null}},declaredClass:"esri.PopupTemplate",actions:null,content:"",fieldInfos:null,_fieldInfosReader:function(a){return this._readFieldInfos(a)},overwriteActions:!1,title:"",relatedRecordsInfo:null,_relatedRecordsInfoReader:function(a){return a?d.clone(a):a},_dateFormatKebabDict:c,clone:function(){var a=this.actions;
a&&(a=d.clone(a.toArray()));return new s({actions:a||[],content:Array.isArray(this.content)?d.clone(this.content):this.content,fieldInfos:this.fieldInfos?d.clone(this.fieldInfos):null,overwriteActions:this.overwriteActions,relatedRecordsInfo:this.relatedRecordsInfo?d.clone(this.relatedRecordsInfo):null,title:this.title})},toJSON:function(){var b={showAttachments:!1,title:this.title};this.fieldInfos&&(b.fieldInfos=this._writeFieldInfos(d.clone(this.fieldInfos)));this.relatedRecordsInfo&&(b.relatedRecordsInfo=
d.clone(this.relatedRecordsInfo));var c=this.content;"string"===typeof c?b.description=c:Array.isArray(c)&&(b.popupElements=d.clone(c),b.popupElements.forEach(function(c){"attachments"===c.type&&!b.showAttachments?b.showAttachments=!0:"media"===c.type&&!b.mediaInfos?(c.mediaInfos&&(b.mediaInfos=d.clone(c.mediaInfos),b.mediaInfos.forEach(function(b){b.type=a.toJSON(b.type)})),delete c.mediaInfos):"text"===c.type&&!b.description?(c.text&&(b.description=c.text),delete c.text):"fields"===c.type&&!b.fieldInfos&&
(c.fieldInfos&&(b.fieldInfos=this._writeFieldInfos(d.clone(c.fieldInfos))),delete c.fieldInfos);return c}.bind(this)));return b},_contentReader:function(a,b){var c=b.description,d=[],f=b.popupElements;f&&f.length?d=f.map(function(a){if("text"===a.type&&!a.text)a.text=b.description;else if("media"===a.type&&(a.mediaInfos||b.mediaInfos))a.mediaInfos||(a.mediaInfos=b.mediaInfos),a.mediaInfos=this._readMediaInfos(a.mediaInfos);return a}.bind(this)):(b.description?d.push({type:"text",text:b.description}):
d.push({type:"fields"}),b.mediaInfos&&b.mediaInfos.length&&d.push({type:"media",mediaInfos:this._readMediaInfos(b.mediaInfos)}),b.showAttachments&&d.push({type:"attachments",displayType:"list"}));d.length&&(c=d);return c},_readFieldInfos:function(a){a&&a.forEach(function(a){var b=a.format&&a.format.dateFormat,d=a.stringFieldOption;b&&(a.format.dateFormat=c.fromJSON(b));d&&(a.stringFieldOption=f.fromJSON(d))});return a},_writeFieldInfos:function(a){a.forEach(function(a){var b=a.format&&a.format.dateFormat,
d=a.stringFieldOption;b&&(a.format.dateFormat=c.toJSON(b));d&&(a.stringFieldOption=f.toJSON(d));a.format||delete a.format});return a},_readMediaInfos:function(b){b.forEach(function(b){b.type=a.fromJSON(b.type)});return b}});return s})},"esri/support/Action":function(){define(["../core/Accessor","../core/Identifiable"],function(e,k){var n=e.createSubclass(k,{properties:{className:{value:""},temporary:{value:!1},image:{value:""},id:{value:""},title:{value:""},visible:{value:!0}},clone:function(){return new n({className:this.className,
image:this.image,id:this.id,title:this.title,visible:this.visible})}});return n})},"esri/symbols/support/jsonUtils":function(){define("require exports ../../core/Error ../../core/Warning ../Symbol3D ../SimpleLineSymbol ../SimpleMarkerSymbol ../PictureMarkerSymbol ../PictureFillSymbol ../SimpleFillSymbol ../TextSymbol ../PointSymbol3D ../LineSymbol3D ../PolygonSymbol3D ../MeshSymbol3D ../LabelSymbol3D ../WebStyleSymbol ./symbolConversion".split(" "),function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w){var x=
{esriSMS:l,esriPMS:f,esriTS:s,esriSLS:b,esriSFS:a,esriPFS:c,PointSymbol3D:t,LineSymbol3D:v,PolygonSymbol3D:u,MeshSymbol3D:q,LabelSymbol3D:r,styleSymbolReference:m};k.read=function(a,b,c){if(b=!a?null:x[a.type]||null)return b=new b,b.read(a,c),b;c&&(c.messages&&a)&&c.messages.push(new h("symbol:unsupported","Symbols of type '"+(a.type||"unknown")+"' are not supported",{definition:a,context:c}));return null};k.write=function(a,b,c){if(!a)return null;if(c&&"web-scene"===c.origin&&!a.isInstanceOf(d)&&
!a.isInstanceOf(m)){var f=w.to3D(a);if(f.symbol)return f.symbol.write(b,c);c.messages&&c.messages.push(new n("symbol:unsupported","Symbols of type '"+a.declaredClass+"' are not supported in scenes. Use 3D symbology instead when working with WebScene and SceneView",{symbol:a,context:c,error:f.error}));return null}return a.write(b,c)};k.fromJSON=function(a,b){var c=!a?null:x[a.type]||null;return c?c.fromJSON(a,b):null}})},"esri/symbols/Symbol3D":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/Collection ../core/Logger ../core/collectionUtils ../core/Warning ../core/urlUtils ./Symbol ./Symbol3DLayer ./IconSymbol3DLayer ./ObjectSymbol3DLayer ./LineSymbol3DLayer ./PathSymbol3DLayer ./FillSymbol3DLayer ./ExtrudeSymbol3DLayer ./TextSymbol3DLayer ./support/Thumbnail ./support/StyleOrigin ../portal/Portal ../core/accessorSupport/decorators".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w,x,g,p,z){var y={Icon:t,Object:v,Line:u,Path:q,Fill:r,Extrude:m,Text:w},C=d.ofType(s),A=b.getLogger("esri.symbols.Symbol3D");return function(a){function b(g){a.call(this);this.type=this.thumbnail=this.styleOrigin=null;this._set("symbolLayers",this._createSymbolLayersCollection())}n(b,a);Object.defineProperty(b.prototype,"symbolLayers",{set:function(a){var b=this._get("symbolLayers");b?(b.removeAll(),b.addMany(a)):(b=this._createSymbolLayersCollection(a),
this._set("symbolLayers",b))},enumerable:!0,configurable:!0});b.prototype.readSymbolLayers=function(a,b,g){b=this._createSymbolLayersCollection();for(var c=0;c<a.length;c++){var d=a[c],e=d.type,p=y[e];p?(d=new p,d.read(a[c],g),b.add(d)):(A.warn("Unknown symbol layer type: "+e),g&&g.messages&&g.messages.push(new f("symbol-layer:unsupported","Symbol layers of type '"+(e||"unknown")+"' are not supported",{definition:d,context:g})))}return b};b.prototype.readStyleOrigin=function(a,b,d){if(a.styleUrl&&
a.name)return b=c.read(a.styleUrl,d),new g({styleUrl:b,name:a.name});if(a.styleName&&a.name)return new g({portal:d&&d.portal||p.getDefault(),styleName:a.styleName,name:a.name});d&&d.messages&&d.messages.push(new f("symbol3d:incomplete-style-origin","Style origin requires either a 'styleUrl' or 'styleName' and a 'name' property",{context:d,definition:a}))};b.prototype.writeStyleOrigin=function(a,b,g){a.styleUrl&&a.name?(g=c.write(a.styleUrl,g),b.styleOrigin={styleUrl:g,name:a.name}):a.styleName&&a.name&&
(a.portal&&g&&g.portal&&!c.hasSamePortal(a.portal.restUrl,g.portal.restUrl)?g&&g.messages&&g.messages.push(new f("symbol:cross-portal","The symbol style origin cannot be persisted because it refers to an item on a different portal than the one being saved to.",{symbol:this})):b.styleOrigin={styleName:a.styleName,name:a.name})};b.prototype.normalizeCtorArgs=function(a){return a instanceof s?{symbolLayers:this._createSymbolLayersCollection([a])}:Array.isArray(a)?{symbolLayers:this._createSymbolLayersCollection(a)}:
a};b.prototype._createSymbolLayersCollection=function(a){var b=this;a=new C(a);a.on("before-add",function(a){return b._onSymbolLayersBeforeAdd(a)});return a};b.prototype._onSymbolLayersBeforeAdd=function(a){0>this._allowedLayerTypes.indexOf(a.item.type)&&(A.error("Symbol layer of type '"+a.item.type+"' is not allowed for symbol of type '"+this.type+"'"),a.preventDefault())};h([z.property({json:{writable:!1}})],b.prototype,"color",void 0);h([z.property({type:C,json:{writable:!0}}),z.cast(l.castForReferenceSetter)],
b.prototype,"symbolLayers",null);h([z.read("symbolLayers")],b.prototype,"readSymbolLayers",null);h([z.property({type:g})],b.prototype,"styleOrigin",void 0);h([z.read("styleOrigin")],b.prototype,"readStyleOrigin",null);h([z.write("styleOrigin")],b.prototype,"writeStyleOrigin",null);h([z.property({type:x.default,json:{readable:!1}})],b.prototype,"thumbnail",void 0);h([z.property({type:String,readOnly:!0,json:{readable:!1}})],b.prototype,"type",void 0);return b=h([z.subclass("esri.symbols.Symbol3D")],
b)}(z.declared(a))})},"esri/symbols/Symbol":function(){define(["../core/lang","../core/kebabDictionary","../core/JSONSupport","../Color"],function(e,k,n,h){var d=k({esriSMS:"simple-marker-symbol",esriPMS:"picture-marker-symbol",esriSLS:"simple-line-symbol",esriSFS:"simple-fill-symbol",esriPFS:"picture-fill-symbol",esriTS:"text-symbol",esriSHD:"shield-label-symbol",PointSymbol3D:"point-symbol-3d",LineSymbol3D:"line-symbol-3d",PolygonSymbol3D:"polygon-symbol-3d",MeshSymbol3D:"mesh-symbol-3d",LabelSymbol3D:"label-symbol-3d"}),
b=0;return n.createSubclass({declaredClass:"esri.symbols.Symbol",constructor:function(){this.id="sym"+b++},properties:{type:{type:String,value:null,json:{read:d.fromJSON,writeAlways:!0,write:function(b,f){f.type=d.toJSON(this.type)}}},color:{type:h,value:new h([0,0,0,1]),json:{read:function(b){return b&&e.isDefined(b[0])?[b[0],b[1],b[2],b[3]/255]:b},writable:!0}}}})})},"esri/Color":function(){define(["./core/declare","dojo/colors"],function(e,k){var n=e([k],{declaredClass:"esri.Color",toJSON:function(){return[this.r,
this.g,this.b,1<this.a?this.a:Math.round(255*this.a)]},clone:function(){return new n(this.toRgba())}});n.toJSON=function(b){return b&&[b.r,b.g,b.b,1<b.a?b.a:Math.round(255*b.a)]};n.fromJSON=function(b){return b&&new n([b[0],b[1],b[2],b[3]/255])};n.toUnitRGB=function(b){return[b.r/255,b.g/255,b.b/255]};var h,d="named blendColors fromRgb fromHex fromArray fromString".split(" ");for(h=0;h<d.length;h++)n[d[h]]=k[d[h]];n.named.rebeccapurple=[102,51,153];return n})},"dojo/colors":function(){define(["./_base/kernel",
"./_base/lang","./_base/Color","./_base/array"],function(e,k,n,h){var d={};k.setObject("dojo.colors",d);var b=function(b,c,a){0>a&&++a;1<a&&--a;var d=6*a;return 1>d?b+(c-b)*d:1>2*a?c:2>3*a?b+6*(c-b)*(2/3-a):b};e.colorFromRgb=n.fromRgb=function(d,c){var a=d.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/);if(a){var e=a[2].split(/\s*,\s*/),l=e.length,a=a[1];if("rgb"==a&&3==l||"rgba"==a&&4==l)return a=e[0],"%"==a.charAt(a.length-1)?(a=h.map(e,function(a){return 2.56*parseFloat(a)}),4==l&&(a[3]=
e[3]),n.fromArray(a,c)):n.fromArray(e,c);if("hsl"==a&&3==l||"hsla"==a&&4==l){var a=(parseFloat(e[0])%360+360)%360/360,k=parseFloat(e[1])/100,u=parseFloat(e[2])/100,k=0.5>=u?u*(k+1):u+k-u*k,u=2*u-k,a=[256*b(u,k,a+1/3),256*b(u,k,a),256*b(u,k,a-1/3),1];4==l&&(a[3]=e[3]);return n.fromArray(a,c)}}return null};var l=function(b,c,a){b=Number(b);return isNaN(b)?a:b<c?c:b>a?a:b};n.prototype.sanitize=function(){this.r=Math.round(l(this.r,0,255));this.g=Math.round(l(this.g,0,255));this.b=Math.round(l(this.b,
0,255));this.a=l(this.a,0,1);return this};d.makeGrey=n.makeGrey=function(b,c){return n.fromArray([b,b,b,c])};k.mixin(n.named,{aliceblue:[240,248,255],antiquewhite:[250,235,215],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],blanchedalmond:[255,235,205],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,
20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,
191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,
205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],mediumaquamarine:[102,205,170],mediumblue:[0,
0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],oldlace:[253,245,230],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,
238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],
tan:[210,180,140],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],whitesmoke:[245,245,245],yellowgreen:[154,205,50]});return n})},"esri/symbols/Symbol3DLayer":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/lang ../core/JSONSupport ./support/Symbol3DMaterial ../core/accessorSupport/decorators".split(" "),function(e,k,n,h,d,b,l,f){return function(b){function a(a){b.call(this);
this.enabled=!0;this.type=this.material=null}n(a,b);a.prototype.writeEnabled=function(a,b){a||(b.enabled=a)};a.prototype.readElevationInfo=function(a){return d.clone(a)};a.prototype.writeElevationInfo=function(a,b){b.elevationInfo=d.clone(a)};h([f.property()],a.prototype,"enabled",void 0);h([f.write("enabled")],a.prototype,"writeEnabled",null);h([f.property()],a.prototype,"elevationInfo",void 0);h([f.read("elevationInfo")],a.prototype,"readElevationInfo",null);h([f.write("elevationInfo")],a.prototype,
"writeElevationInfo",null);h([f.property({type:l.default,json:{writable:!0}})],a.prototype,"material",void 0);h([f.property({type:String,readOnly:!0,json:{readable:!1,writeAlways:!0}})],a.prototype,"type",void 0);return a=h([f.subclass("esri.symbols.Symbol3DLayer")],a)}(f.declared(b))})},"esri/symbols/support/Symbol3DMaterial":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper ../../core/lang ../../core/JSONSupport ../../Color ./materialUtils ../../core/accessorSupport/decorators".split(" "),
function(e,k,n,h,d,b,l,f,c){e=function(a){function b(){a.apply(this,arguments)}n(b,a);b.prototype.readColor=function(a,b){var c=null!=b.transparency?f.transparencyToOpacity(b.transparency):1;if(a&&d.isDefined(a[0]))return[a[0],a[1],a[2],c]};b.prototype.writeColor=function(a,b){b.color=[a.r,a.g,a.b];1!==a.a&&(b.transparency=f.opacityToTransparency(a.a))};b.prototype.clone=function(){return new b({color:this.color?this.color.clone():null})};h([c.property({type:l})],b.prototype,"color",void 0);h([c.read("color",
["color","transparency"])],b.prototype,"readColor",null);h([c.write("color")],b.prototype,"writeColor",null);return b=h([c.subclass("esri.symbols.support.Symbol3DMaterial")],b)}(c.declared(b));k.Symbol3DMaterial=e;Object.defineProperty(k,"__esModule",{value:!0});k.default=e})},"esri/symbols/support/materialUtils":function(){define(["require","exports"],function(e,k){k.opacityToTransparency=function(e){return Math.round(100*(1-e))};k.transparencyToOpacity=function(e){return 1-e/100}})},"esri/symbols/IconSymbol3DLayer":function(){define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../request ../core/kebabDictionary ../core/promiseUtils ../core/screenUtils ../core/urlUtils ../core/accessorSupport/decorators ./Symbol3DLayer ./support/Symbol3DOutline ./support/Symbol3DMaterial ./support/Symbol3DResource ../views/3d/layers/graphics/Graphics3DIconSymbolLayer".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q){var r=b({topLeft:"top-left",topRight:"top-right",bottomLeft:"bottom-left",bottomRight:"bottom-right"}),m=function(b){function d(){b.apply(this,arguments)}n(d,b);d.prototype.readHref=function(a,b,d){return a?c.read(a,d):b.dataURI};d.prototype.writeHref=function(a,b,d){a&&(c.isDataProtocol(a)?b.dataURI=a:b.href=c.write(a,d))};d.prototype.clone=function(){return new d({href:this.href,primitive:this.primitive})};h([a.property({json:{writable:!0,readFrom:["href",
"dataURI"]}})],d.prototype,"href",void 0);h([a.read("href")],d.prototype,"readHref",null);h([a.write("href")],d.prototype,"writeHref",null);return d=h([a.subclass("esri.symbols.support.IconSymbol3DLayerResource")],d)}(a.declared(u.default));return function(b){function c(a){b.call(this);this.resource=this.material=null;this.type="Icon";this.outline=this.anchor=this.size=void 0}n(c,b);c.prototype.readAnchor=function(a){return r.fromJSON(a)};c.prototype.writeAnchor=function(a,b){b.anchor=r.toJSON(a)};
c.prototype.computeResourceSize=function(){if(this.resource.href)return this._fetchImage().then(function(a){return[a.width,a.height]});if(this.resource.primitive)return l.resolve(q.PRIMITIVE_SIZE)};c.prototype.computeSize=function(){var a=this;return this.computeResourceSize().then(function(b){if(null==a.size)return b;b=b[0]/b[1];return 1<b?[a.size,a.size/b]:[a.size*b,a.size]})};c.prototype.clone=function(){return new c({anchor:this.anchor,enabled:this.enabled,material:this.material&&this.material.clone(),
outline:this.outline&&this.outline.clone(),resource:this.resource&&this.resource.clone(),size:this.size})};c.prototype._fetchImage=function(){return d(this.resource.href,{responseType:"image"}).then(function(a){return a.data})};h([a.property({type:v.default})],c.prototype,"material",void 0);h([a.property({type:m,json:{writable:!0}})],c.prototype,"resource",void 0);h([a.property()],c.prototype,"type",void 0);h([a.property({json:{writable:!0}}),a.cast(f.toPt)],c.prototype,"size",void 0);h([a.property({type:String})],
c.prototype,"anchor",void 0);h([a.read("anchor")],c.prototype,"readAnchor",null);h([a.write("anchor")],c.prototype,"writeAnchor",null);h([a.property({type:t.default,json:{writable:!0}})],c.prototype,"outline",void 0);return c=h([a.subclass("esri.symbols.IconSymbol3DLayer")],c)}(a.declared(s))})},"esri/core/screenUtils":function(){define(["require","exports"],function(e,k){function n(d){return 72*d/k.DPI}var h=/^(\d+(\.\d+)?)\s*((px)|(pt))?$/i;k.DPI=96;k.pt2px=function(d){return d/72*k.DPI};k.px2pt=
n;k.toPt=function(d){if("string"===typeof d){if(h.test(d)){d=d.match(h);var b=Number(d[1]);return"px"===(d[3]&&d[3].toLowerCase())?n(b):b}console.warn("screenUtils.toPt: input not recognized!");return null}return d}})},"esri/symbols/support/Symbol3DOutline":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper ../../core/lang ../../core/JSONSupport ../../Color ../../core/screenUtils ./materialUtils ../../core/accessorSupport/decorators".split(" "),
function(e,k,n,h,d,b,l,f,c,a){e=function(b){function e(){b.apply(this,arguments);this.color=new l([0,0,0,1]);this.size=1}n(e,b);e.prototype.readColor=function(a,b){var e=null!=b.transparency?c.transparencyToOpacity(b.transparency):1;if(a&&d.isDefined(a[0]))return[a[0],a[1],a[2],e]};e.prototype.writeColor=function(a,b){b.color=[a.r,a.g,a.b];1!==a.a&&(b.transparency=c.opacityToTransparency(a.a))};e.prototype.clone=function(){return new e({color:d.clone(this.color),size:this.size})};h([a.property({type:l})],
e.prototype,"color",void 0);h([a.read("color",["color","transparency"])],e.prototype,"readColor",null);h([a.write("color")],e.prototype,"writeColor",null);h([a.property({json:{writable:!0}}),a.cast(f.toPt)],e.prototype,"size",void 0);return e=h([a.subclass("esri.symbols.support.Symbol3DOutline")],e)}(a.declared(b));k.Symbol3DOutline=e;Object.defineProperty(k,"__esModule",{value:!0});k.default=e})},"esri/symbols/support/Symbol3DResource":function(){define("require exports ../../core/tsSupport/declareExtendsHelper ../../core/tsSupport/decorateHelper ../../core/urlUtils ../../core/JSONSupport ../../core/kebabDictionary ../../core/accessorSupport/decorators".split(" "),
function(e,k,n,h,d,b,l,f){var c=l({invertedCone:"inverted-cone"});e=function(a){function b(){a.apply(this,arguments)}n(b,a);b.prototype.readHref=function(a,b,c){return d.read(a,c)};b.prototype.writeHref=function(a,b,c){a&&(b.href=d.write(a,c))};b.prototype.readPrimitive=function(a){return c.fromJSON(a)};b.prototype.writePrimitive=function(a,b){b.primitive=c.toJSON(a)};b.prototype.clone=function(){return new b({href:this.href,primitive:this.primitive})};h([f.property({json:{writable:!0}})],b.prototype,
"href",void 0);h([f.read("href")],b.prototype,"readHref",null);h([f.write("href")],b.prototype,"writeHref",null);h([f.property({json:{writable:!0}})],b.prototype,"primitive",void 0);h([f.read("primitive")],b.prototype,"readPrimitive",null);h([f.write("primitive")],b.prototype,"writePrimitive",null);return b=h([f.subclass("esri.symbols.support.Symbol3DResource")],b)}(f.declared(b));k.Symbol3DResource=e;Object.defineProperty(k,"__esModule",{value:!0});k.default=e})},"esri/views/3d/layers/graphics/Graphics3DIconSymbolLayer":function(){define("require exports ../../../../core/tsSupport/extendsHelper dojo/_base/lang dojo/when ./Graphics3DSymbolLayer ./Graphics3DGraphicLayer ./Graphics3DDrapedGraphicLayer ./ElevationAligners ./Graphics3DSymbolCommonCode ./SignedDistanceFunctions ./FastSymbolUpdates ../../../../core/urlUtils ../../../../core/screenUtils ../../../../config ../../../../Color ../../../../geometry/Polygon ../../support/projectionUtils ../../lib/glMatrix ../../webgl-engine/Stage ../../webgl-engine/lib/Geometry ../../webgl-engine/lib/GeometryUtil ../../webgl-engine/lib/RenderGeometry ../../webgl-engine/lib/Texture ../../webgl-engine/materials/HUDMaterial".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w,x,g,p,z,y,C,A){function B(a){return"cross"===a||"x"===a}function K(a){var b,g=E,c=g*I;"primitive:"===a.substring(0,10)&&(a=a.substring(10));switch(a){case R.PRIM_CIRCLE:b=s.computeSignedDistancefieldCicle(g,c);break;case R.PRIM_SQUARE:b=s.computeSignedDistancefieldSquare(g,c,!1);break;case R.PRIM_KITE:b=s.computeSignedDistancefieldSquare(g,c,!0);break;case R.PRIM_CROSS:b=s.computeSignedDistancefieldCrossAndX(g,c,!1);break;case R.PRIM_X:b=s.computeSignedDistancefieldCrossAndX(g,
c,!0)}return new C(b,"sdf_"+a,{mipmap:!1,wrapClamp:!0,width:E,height:E,components:4})}var F=x.vec3d;e=x.vec4d;var G=x.mat4d.identity(),P=[0,0,1],Q=[0,0,0,0],H=[0,0,0],D=[1,1,1],L="center bottom top left right bottom-left bottom-right top-left top-right".split(" "),E=128,I=0.5,R={PRIM_CIRCLE:"circle",PRIM_SQUARE:"square",PRIM_CROSS:"cross",PRIM_X:"x",PRIM_KITE:"kite"},V=[E*I,E*I];b=function(b){function e(){b.apply(this,arguments)}n(e,b);e.prototype._prepareResources=function(){var a=this.symbol,b=
null!=a.size?u.pt2px(a.size):16;this._size=null;this._symbolTextureRatio=1;this._primitive=null;var g=this._getStageIdHint();this._isPropertyDriven("size")&&64>b&&(b=64);var c=a.resource||{primitive:"circle",href:void 0},d={anchorPos:this._getAnchorPos(a)};if(c.href)d.color=this._getFillColor(a,null),d.outlineColor=this._getOutlineColor(a),d.outlineSize=this._getOutlineSize(a,null),d.textureIsSignedDistanceField=!1,this._prepareImageResources(c.href,b,d,g);else{var c=c.primitive||"circle",e="primitive:"+
c;this._primitive=c;d.color=this._getFillColor(a,c);d.outlineColor=this._getOutlineColor(a);d.outlineSize=this._getOutlineSize(a,c);B(c)&&0===d.outlineSize?this.reject():(this.texture=this._context.sharedResources.textures.acquire(e,K),this._textureURI=e,d.textureIsSignedDistanceField=!0,d.textureId=this.texture.getId(),this._size=[b,b],this._symbolTextureRatio=1/I,this._createMaterialsAndAddToStage(d,this._context.stage,g),this.resolve())}};e.prototype._getOutlineDefaultSize=function(a){return B(a)?
1.5:0};e.prototype._getOutlineSize=function(a,b){return a.outline?null!=a.outline.size?u.pt2px(a.outline.size):this._getOutlineDefaultSize(b):this._getOutlineDefaultSize(b)};e.prototype._getOutlineColor=function(a){var b=this._getLayerOpacity();if(a.outline&&null!=a.outline.color){var g=r.toUnitRGB(a.outline.color);return[g[0],g[1],g[2],a.outline.color.a*b]}return[0,0,0,b]};e.prototype._getFillColor=function(a,b){return B(b)?Q:this._getMaterialOpacityAndColor()};e.prototype._getAnchorPos=function(a){return-1<
L.indexOf(a.anchor)?a.anchor:"center"};e.prototype._prepareImageResources=function(a,b,g,c){var e=this,f=function(a){if(!e.isRejected()){var d=a.params,f=d.width/d.height;e._size=b?1<f?[b,b/f]:[b*f,b]:[d.width,d.height];g.textureId=a.getId();e._createMaterialsAndAddToStage(g,e._context.stage,c);e.resolve()}},p="data:image/svg"===a.substring(0,14),m=".svg"===a.substring(a.length-4,a.length);if(!p&&!m)d(this._context.sharedResources.textures.acquire(a),f,function(){e.reject()}),this._textureURI=a;else{a=
v.normalize(a);var h=new Image,m=!p&&v.hasSameOrigin(a,window.location.href);p||(m||v.canUseXhr(a)?m||(h.crossOrigin="anonymous"):q.request.proxyUrl&&(a=q.request.proxyUrl+"?"+a));h.src=a;h.onerror=function(){e.reject()};h.onload=function(){var a=h.width,g=h.height,c=1;a&&g&&(c=a/g);null!=b&&(1<c?(a=b,g=Math.round(b/c)):(g=b,a=Math.round(b*c)));c=document.createElement("canvas");c.width=a;c.height=g;c.getContext("2d").drawImage(h,0,0,a,g);a=c.toDataURL();d(e._context.sharedResources.textures.acquire(a),
f,function(){e.reject()});e._textureURI=a};h.onerror=function(){console.warn("Failed to create Icon primitive");e.reject()}}};e.prototype._createMaterialsAndAddToStage=function(a,b,c){this._fastUpdates=t.initFastSymbolUpdatesState(this._context.renderer,this._supportsShaderVisualVariables(),this._fastVisualVariableConvertOptions());this._fastUpdates.enabled&&h.mixin(a,this._fastUpdates.materialParameters);var d=h.clone(a);d.occlusionTest=!1;d.shaderPolygonOffset=0;this._drapedMaterial=new A(d,c+"_iconDraped");
b.add(g.ModelContentType.MATERIAL,this._drapedMaterial);a.occlusionTest=!0;this._material=new A(a,c+"_icon");b.add(g.ModelContentType.MATERIAL,this._material)};e.prototype.destroy=function(){this.isFulfilled()||this.reject();this._material&&(this._context.stage.remove(g.ModelContentType.MATERIAL,this._material.getId()),this._material=null);this._drapedMaterial&&(this._context.stage.remove(g.ModelContentType.MATERIAL,this._drapedMaterial.getId()),this._drapedMaterial=null);this._textureURI&&(this._context.sharedResources.textures.release(this._textureURI),
this._textureURI=null)};e.prototype._getGeometry=function(b){b=b.geometry;if("extent"===b.type)return a.placePointOnPolygon(m.fromExtent(b));if("polyline"===b.type)return a.placePointOnPolyline(b);if("polygon"===b.type)return a.placePointOnPolygon(b);if("point"===b.type)return b;this._logWarning("unsupported geometry type for icon symbol: "+b.type);return null};e.prototype._getScaleFactor=function(a){if(this._isPropertyDriven("size")){if(a.size){for(var b=0;3>b;b++)a.size[b]&&"symbolValue"!==a.size[0]&&
(a.size[b]=u.pt2px(a.size[b]));b=this._size[0]>this._size[1]?this._size[0]:this._size[1];if("symbolValue"===a.size[0])return 1;if(isFinite(a.size[0]))return a.size[0]/b;if(isFinite(a.size[2]))return a.size[2]/b}}else return 1};e.prototype.createGraphics3DGraphic=function(b,g){var c=this._getGeometry(b);if(null===c)return null;var d="graphic"+b.uid,e=this._getVertexOpacityAndColor(g),f=1;if(!this._fastUpdates.enabled||!this._fastUpdates.visualVariables.size)f=this._getScaleFactor(g);var f=f*this._symbolTextureRatio,
f=[this._size[0]*f,this._size[1]*f],p=this._getGraphicElevationInfo(b);return p.mode===a.ELEV_MODES.ON_THE_GROUND?this._createAsOverlay(b,c,e,f,p,d,b.uid):this._createAs3DShape(b,c,e,f,p,d,b.uid)};e.prototype.layerPropertyChanged=function(b,g,d){if("opacity"===b)return g=this._getFillColor(this.symbol,this._primitive),this._drapedMaterial.setParameterValues({color:g}),this._material.setParameterValues({color:g}),g=this._getOutlineColor(this.symbol),this._drapedMaterial.setParameterValues({outlineColor:g}),
this._material.setParameterValues({outlineColor:g}),!0;if("elevationInfo"===b){var e=this._elevationInfo.mode;this._updateElevationInfo();b=this._elevationInfo.mode;var f=a.ELEV_MODES;if(e===f.ON_THE_GROUND&&b===f.ON_THE_GROUND)return!0;if(e!==b&&(e===f.ON_THE_GROUND||b===f.ON_THE_GROUND))return!1;var e=this._context.elevationProvider,p=this._context.renderCoordsHelper,m=c.perObjectElevationAligner,h;for(h in g){var r=g[h],q=r._graphics[d];q&&q instanceof l&&(r=this._getGraphicElevationInfo(r.graphic),
q.elevationAligner=b===f.RELATIVE_TO_GROUND?m:null,q.elevationInfo.set(r),m(q,e,p))}return!0}return!1};e.prototype.applyRendererDiff=function(a,b,g,c){for(var d in a.diff)switch(d){case "visualVariables":if(t.updateFastSymbolUpdatesState(this._fastUpdates,b,this._fastVisualVariableConvertOptions()))this._material.setParameterValues(this._fastUpdates.materialParameters),this._drapedMaterial.setParameterValues(this._fastUpdates.materialParameters);else return!1;break;default:return!1}return!0};e.prototype.setDrawOrder=
function(a,b,g){this._drapedMaterial&&(this._drapedMaterial.setRenderPriority(a),g[this._drapedMaterial.getId()]=!0)};e.prototype._defaultElevationInfoNoZ=function(){return N};e.prototype._getGraphicElevationInfo=function(g){var c=b.prototype._getGraphicElevationInfo.call(this,g);c.mode===a.ELEV_MODES.RELATIVE_TO_GROUND&&(0===c.offset&&!g.geometry.get("hasZ"))&&(c.offset=1/this._context.renderCoordsHelper.unitInMeters);return c};e.prototype._createAs3DShape=function(b,g,d,e,f,m,h){var r=this,q=this._getFastUpdateAttrValues(b),
k=q?function(a){return t.evaluateModelTransform(r._fastUpdates.materialParameters,q,a)}:null;b=z.createPointGeometry(P,null,d,e,null,M,null,q);b=[new p(b,m)];m=a.createStageObjectForPoint.call(this,g,b,[[this._material]],null,null,f,m,this._context.layer.id,h,!0,k);if(null===m)return null;h=null;f.mode===a.ELEV_MODES.RELATIVE_TO_GROUND?h=c.perObjectElevationAligner:f.mode===a.ELEV_MODES.ABSOLUTE_HEIGHT&&(h=c.perObjectVerticalDistanceToGroundAligner);f=new l(this,m,b,null,null,h,f);if(this._fastUpdates.enabled){var w=
e[0]/this._symbolTextureRatio,x=e[1]/this._symbolTextureRatio;f.getScreenSize=function(){var a=k(G);return[a[0]*w,a[5]*x]}}else{var u=e[0]/this._symbolTextureRatio,s=e[1]/this._symbolTextureRatio;f.getScreenSize=function(){return[u,s]}}a.extendPointGraphicElevationInfo(f,g,this._context.elevationProvider);return f};e.prototype._createAsOverlay=function(b,g,c,d,e,p,m){var h=this;this._drapedMaterial.setRenderPriority(this._symbolLayerOrder);e=F.create();w.pointToVector(g,e,this._context.overlaySR);
e[2]=this._getDrapedZ();if((g=this._context.clippingExtent)&&!a.pointInBox2D(e,g))return null;var r=this._getFastUpdateAttrValues(b),q=r?function(a){return t.evaluateModelTransform(h._fastUpdates.materialParameters,r,a)}:null;b=z.createPointGeometry(P,e,c,d,!0,null,null,r);c=new y(b);c.material=this._drapedMaterial;c.center=e;c.bsRadius=0;c.transformation=G;c.name=p;c.uniqueName=p+"#"+b.id;p=new f(this,[c],null,null,null);if(this._fastUpdates.enabled){var l=d[0]/this._symbolTextureRatio,k=d[1]/this._symbolTextureRatio;
p.getScreenSize=function(){var a=q(G);return[a[0]*l,a[5]*k]}}else{var x=d[0]/this._symbolTextureRatio,u=d[1]/this._symbolTextureRatio;p.getScreenSize=function(){return[x,u]}}return p};e.prototype._supportsShaderVisualVariables=function(){return!0};e.prototype._fastVisualVariableConvertOptions=function(){var a=this._size[0]>this._size[1]?this._size[0]:this._size[1];return{modelSize:[a,a,a],unitInMeters:u.px2pt(1),transformation:{anchor:H,scale:D}}};e.PRIMITIVE_SIZE=V;e.VALID_ANCHOR_STRINGS=L;return e}(b);
var N={mode:a.ELEV_MODES.RELATIVE_TO_GROUND,offset:0},M=e.createFrom(0,0,0,1);return b})},"esri/views/3d/layers/graphics/Graphics3DSymbolLayer":function(){define("require exports ../../../../core/tsSupport/extendsHelper dojo/_base/lang ../../support/PromiseLightweight ./ElevationInfo ./graphicUtils ../../../../core/Logger ../../../../Color".split(" "),function(e,k,n,h,d,b,l,f,c){var a=new b,s=f.getLogger("esri.symbols.Symbol3D");e=function(d){function e(a,c,f){d.call(this);this.symbol=a;this._context=
c;this._symbolLayerOrder=c.layerOrder;this._symbolLayerOrderDelta=c.layerOrderDelta;this._elevationInfo=new b;this._material=null;this._updateDrivenProperties(f);this._updateElevationInfo();this._prepareResources()}n(e,d);e.prototype._logWarning=function(a){s.warn(a)};e.prototype._prepareResources=function(a){throw Error("This is an abstract base class");};e.prototype._defaultElevationInfoNoZ=function(){return t};e.prototype._defaultElevationInfoZ=function(){return v};e.prototype._updateElevationInfo=
function(){for(var a in this._elevationInfo)this._elevationInfo[a]=void 0;if(a=this._context.layer.elevationInfo)this._elevationInfo=h.mixin(this._elevationInfo,a);this.symbol.elevationInfo&&(this._elevationInfo=h.mixin(this._elevationInfo,this.symbol.elevationInfo))};e.prototype._getGraphicElevationInfo=function(b){b=b.geometry.hasZ?this._defaultElevationInfoZ():this._defaultElevationInfoNoZ();a.mode=this._elevationInfo.mode||b.mode;a.offset=null!=this._elevationInfo.offset?this._elevationInfo.offset:
b.offset;a.featureExpression=this._elevationInfo.featureExpression;a.offset/=this._context.renderCoordsHelper.unitInMeters;return a};e.prototype._getDrapedZ=function(){return-2};e.prototype._updateDrivenProperties=function(a){var b={color:!1,opacity:!1,size:!1};if(!a&&(a=this._context.renderer))b.color=!!a.colorInfo,b.size=!!a.sizeInfo,a.visualVariables&&a.visualVariables.forEach(function(a){switch(a.type){case "color":b.color=!0;if(a.colors)for(var c=0;c<a.colors.length;c++){var g=a.colors[c];if(g&&
(Array.isArray(g)&&3<g.length&&255!==g[3]||void 0!==g.a&&255!==g.a))b.opacity=!0}if(a.stops)for(c=0;c<a.stops.length;c++)if((g=a.stops[c].color)&&(Array.isArray(g)&&3<g.length&&255!==g[3]||void 0!==g.a&&255!==g.a))b.opacity=!0;break;case "opacity":b.opacity=!0;break;case "size":b.size=!0}});this._drivenProperties=b};e.prototype._isPropertyDriven=function(a){return this._drivenProperties[a]};e.prototype._getLayerOpacity=function(){if(this._context.layerView&&"fullOpacity"in this._context.layerView)return this._context.layerView.fullOpacity;
var a=this._context.layer.opacity;return null==a?1:a};e.prototype._getMaterialOpacity=function(){var a;a=1*this._getLayerOpacity();var b=this.symbol.material;b&&!this._isPropertyDriven("opacity")&&(a*=b.color.a);return a};e.prototype._getMaterialOpacityAndColor=function(){var a=this.symbol.material,b=this._getMaterialOpacity(),a=this._isPropertyDriven("color")||!a?null:c.toUnitRGB(a.color);return l.mixinColorAndOpacity(a,b)};e.prototype._getVertexOpacityAndColor=function(a,b,c){var d=this._isPropertyDriven("color")?
a.color:null;a=this._isPropertyDriven("opacity")?a.opacity:null;d=l.mixinColorAndOpacity(d,a);c&&(d[0]*=c,d[1]*=c,d[2]*=c,d[3]*=c);return b?new b(d):d};e.prototype._getStageIdHint=function(){return this._context.layer.id+"_symbol"};e.prototype.setDrawOrder=function(a,b,c){this._material&&(this._material.setRenderPriority(a),c[this._material.getId()]=!0)};e.prototype.createGraphics3DGraphic=function(a,b){for(var c=2;c<arguments.length;c++);throw Error("This is an abstract base class");};e.prototype.destroy=
function(){throw Error("This is an abstract base class");};e.prototype.layerPropertyChanged=function(a,b,c){return!1};e.prototype.applyRendererDiff=function(a,b,c,d){return!1};e.prototype._getFastUpdateAttrValues=function(a){if(!this._fastUpdates.enabled)return null;var b=this._fastUpdates.visualVariables.field;a=null!=b?a.attributes[b]:0;if(null==a||!isFinite(a))a=0;return[a,0,0,0]};return e}(d.Promise);var t={mode:b.MODES.ON_THE_GROUND,offset:0},v={mode:b.MODES.ABSOLUTE_HEIGHT,offset:0};return e})},
"esri/views/3d/support/PromiseLightweight":function(){(function(e){function k(d){this._callbacks=[];this._errbacks=[];this._cancelCallback=d;this._iserr=this._isdone=this._iscancelled=!1}function n(d,b){var e=new k;0===d.length?e.done.apply(e,b):d[0].apply(null,b).then(function(){d.splice(0,1);n(d,arguments).then(function(){e.done.apply(e,arguments)})});return e}k.prototype.cancel=function(d){this._callbacks=[];this._errbacks=[];this._iscancelled=!0;this._cancelCallback&&this._cancelCallback(d)};
k.prototype.then=function(d,b,e){var f;if(!this._iscancelled)return this._isdone?f=d.apply(e,this.result):this._iserr&&b?f=b.apply(e,this.result):(this._callbacks.push(function(){return d.apply(e,arguments)}),b&&this._errbacks.push(function(){return b.apply(e,arguments)})),f};k.prototype.done=function(){this.result=arguments;this._isdone=!0;for(var d=0;d<this._callbacks.length;d++)this._callbacks[d].apply(null,arguments);this._callbacks=[];this._errbacks=[]};k.prototype.resolve=k.prototype.done;k.prototype.reject=
function(){if(!this._iscancelled){this.result=arguments;this._iserr=!0;for(var d=0;d<this._errbacks.length;d++)this._errbacks[d].apply(null,arguments);this._callbacks=[];this._errbacks=[]}};k.prototype.isRejected=function(){return this._iserr};k.prototype.isFulfilled=function(){return this._isdone||this._iserr};k.prototype.isResolved=function(){return this._isdone};k.prototype.isCancelled=function(){return this._iscancelled};var h={Promise:k,join:function(d){function b(b,d){return function(){d&&(h=
!0);c+=1;a[b]=Array.prototype.slice.call(arguments);c===f&&(h?e.reject():e.done(a))}}for(var e=new k,f=d.length,c=0,a=[],h=!1,n=0;n<f;n++)d[n].then(b(n,!1),b(n,!0));0===d.length&&e.done();return e},chain:n};"function"===typeof define&&define.amd?define(function(){return h}):e.promise=h})(this)},"esri/views/3d/layers/graphics/ElevationInfo":function(){define(["require","exports","dojo/_base/lang"],function(e,k,n){return function(){function e(d){d?this.set(d):(this.mode=null,this.offset=0,this.featureExpression=
null)}e.prototype.set=function(d){this.mode=d.mode;this.offset=d.offset;this.featureExpression=d.featureExpression?n.clone(d.featureExpression):null};e.MODES={ABSOLUTE_HEIGHT:"absolute-height",RELATIVE_TO_GROUND:"relative-to-ground",ON_THE_GROUND:"on-the-ground"};return e}()})},"esri/views/3d/layers/graphics/graphicUtils":function(){define("require exports ../../../../geometry/SpatialReference ../../../../geometry/Point ../../../../geometry/support/webMercatorUtils ../../lib/glMatrix".split(" "),
function(e,k,n,h,d,b){function l(b,a){var e=b.spatialReference;e.equals(a)||(e.isWebMercator&&a.wkid===n.WGS84.wkid?d.webMercatorToGeographic(b,!1,b):a.isWebMercator&&e.wkid===n.WGS84.wkid&&d.geographicToWebMercator(b,!1,b))}var f=b.vec4d;k.computeCentroid=function(b,a){if("extent"===b.type)return b.center;for(var d=b["polygon"===b.type?"rings":"paths"],e=0,f=0,k=0,q=b.hasZ,r=0,m=0;m<d.length;m++){for(var w=d[m],x=0;x<w.length;x++)e+=w[x][0],f+=w[x][1],q&&(k+=w[x][2]);r+=w.length}d=new h({x:e/r,y:f/
r,z:q?k/r:void 0,spatialReference:b.spatialReference});a&&l(d,a);return d};k.convertToSR=l;k.enlargeExtent=function(b,a,d){if(b){a||(a=f.create());var e=0.5*b.width*(d-1);d=0.5*b.height*(d-1);b.width<1E-7*b.height?e+=d/20:b.height<1E-7*b.width&&(d+=e/20);f.set4(b.xmin-e,b.ymin-d,b.xmax+e,b.ymax+d,a);return a}return null};k.updateVertexAttributeAuxpos1w=function(b,a){for(var d=0;d<b.geometries.length;++d){var e=b.geometries[d].data.vertexAttributes.auxpos1;e&&e.data[3]!==a&&(e.data[3]=a,b.geometryVertexAttrsUpdated(d))}};
k.mixinColorAndOpacity=function(b,a){var d=[1,1,1,1];null!=b&&(d[0]=b[0],d[1]=b[1],d[2]=b[2]);null!==a&&void 0!==a?d[3]=a:null!=b&&3<b.length&&(d[3]=b[3]);return d};k.overrideColor=function(b,a,d,e,f){f=f.slice();for(var h=0;3>h;++h)b&&null!=b[h]?f[h]=b[h]:d&&null!=d[h]&&(f[h]=d[h]);null!=a?f[3]=a:null!=e&&(f[3]=e);return f}})},"esri/views/3d/layers/graphics/Graphics3DGraphicLayer":function(){define("require exports ../../../../core/tsSupport/extendsHelper ./ElevationInfo ../../webgl-engine/Stage ../../lib/glMatrix ../../support/aaBoundingBox".split(" "),
function(e,k,n,h,d,b,l){e=b.vec3d;var f=b.mat4d;b=function(){function b(a,c,d,e,f,h,l,g){this._addedToStage=!1;this.graphics3DSymbolLayer=a;this.uniqueMaterials=e;this.uniqueGeometries=d;this.uniqueTextures=f;this.stageObject=c;this.elevationAligner=h;this.elevationInfo=new s(l);this.stageLayer=this.stage=null;this._shown=!1;this._visibilityFlags={};this.visibilityMode=null!=g?g:b.VisibilityModes.HIDE_FACERANGE}b.prototype.initialize=function(a,b){this.stageLayer=a;this.stage=b;if(this.uniqueMaterials)for(var c=
0;c<this.uniqueMaterials.length;c++)b.add(d.ModelContentType.MATERIAL,this.uniqueMaterials[c]);if(this.uniqueGeometries)for(c=0;c<this.uniqueGeometries.length;c++)b.add(d.ModelContentType.GEOMETRY,this.uniqueGeometries[c]);if(this.uniqueTextures)for(c=0;c<this.uniqueTextures.length;c++)b.add(d.ModelContentType.TEXTURE,this.uniqueTextures[c]);b.add(d.ModelContentType.OBJECT,this.stageObject)};b.prototype.isDraped=function(){return!1};b.prototype.areVisibilityFlagsSet=function(a,b){for(var c=!0,d=Object.keys(this._visibilityFlags),
e=0;e<d.length;e++){var f=d[e];if(f!==b){if(f===a)return this._visibilityFlags[f];c=c&&this._visibilityFlags[f]}}return c};b.prototype.setVisibilityFlag=function(a,b){this._visibilityFlags[a]=b;return this._calcAndSetVisibility()};b.prototype._calcAndSetVisibility=function(){if(null!=this.stage){var a=this.areVisibilityFlagsSet();return this._shown!==a?((this._shown=a)?this._addedToStage?this.stageObject.unhideAllFaceRange():(this.stageLayer.addObject(this.stageObject),this._addedToStage=!0):this.visibilityMode===
b.VisibilityModes.HIDE_FACERANGE?this.stageObject.hideAllFaceRanges():(this.stageLayer.removeObject(this.stageObject),this._addedToStage=!1),!0):!1}};b.prototype.destroy=function(){var a=this.stage;if(this.stageLayer){if(this.uniqueMaterials)for(var b=0;b<this.uniqueMaterials.length;b++)a.remove(d.ModelContentType.MATERIAL,this.uniqueMaterials[b].getId());if(this.uniqueGeometries)for(b=0;b<this.uniqueGeometries.length;b++)a.remove(d.ModelContentType.GEOMETRY,this.uniqueGeometries[b].getId());if(this.uniqueTextures)for(b=
0;b<this.uniqueTextures.length;b++)a.remove(d.ModelContentType.TEXTURE,this.uniqueTextures[b].getId())}a.remove(d.ModelContentType.OBJECT,this.stageObject.getId());this._addedToStage&&(this.stageLayer.removeObject(this.stageObject),this._addedToStage=!1);this._shown=!1;this.stage=this.stageLayer=null};b.prototype.mustAlignToTerrain=function(){return null!==this.elevationAligner};b.prototype.alignWithElevation=function(a,b){this.elevationAligner&&this.elevationAligner(this,a,b)};b.prototype.setDrawOrder=
function(a,b,c){};b.prototype.getBSRadius=function(){return this.stageObject.getBSRadius()};b.prototype.getCenterObjectSpace=function(){return this.stageObject.getCenter(!0)};b.prototype.getBoundingBoxObjectSpace=function(a){var b=this.stageObject;a||(a=l.create());l.setMin(a,b.getBBMin(!0));l.setMax(a,b.getBBMax(!0));return a};b.prototype.getProjectedBoundingBox=function(b,d){for(var e=this.getBoundingBoxObjectSpace(d),h=[[0,1,2],[3,1,2],[0,4,2],[3,4,2],[0,1,5],[3,1,5],[0,4,5],[3,4,5]],m=0;m<h.length;m++){var k=
h[m];a[0]=e[k[0]];a[1]=e[k[1]];a[2]=e[k[2]];f.multiplyVec3(this.stageObject.objectTransformation,a);c[3*m+0]=a[0];c[3*m+1]=a[1];c[3*m+2]=a[2]}if(b(c,0,8)){l.set(e,l.NEGATIVE_INFINITY);for(m=0;m<c.length;m+=3)for(h=0;3>h;h++)e[h]=Math.min(e[h],c[m+h]),e[h+3]=Math.max(e[h+3],c[m+h]);return e}return null};b.prototype.getScreenSize=function(){throw Error("Not implemented for this symbol layer/graphic type");};b.VisibilityModes={REMOVE_OBJECT:0,HIDE_FACERANGE:1};return b}();var c=[0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=e.create(),s=function(a){function b(c){a.call(this,c);this.centerPointInElevationSR=null}n(b,a);return b}(h);return b})},"esri/views/3d/webgl-engine/Stage":function(){define("require exports ./parts/Model ./parts/View ./lib/Selector ./lib/Camera ./lib/gl-matrix ./lib/Util ./lib/ModelContentType".split(" "),function(e,k,n,h,d,b,l,f,c){e=l.vec2d;k=l.vec2;var a=l.vec3d;l=function(){function e(a,b){this._intersectTolerance=d.DEFAULT_TOLERANCE;this._viewContent=[];this._externalIntersectionHandlers=
[];this.onSelectionChange=function(){};this.container=a;this.model=new n;this.view=new h(a,this,this.model.getDirtySet(),b);this.view.setLights(this.model.getAmbientLight(),this.model.getDirectionalLight())}e.prototype.setNeedsRender=function(){this.view.setNeedsRender()};e.prototype.dispose=function(){this.view.dispose();this.model=this.view=null};e.prototype.setSelectionObject=function(a,b,c){this.model.setSelection(a,c);this.view.setSelectionObject(void 0!==a?a.getId():void 0,c);if(!b)this.onSelectionChange(a,
c)};e.prototype.getSelectionObject=function(){return this.model.getSelection()};e.prototype.frame=function(c,d){void 0===d&&(d=0);var e=Math.max(1E-6,c.getBSRadius());d=Math.max(2,d+2);var f=e*d,e=this.getCamera(),g=a.create(e.viewForward),f=1.5*f/Math.tan(e.fov);a.scale(g,-f);a.set(c.getCenter(),e.center);a.add(e.center,g,e.eye);e=new b(e.eye,e.center,e.up);this.setCamera(e)};e.prototype.beginMod=function(){e.DebugSettings.fineGrainedContentValidation&&this.model.validateContent()};e.prototype.endMod=
function(a){void 0===a&&(a=!1);e.DebugSettings.fineGrainedContentValidation&&!a&&this.model.validateContent()};e.prototype.add=function(a,b){this.model.add(a,b);"function"===typeof b.addParentStage&&b.addParentStage(this)};e.prototype.remove=function(a,b){var c=this.model.remove(a,b);"function"===typeof c.removeParentStage&&c.removeParentStage(this);return c};e.prototype.notifyDirty=function(a,b,c,d){this.model.notifyDirty(a,b,c,d)};e.prototype.processDirty=function(){var a=this.model.getDirtySet(),
b=a.getDirtyMaterials();if(a.hasDirtyGeometryRecords()||b){e.DebugSettings.endFrameContentValidation&&this.model.validateContent();e.DebugSettings.logDirtySet&&console.log("Dirty set: "+this.model.getDirtySet().formatDebugInfo(!1));var c=a.getAddRemoveUpdateListFilteredByLayers(this._viewContent,!0);(0<c[0].length+c[1].length+c[2].length||b)&&this.view.modify(c[0],c[1],c[2],b);e.DebugSettings.logDirtySet&&(console.log("RGs add: "+c[0].map(function(a){return a.uniqueName})),console.log("RGs remove: "+
c[1].map(function(a){return a.uniqueName})));a.getAddRemoveUpdateList(!0);a.clearDirtyMaterials();this.view.setNeedsRender()}};e.prototype.processDirtyLayer=function(a){var b=this.model.getDirtySet(),c=b.getDirtyMaterials();a=b.getAddRemoveUpdateListFilteredByLayers([a],!0);(0<a[0].length+a[1].length+a[2].length||c)&&this.view.modify(a[0],a[1],a[2],c);b.clearDirtyMaterials()};e.prototype.get=function(a,b){return this.model.get(a,b)};e.prototype.getAll=function(a){return this.model.getAll(a)};e.prototype.addTextureListener=
function(a){this.view.addTextureListener(a)};e.prototype.removeTextureListener=function(a){this.view.removeTextureListener(a)};e.prototype.getContainer=function(){return this.container};e.prototype.getCamera=function(){return this.view.getCamera()};e.prototype.setCamera=function(a){this.view.setCamera(a)};e.prototype.getViewParams=function(a){return this.view.getViewParams(a)};e.prototype.setViewParams=function(a){this.view.setViewParams(a)};e.prototype.getLayers=function(){return this.model.getAll(c.LAYER)};
e.prototype.getAmbientLight=function(){return this.model.getAmbientLight()};e.prototype.getDirectionalLight=function(){return this.model.getDirectionalLight()};e.prototype.setAmbientLight=function(a){this.model.setAmbientLight(a);this.view.setLights(this.model.getAmbientLight(),this.model.getDirectionalLight())};e.prototype.setDirectionalLight=function(a){this.model.setDirectionalLight(a);this.view.setLights(this.model.getAmbientLight(),this.model.getDirectionalLight())};e.prototype.getCanvas=function(){return this.view.getCanvas()};
e.prototype.setRenderParams=function(a){this.view.setRenderParams(a)};e.prototype.getRenderParams=function(){return this.view.getRenderParams()};e.prototype.has=function(a){return this.view.has(a)};e.prototype.getViewContent=function(){return this._viewContent.slice(0)};e.prototype.setViewContent=function(a){var b=f.array2object(this._viewContent),c=f.array2object(a),d=f.subtractObjects(c,b),b=f.subtractObjects(b,c);this.processDirty();c=this.model.getDirtySet();d=c.getResidentRenderGeometriesFilteredByLayers(f.object2array(d));
b=c.getResidentRenderGeometriesFilteredByLayers(f.object2array(b));this.view.modify(d,b,[]);this._viewContent=a.slice(0)};e.prototype.addToViewContent=function(a){for(var b=[],c=0;c<a.length;c++)-1===this._viewContent.indexOf(a[c])&&b.push(a[c]);0<a.length&&(this.processDirty(),a=this.model.getDirtySet().getResidentRenderGeometriesFilteredByLayers(b),this.view.modify(a,[],[]),this._viewContent.push.apply(this._viewContent,b))};e.prototype.removeFromViewContent=function(a){this.processDirty();for(var b=
this.model.getDirtySet(),c=this._viewContent,d=[],g=0;g<a.length;g++){var e=c.indexOf(a[g]);-1<e&&(c[e]=c[c.length-1],c.pop(),d.push(a[g]))}a=b.getResidentRenderGeometriesFilteredByLayers(d);this.view.modify([],a,[])};e.prototype.getViewFrustumObjects=function(){return this.view.getFrustumObjects()};e.prototype.getLocalOrigin=function(a,b,c){return this.model.getOrigin(a,b,c)};e.prototype.getFrameTask=function(){return this.view.getFrameTask()};e.prototype.requestScreenCapture=function(a,b){this.view.requestScreenCapture(a,
b)};e.prototype.getAllTexturesLoaded=function(){return this.view.getAllTexturesLoaded()};e.prototype.getTextureLoaded=function(a){return this.view.getTextureLoaded(a)};e.prototype.addExternalRenderer=function(a,b){"function"===typeof b.intersect&&this._externalIntersectionHandlers.push(b);return this.view.addExternalRenderer(a,b)};e.prototype.removeExternalRenderer=function(a){var b=this._externalIntersectionHandlers.indexOf(a);-1<b&&this._externalIntersectionHandlers.splice(b,1);return this.view.removeExternalRenderer(a)};
e.prototype.getContentDebugStrings=function(a){return this.model.formatDebugInfo(a)};e.prototype.getRenderStats=function(){return this.view.getCombinedStats()};e.prototype.getRenderStatString=function(a){var b=this.getRenderStats(),c="";if(a){var c=c+"\x3ctable\x3e",d;for(d in b)c+="\x3ctr\x3e\x3ctd\x3e"+d+'\x3c/td\x3e\x3ctd style\x3d"text-align: right"\x3e'+Math.round(b[d])+"\x3c/td\x3e\x3c/tr\x3e";c+="\x3c/table\x3e"}else for(d in b)c+=d+": "+b[d]+"\n";return c};e.prototype.pick=function(b,c,d,
e){var g=a.create(),f=a.create();this.view.getPickRay(b,g,f);return this.pickRay(g,f,b,b,c,d,e)};e.prototype.pickRayWithBeginPoint=function(a,b,c,d,g){this.view.pickRayWithBeginPoint(a,b,c,d,g)};e.prototype.pickRay=function(a,b,c,e,g,f,h){e=this.view.getCamera();c||(c=s,e.projectPoint(b,c));var l;if(g){l=Array(g.length);for(var q=0;q<l.length;q++)l[q]=this.model.get(n.ContentType.LAYER,g[q])}else{l=[];g=this.getViewContent();for(var k=this.model.getAll(n.ContentType.LAYER),q=0;q<g.length;q++){var B=
k[g[q]];B&&"VISIBLE"===B.getState()&&l.push(B)}}h?h.init(l,a,b,c,e,this._intersectTolerance,f):h=new d(l,a,b,c,e,this._intersectTolerance,f);for(q=0;q<this._externalIntersectionHandlers.length;q++)this._externalIntersectionHandlers[q].intersect(h,a,b,c);if(h.getHudResults().length){q=h.getHudResults();q.sort(function(a,b){return b.dist-a.dist});b=q[q.length-1];c=t;e.projectPoint(b.center,c);c[0]=Math.round(c[0]);c[1]=Math.round(c[1]);g=v;this.view.getPickRay(c,a,g);u.init(l,a,g,c,e,this._intersectTolerance,
f);for(q=0;q<this._externalIntersectionHandlers.length;q++)this._externalIntersectionHandlers[q].intersect(u,a,g,c);if(null==u.getMinResult().dist||b.dist<=u.getMinResult().dist)h.getMinResult().set(b.object,b.name,b.dist,b.normal,b.priority),h.getMinResult().setIntersector("stage")}return h};e.prototype.getIntersectTolerance=function(){return this._intersectTolerance};e.prototype.setIntersectTolerance=function(a){void 0===a&&(a=1E-5);this._intersectTolerance=a};e.prototype.getTextureGraphicsRenderer=
function(){return this.view.getTextureGraphicsRenderer()};e.prototype.debugHideFaceRange=function(a,b){var c=this.getAll("objects")[a];c.hideFaceRange(c.getGeometryRecords()[0],[c.getMetadata().faceRanges[b]])};e.prototype.debugHideAllFaceRange=function(a){a=this.getAll("objects")[a];for(var b in a.getMetadata().faceRanges)a.hideFaceRange(a.getGeometryRecords()[0],[a.getMetadata().faceRanges[b]])};e.prototype.debugUnhideFaceRange=function(a,b){this.getAll("objects")[a].unhideAllFaceRange()};e.DebugSettings=
{fineGrainedContentValidation:!1,endFrameContentValidation:!1,logDirtySet:!1};e.ModelContentType=c;return e}();var s=e.create(),t=k.create(),v=a.create(),u=new d;u.enableHUDSelection=!1;return l})},"esri/views/3d/webgl-engine/parts/Model":function(){define("require exports dojo/string ../lib/lights ../lib/ModelContentType ../lib/ModelDirtySet ../lib/RenderGeometry ../lib/Util ../lib/gl-matrix".split(" "),function(e,k,n,h,d,b,l,f,c){var a=f.assert,s=f.verify,t=c.vec3d,v=c.mat4d,u=f.logWithBase;return function(){function c(){this.dirtySet=
new b(this);this.ambientLight=new h.AmbientLight([1,1,1],0.3);this.directionalLight=new h.DirectionalLight([1,1,1],0.7,t.normalize([1,1,1]));this._uniqueName2idx={};this._uniqueIdx=0;this._id2origin={};this.content={};for(var a in d)this.content[d[a]]={}}c.prototype.getAll=function(b){b=this.content[b];a(void 0!==b);return b};c.prototype.get=function(a,b){return this.getAll(a)[b]};c.prototype.add=function(b,c){var e=this.content[b];a(void 0!==e);var f=c.getId();a(null==e[f],"Model/Stage already contains object to be added");
e[f]=c;b===d.LAYER&&this.notifyDirty(b,c,"layerAdded")};c.prototype.remove=function(b,c){var e=this.content[b];a(void 0!==e);var f=e[c];a(void 0!==f,"Model/Stage doesn't contain object to be removed");delete e[c];b===d.TEXTURE&&f.unload();b===d.LAYER&&this.notifyDirty(b,f,"layerRemoved");return f};c.prototype.getDirtySet=function(){return this.dirtySet};c.prototype.notifyDirty=function(a,b,c,d){this.dirtySet.handleUpdate(b,c,d)};c.prototype.getAmbientLight=function(){return this.ambientLight};c.prototype.setAmbientLight=
function(a){this.ambientLight.set(a)};c.prototype.getDirectionalLight=function(){return this.directionalLight};c.prototype.setDirectionalLight=function(a){this.directionalLight.set(a)};c.prototype.getSelection=function(){return this.selection};c.prototype.setSelection=function(a,b){this.selection=a;this.selectionFaceRange=b};c.prototype.getSelectionFaceRange=function(){return this.selectionFaceRange};c.prototype.getOrigin=function(a,b,c){void 0===c&&(c=10);var d=0;b=b*c/1E4;1<b&&(d=Math.ceil(u(b,
2)));b=1E4*Math.pow(2,d);c=Math.round(a[0]/b);var g=Math.round(a[1]/b);a=Math.round(a[2]/b);var d=d+"_"+c+"_"+g+"_"+a,e=this._id2origin[d];null==e&&(e={vec3:t.createFrom(c*b,g*b,a*b),id:d},this._id2origin[d]=e);return e};c.prototype.getGeometryRenderGeometries=function(a,b,c){for(var d=a.getId(),g=b.geometry,e=g.getData(),f=!!g.singleUse,h=e.getFaces(),q=e.getVertexAttr(),e=e.getId(),k=b.materials,u=b.instanceParameters,s=a.getCombinedStaticTransformation(b),n=v.maxScale(s),t=b.origin,P=a.getVisibleIndexRanges(b),
Q=0,H=g.getNumGroups();Q<H;++Q){var D=g.getBoundingInfo(Q),L=b.getId()+"#"+Q,E=this._uniqueName2idx[L];null==E&&(E=this._uniqueIdx++,this._uniqueName2idx[L]=E);var I={},R;for(R in h[Q].indices)I[R]=q[R];D=new l({faces:h[Q],vertexAttr:I,id:e+"#"+Q},D,k[Q],s,n,a.getCastShadow(),f,d,L,E,Q);D.origin=t||this.getOrigin(D.center,D.bsRadius);D.displayedIndexRange=P?P[Q]:null;D.instanceParameters=u?b.instanceParameters[Q]:null;c.push(D)}};c.prototype.formatDebugInfo=function(a){var b=[];if(a){b[0]="\x3ctable\x3e";
for(var c in d)a=d[c],b[0]+="\x3ctr\x3e\x3ctd\x3e"+a+'\x3c/td\x3e\x3ctd style\x3d"text-align: right"\x3e'+Object.keys(this.getAll(a)).length+"\x3c/td\x3e\x3c/tr\x3e";b[0]+="\x3c/table\x3e";b[1]=this.dirtySet.formatDebugInfo(!0)}else{b[0]="";for(c in d)a=d[c],b[0]+=n.pad(String(Object.keys(this.getAll(a)).length),6," ")+" "+a+", ";b[1]=this.dirtySet.formatDebugInfo(!1)}return b};c.prototype.validateContent=function(){var a=this.getAll(d.OBJECT),b;for(b in a)this.validateObject(a[b]);var a=this.getAll(d.LAYER),
c;for(c in a)this.validateLayer(a[c]);c=this.getAll(d.MATERIAL);for(var e in c)this.validateMaterial(c[e])};c.prototype.validateObject=function(b){b=b.geometryRecords;for(var c=0;c<b.length;++c){var e=b[c];a(null!=this.get(d.GEOMETRY,e.geometry.id));var f=e.geometry.numGroups;a(f<=e.materials.length,"object materials do not match geometry groups");s(f===e.materials.length,"object materials do not match geometry groups");for(var g=0;g<f;++g)a(null!=this.get(d.MATERIAL,e.materials[g].getId()))}};c.prototype.validateLayer=
function(b){b=b.getObjects();for(var c=0;c<b.length;++c){var e=this.get(d.OBJECT,b[c].getId());a(null!=e)}};c.prototype.validateMaterial=function(b){b=b.getAllTextureIds();for(var c=0;c<b.length;++c){var e=this.get(d.TEXTURE,b[c]);a(null!=e)}};c.ContentType=d;return c}()})},"esri/views/3d/webgl-engine/lib/lights":function(){define(["require","exports"],function(e,k){var n=function(){function e(d,b){this.color=d;this.intensity=b}e.prototype.set=function(d){void 0!==d.color&&(this.color=d.color);void 0!==
d.intensity&&(this.intensity=d.intensity)};return e}();k.AmbientLight=n;n=function(){function e(d,b,h){this.color=d;this.intensity=b;this.direction=h}e.prototype.set=function(d){void 0!==d.color&&(this.color=d.color);void 0!==d.intensity&&(this.intensity=d.intensity);void 0!==d.direction&&(this.direction=d.direction)};return e}();k.DirectionalLight=n})},"esri/views/3d/webgl-engine/lib/ModelContentType":function(){define(["require","exports"],function(e,k){return function(){function e(){}e.LAYER="layers";
e.OBJECT="objects";e.GEOMETRY="geometries";e.MATERIAL="materials";e.TEXTURE="textures";return e}()})},"esri/views/3d/webgl-engine/lib/ModelDirtySet":function(){define(["require","exports","./ModelContentType","./ModelDirtyTypesTs","./Util"],function(e,k,n,h,d){var b=d.objectEmpty,l=d.assert;return function(){function d(b){this._residentGeomRecords={};this._dirtyGeomRecords={};this._dirtyMaterials={};this._model=b}d.prototype._getResidentGeometryRecords=function(){return this._residentGeomRecords};
d.prototype._getDirtyGeometryRecords=function(){return this._dirtyGeomRecords};d.prototype.getDirtyMaterials=function(){return b(this._dirtyMaterials)?null:this._dirtyMaterials};d.prototype.clearDirtyMaterials=function(){this._dirtyMaterials={}};d.prototype.hasDirtyGeometryRecords=function(){for(var c in this._dirtyGeomRecords)for(var a in this._dirtyGeomRecords[c]){var d=this._dirtyGeomRecords[c][a];if(d&&!b(d))return!0}return!1};d.prototype.handleUpdate=function(b,a,d){l(this[a],"ModelDirtySet doesn't know how to process "+
a);return this[a](b,d)};d.prototype.getAddRemoveUpdateList=function(b){return this.getAddRemoveUpdateListFilteredByLayers(Object.keys(this._dirtyGeomRecords),b)};d.prototype.getAddRemoveUpdateListFilteredByLayers=function(b,a){for(var d=[],e=[],f=[],h=0;h<b.length;h++){var q=b[h];if(q in this._dirtyGeomRecords)for(var r in this._dirtyGeomRecords[q]){var m=this._dirtyGeomRecords[q][r];if(m){var k=this._createObjectRecordObjIfNonexistent(this._residentGeomRecords,q,r),x;for(x in m){var g=m[x],p=g[0],
z=g[1],g=g[2],y=z&2&&g&1;if(z&4||y){var C=k[x];C?e.push.apply(e,C[1]):4===z&&l(!1,"ModelDirtySet.getAddRemoveListFilteredByLayers: invalid remove");a&&C&&delete k[x]}if(z&1||y){var C=[p,[]],A=this._model.get(n.OBJECT,r);this._model.getGeometryRenderGeometries(A,p,C[1]);d.push.apply(d,C[1]);a&&(k[x]=C)}if(z&2&&!y)if(C=k[x],A=this._model.get(n.OBJECT,r),C){z=C[1];y=z.length;if(g&2)for(var C=A.getVisibleIndexRanges(p),B=0;B<y;B++){var K=z[B];K.displayedIndexRange=C?C[K.componentIdx]:void 0}if(g&16)for(B=
0;B<y;B++)K=z[B],A.getCombinedStaticTransformation(p,K.transformation),K.updateTransformation(K.transformation);for(B=0;B<y;B++)K=z[B],f.push({renderGeometry:K,updateType:g})}else l(!1,"ModelDirtySet.getAddRemoveListFilteredByLayers: invalid update")}}}a&&delete this._dirtyGeomRecords[q]}return[d,e,f]};d.prototype.getResidentRenderGeometries=function(){return this.getResidentRenderGeometriesFilteredByLayers(Object.keys(this._residentGeomRecords))};d.prototype.getResidentRenderGeometriesFilteredByLayers=
function(b){for(var a=[],d=0;d<b.length;d++){var e=b[d];if(e in this._residentGeomRecords)for(var f in this._residentGeomRecords[e]){var h=this._residentGeomRecords[e][f];if(h)for(var l in h)a.push.apply(a,h[l][1])}}return a};d.prototype.hideFaceRange=function(b,a,d){d=d||this._getParentLayerId(b);this._updateOrCreateDirtyRecord(b,a,d,2,0,0,2,5,2)};d.prototype.unhideAllFaceRange=function(b,a){for(var d=0;d<b.getGeometryRecords().length;d++)this._updateOrCreateDirtyRecord(b,b.getGeometryRecords()[d],
a,2,0,0,2,5,2)};d.prototype.vertexAttrsUpdated=function(b,a,d){this._updateOrCreateDirtyRecord(b,a,d,2,0,0,2,5,4)};d.prototype.colorAttrsUpdated=function(b,a,d){this._updateOrCreateDirtyRecord(b,a,d,2,0,0,2,5,8)};d.prototype.matChanged=function(b){this._dirtyMaterials[b.getId()]=!0};d.prototype.layerAdded=function(b){for(var a=b.getObjects(),d=0;d<a.length;d++)this.layObjectAdded(b,a[d])};d.prototype.layerRemoved=function(b){for(var a=b.getObjects(),d=0;d<a.length;d++)this.layObjectRemoved(b,a[d])};
d.prototype.layObjectAdded=function(b,a){for(var d=b.getId(),e=a.getGeometryRecords(),f=0;f<e.length;f++)this.objGeometryAdded(a,e[f],d)};d.prototype.layObjectRemoved=function(b,a){for(var d=b.getId(),e=a.getGeometryRecords(),f=0;f<e.length;f++)this.objGeometryRemoved(a,e[f],d)};d.prototype.layObjectReplaced=function(b,a){this.layObjectRemoved(b,a[0]);this.layObjectAdded(b,a[1])};d.prototype.objDirty=function(b,a){a=a||this._getParentLayerId(b);var d=b.getId(),d=this._createObjectRecordObjIfNonexistent(this._residentGeomRecords,
a,d),e;for(e in d)this._updateOrCreateDirtyRecord(b,d[e][0],a,2,0,2,0,5,1)};d.prototype.objTransformation=function(b,a){a=a||this._getParentLayerId(b);var d=b.getId(),d=this._createObjectRecordObjIfNonexistent(this._residentGeomRecords,a,d),e;for(e in d)this._updateOrCreateDirtyRecord(b,d[e][0],a,2,0,0,2,5,16)};d.prototype.objGeometryAdded=function(b,a,d){this._updateOrCreateDirtyRecord(b,a,d,1,4,0,0,0)};d.prototype.objGeometryRemoved=function(b,a,d){this._updateOrCreateDirtyRecord(b,a,d,4,1,2,0,
0)};d.prototype.objGeometryReplaced=function(b,a){this.objGeometryRemoved(b,a[0]);this.objGeometryAdded(b,a[1])};d.prototype.objGeometryTransformation=function(b,a){this.objGeometryReplaced(b,a)};d.prototype._updateOrCreateDirtyRecord=function(b,a,d,e,f,h,q,r,m){d=d||this._getParentLayerId(b);var k=b.getId();b=a.getId();d=this._createObjectRecordObjIfNonexistent(this._dirtyGeomRecords,d,k);(k=d[b])?(a=k[1],a&f?delete d[b]:a&h?(k[1]=e,k[2]=m):a&q?k[2]|=m:a&r||l(!1,"ModelDirtySet.objGeometryAdded: inconsistent state")):
d[b]=[a,e,m]};d.prototype._createObjectRecordObjIfNonexistent=function(b,a,d){b[a]||(b[a]={});b[a][d]||(b[a][d]={});return b[a][d]};d.prototype._getParentLayerId=function(b){return b.parentLayer.id};d.prototype.formatDebugInfo=function(b){var a=["ADD","UPD",void 0,"REM"];if(b)return"";b="";for(var d in this._dirtyGeomRecords)for(var e in this._dirtyGeomRecords[d]){var f=this._dirtyGeomRecords[d][e];if(f){0<b.length&&(b+="\n");b+=d+"."+e;var h=[],l;for(l in f){var r=f[l][1];h[r]||(h[r]=[]);h[r].push(f[l][0].geometry.id)}for(f=
0;f<h.length;f++)if(h[f]){b+=" "+a[f-1]+": ";for(r=0;r<h[f].length;r++)b+=h[f][r]+", "}}}return b};return d}()})},"esri/views/3d/webgl-engine/lib/ModelDirtyTypesTs":function(){define(["require","exports"],function(e,k){})},"esri/views/3d/webgl-engine/lib/Util":function(){define(["./gl-matrix"],function(e){function k(a){this.message=a}var n=e.vec2d,h=e.vec3d,d=e.vec4d,b=e.mat4d,l=b.create(),f=[d.createFrom(-1,-1,-1,1),d.createFrom(1,-1,-1,1),d.createFrom(1,1,-1,1),d.createFrom(-1,1,-1,1),d.createFrom(-1,
-1,1,1),d.createFrom(1,-1,1,1),d.createFrom(1,1,1,1),d.createFrom(-1,1,1,1)],c=d.create(),a=Array(8);for(e=0;8>e;++e)a[e]=h.create();var s=h.create(),t=h.create(),v=h.create(),u=h.create(),q=h.create(),r=h.create(),m=h.create(),w=h.create(),x=h.create(),g=h.create(),p=h.create(),z=h.create(),y=h.create(),C=h.create();k.prototype.toString=function(){return"AssertException: "+this.message};var A={EARTH_RADIUS:6378137,METER2FEET:3.28084,ECCENTRICITY_SQUARED:0.0066943799901414,AssertException:k,VertexAttrConstants:{POSITION:"position",
NORMAL:"normal",UV0:"uv0",AUXPOS1:"auxpos1",AUXPOS2:"auxpos2",COLOR:"color",SIZE:"size",REGION:"region"},assert:function(a,b){if(!a){var g=Error("dummy");g.stack&&console.log(g.stack);throw new k(b);}},verify:function(a,b){a||(console.log("Verify failed: "+b),console.log(Error("dummy").stack))},createQuadVertexUvBuffer:function(a){a=a||Float32Array;a=new a(20);a[0]=-1;a[1]=-1;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=-1;a[7]=0;a[8]=1;a[9]=0;a[10]=-1;a[11]=1;a[12]=0;a[13]=0;a[14]=1;a[15]=1;a[16]=1;a[17]=0;
a[18]=1;a[19]=1;return a},isPowerOfTwo:function(a){return 0===(a&a-1)},lerp:function(a,b,g){return a+(b-a)*g},clamp:function(a,b,g){return a<b?b:a>g?g:a},fallbackIfUndefined:function(a,b){return void 0===a?b:a},hex2rgb:function(a){a=Math.floor(a);return[(a>>16&255)/255,(a>>8&255)/255,(a&255)/255]},rgb2hex:function(a){var b=A.clamp(Math.round(255*a[0]),0,255),g=A.clamp(Math.round(255*a[1]),0,255);a=A.clamp(Math.round(255*a[2]),0,255);return"0x"+((b<<16)+(g<<8)+a).toString(16)},dec2hex:function(a){a=
a.toString(16);return"00000000".substr(0,8-a.length)+a},deg2rad:function(a){return a/180*Math.PI},rad2deg:function(a){return 180*a/Math.PI},azimuthElevationAngle2Direction:function(a,b){var g=1.5*Math.PI-a,c=0.5*Math.PI-b,d=Math.cos(g)*Math.sin(c),e=Math.cos(c),g=Math.sin(g)*Math.sin(c);return[d,e,g]},rayPlane:function(a,b,g,c){var d=h.dot(g,b);if(0===d)return!1;g=-(h.dot(g,a)+g[3])/d;h.add(a,h.scale(b,g,c),c);return!0},raySphereClosestPositive:function(a,b,g,c){var d=h.dot(b,b),e=2*h.dot(b,a);g=
h.dot(a,a)-g*g;g=e*e-4*d*g;if(0>g)return!1;var f=Math.sqrt(g);g=(-e-f)/(2*d);d=(-e+f)/(2*d);if(0>g||d<g&&0<d)g=d;return 0<g?(h.add(a,h.scale(b,g,c),c),!0):!1},rayTriangle3D:function(a,b,g,c,d,e,f,p,m){m||(m=h.create());var l=c[f]-g[e],q=c[f+1]-g[e+1],r=c[f+2]-g[e+2];c=d[p]-g[e];f=d[p+1]-g[e+1];d=d[p+2]-g[e+2];var k=b[1]*d-f*b[2],x=b[2]*c-d*b[0],u=b[0]*f-c*b[1];p=l*k+q*x+r*u;if(-1E-5<p&&1E-5>p)return!1;p=1/p;var w=a[0]-g[e],n=a[1]-g[e+1];a=a[2]-g[e+2];m[1]=p*(w*k+n*x+a*u);if(0>m[1]||1<m[1])return!1;
g=n*r-q*a;a=a*l-r*w;l=w*q-l*n;m[2]=p*(b[0]*g+b[1]*a+b[2]*l);if(0>m[2]||1<m[1]+m[2])return!1;m[0]=p*(c*g+f*a+d*l);return!0},rayBoxTest:function(a,b,g,c){var d,e=(g[0]-a[0])/b[0],f=(c[0]-a[0])/b[0];e>f&&(d=e,e=f,f=d);var p=(g[1]-a[1])/b[1],m=(c[1]-a[1])/b[1];p>m&&(d=p,p=m,m=d);if(e>m||p>f)return!1;p>e&&(e=p);m<f&&(f=m);g=(g[2]-a[2])/b[2];a=(c[2]-a[2])/b[2];g>a&&(d=g,g=a,a=d);if(e>a||g>f)return!1;a<f&&(f=a);return 0>f?!1:!0},rayRay2D:function(a,b,g,c,d,e){e||(e=n.create());var f=(c[d]-g[d])*(b[0]-a[0])-
(c[0]-g[0])*(b[d]-a[d]);if(0===f)return!1;g=((c[0]-g[0])*(a[d]-g[d])-(c[d]-g[d])*(a[0]-g[0]))/f;e[0]=a[0]+g*(b[0]-a[0]);e[1]=a[d]+g*(b[d]-a[d]);return!0},matrix2frustum:function(a,g,d){b.multiply(g,a,l);b.inverse(l);for(a=0;8>a;++a)b.multiplyVec4(l,f[a],c),h.set3(c[0]/c[3],c[1]/c[3],c[2]/c[3],d[a])},matrix2frustumPlanes:function(b,g,c,d){void 0===d&&(d=c,c=a);A.matrix2frustum(b,g,c);A.point2plane(c[4],c[0],c[3],d[0]);A.point2plane(c[1],c[5],c[6],d[1]);A.point2plane(c[4],c[5],c[1],d[2]);A.point2plane(c[3],
c[2],c[6],d[3]);A.point2plane(c[0],c[1],c[2],d[4]);A.point2plane(c[5],c[4],c[7],d[5])},point2plane:function(a,b,g,c){h.subtract(a,b,s);h.subtract(g,b,t);h.cross(t,s,c);h.normalize(c);c[3]=-h.dot(c,a)},project:function(a,g,d,e,f){f||(f=a);c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=1;b.multiplyVec4(g,c);2<f.length&&(f[2]=-c[2]);b.multiplyVec4(d,c);A.assert(0!==c[3]);f[0]=c[0]/c[3];f[1]=c[1]/c[3];f[2]=c[2]/c[3];f[0]=(0.5*f[0]+0.5)*e[2]+e[0];f[1]=(0.5*f[1]+0.5)*e[3]+e[1]},geodeticToGeocentricLatidude:function(a){return Math.atan((1-
A.ECCENTRICITY_SQUARED)*Math.tan(a))},latLon2positionWGS84Ellipsoid:function(a,b,g,c){var d=6378137/Math.sqrt(1-A.ECCENTRICITY_SQUARED*Math.pow(Math.sin(a),2)),e=Math.cos(a);c[0]=(d+g)*Math.cos(b)*e;c[1]=(d*(1-A.ECCENTRICITY_SQUARED)+g)*Math.sin(a);c[2]=-(d+g)*Math.sin(b)*e},pos2latLon:function(a,b){var g=h.length(a);b[0]=Math.asin(A.clamp(a[1]/g,-1,1));var c=Math.cos(b[0]);b[1]=(0>a[2]?1:-1)*Math.acos(A.clamp(a[0]/(c*g),-1,1));b[0]=A.rad2deg(b[0]);b[1]=A.rad2deg(b[1]);b[2]=g},pos2latLonWGS84Ellipsoid:function(a,
b){var g=a[0],c=-a[2],d=a[1],e=Math.sqrt(Math.pow(6378137,2)*(1-A.ECCENTRICITY_SQUARED)),f=Math.sqrt((Math.pow(6378137,2)-Math.pow(e,2))/Math.pow(e,2)),p=Math.sqrt(Math.pow(g,2)+Math.pow(c,2)),m=Math.atan2(6378137*d,e*p),g=Math.atan2(c,g),d=Math.atan2(d+Math.pow(f,2)*e*Math.pow(Math.sin(m),3),p-6378137*A.ECCENTRICITY_SQUARED*Math.pow(Math.cos(m),3)),e=6378137/Math.sqrt(1-A.ECCENTRICITY_SQUARED*Math.pow(Math.sin(d),2)),p=p/Math.cos(d)-e+A.EARTH_RADIUS;b[0]=d;b[1]=g;b[2]=p},computeGlobeTransformation:function(a,
g,c){var d=A.deg2rad(a[0]);a=A.deg2rad(a[1]);A.latLon2position(d,a,v,g);b.translate(c,v);b.rotateY(c,0.5*Math.PI+a);b.rotateX(c,0.5*Math.PI-d);return c},readUInt16:function(a,b){return a[b]+(a[b+1]<<8)},readUInt32:function(a,b){return a[b]+(a[b+1]<<8)+(a[b+2]<<16)+(a[b+3]<<24)},setIfDefined:function(a,b,g){void 0!==b[a]&&(g[a]=b[a])},array2object:function(a,b){var g={},c,d;if(void 0!==b){c=0;for(d=a.length;c<d;++c)g[b(a[c])]=a[c]}else{c=0;for(d=a.length;c<d;++c)g[a[c]]=a[c]}return g},object2array:function(a){var b=
[],g;for(g in a)b.push(a[g]);return b},mergeObjects:function(a,b,g){void 0===g&&(g={});var c;if(g!==a)for(c in a)g[c]=a[c];if(g!==b)for(c in b)g[c]=b[c];return g},subtractObjects:function(a,b){var g={},c;for(c in a)void 0===b[c]&&(g[c]=a[c]);return g},intersectObjects:function(a,b){var g={},c;for(c in a)void 0!==b[c]&&(g[c]=a[c]);return g},getFirstObjectKey:function(a){for(var b in a)return b},getFirstObjectValue:function(a){return a[A.getFirstObjectKey(a)]},objectEmpty:function(a){for(var b in a)return!1;
return!0},arraysEqual:function(a,b){if(a.length!==b.length)return!1;for(var g=0,c=a.length;g<c;++g)if(a[g]!==b[g])return!1;return!0},arrayRemove:function(a,b){var g=a.indexOf(b);return-1!==g?(a[g]=a[a.length-1],a.pop(),b):null},byteBuffer2base64image:function(a,b,g,c,d){var e=4*b;A.assert(a.length===e*g,"buffer length must match image resolution");var f=document.createElement("canvas");f.width=b;f.height=g;var p=f.getContext("2d");b=p.getImageData(0,0,b,g);for(var m=b.data,h=0;h<g;++h)for(var l=h*
e,q=(g-1-h)*e,r=0;r<e;++r)m[l++]=a[q++];p.putImageData(b,0,0);return f.toDataURL(c,d)},cround:function(a){return Math.round(100*a)/100},logWithBase:function(a,b){return Math.log(a)/Math.log(b)},setMatrixTranslation:function(a,b){a[12]=b[0];a[13]=b[1];a[14]=b[2]},setMatrixTranslation3:function(a,b,g,c){a[12]=b;a[13]=g;a[14]=c},getMatrixTranslation:function(a,b){b=b||h.create();b[0]=a[12];b[1]=a[13];b[2]=a[14];return b},createTranslationMatrix:function(a,g){a=b.identity(a);A.setMatrixTranslation(a,
g);return a},fovx2fovy:function(a,b,g){return 2*Math.atan(g*Math.tan(0.5*a)/b)},fovy2fovx:function(a,b,g){return 2*Math.atan(b*Math.tan(0.5*a)/g)},fovx2fovd:function(a,b,g){return 2*Math.atan(Math.sqrt(b*b+g*g)*Math.tan(0.5*a)/b)},fovy2fovd:function(a,b,g){return 2*Math.atan(Math.sqrt(b*b+g*g)*Math.tan(0.5*a)/g)},fovd2fovx:function(a,b,g){return 2*Math.atan(b*Math.tan(0.5*a)/Math.sqrt(b*b+g*g))},fovd2fovy:function(a,b,g){return 2*Math.atan(g*Math.tan(0.5*a)/Math.sqrt(b*b+g*g))},nextHighestPowerOfTwo:function(a){--a;
for(var b=1;32>b;b<<=1)a|=a>>b;return a+1},linelineDistance3D:function(a,b,g,c){var d,e,f;u[0]=a[0]-g[0];u[1]=a[1]-g[1];u[2]=a[2]-g[2];q[0]=c[0]-g[0];q[1]=c[1]-g[1];q[2]=c[2]-g[2];if(1E-4>Math.abs(q.x)&&1E-4>Math.abs(q.y)&&1E-4>Math.abs(q.z))return[!1];r[0]=b[0]-a[0];r[1]=b[1]-a[1];r[2]=b[2]-a[2];if(1E-4>Math.abs(r.x)&&1E-4>Math.abs(r.y)&&1E-4>Math.abs(r.z))return[!1];b=u[0]*q[0]+u[1]*q[1]+u[2]*q[2];c=q[0]*r[0]+q[1]*r[1]+q[2]*r[2];d=u[0]*r[0]+u[1]*r[1]+u[2]*r[2];e=q[0]*q[0]+q[1]*q[1]+q[2]*q[2];f=
(r[0]*r[0]+r[1]*r[1]+r[2]*r[2])*e-c*c;if(1E-4>Math.abs(f))return[!1];d=(b*c-d*e)/f;b=(b+c*d)/e;m[0]=a[0]+d*r[0];m[1]=a[1]+d*r[1];m[2]=a[2]+d*r[2];w[0]=g[0]+b*q[0];w[1]=g[1]+b*q[1];w[2]=g[2]+b*q[2];return[!0,h.dist(m,w),m,w]},projectVectorVector2D:function(a,b,c){z[0]=b[0]-a[0];z[1]=b[1]-a[1];z[2]=0;y[0]=c[0]-a[0];y[1]=c[1]-a[1];y[2]=0;C[0]=c[0];C[1]=c[1];C[2]=0;b=h.dot(y,z);c=h.length(z);b/=c*c;p[0]=z[0]*b;p[1]=z[1]*b;x[0]=a[0]+p[0];x[1]=a[1]+p[1];h.subtract(C,x,g);a=h.length(g);b=h.length(y);c=h.length(z);
var d=h.length(p);if(d>b||d>c)a=Number.MAX_VALUE;return a}};A.performance=window.performance||{};A.performance.now=A.performance.now||A.performance.mozNow||A.performance.msNow||A.performance.oNow||A.performance.webkitNow||function(){return(new Date).getTime()};return A})},"esri/views/3d/webgl-engine/lib/gl-matrix":function(){define([],function(){var e={};(function(e,n){n(e,!0);n(e,!1)})(e,function(e,n){var h={};(function(){if("undefined"!=typeof Float32Array){var a=new Float32Array(1),b=new Int32Array(a.buffer);
h.invsqrt=function(c){a[0]=c;b[0]=1597463007-(b[0]>>1);var d=a[0];return d*(1.5-0.5*c*d*d)}}else h.invsqrt=function(a){return 1/Math.sqrt(a)}})();var d=Array;"undefined"!=typeof Float32Array&&(d=n?Float32Array:Array);var b={create:function(a){var b=new d(3);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2]):b[0]=b[1]=b[2]=0;return b},createFrom:function(a,b,c){var e=new d(3);e[0]=a;e[1]=b;e[2]=c;return e},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];return b},set3:function(a,b,c,d){d[0]=a;d[1]=b;d[2]=c;return d},
add:function(a,b,c){if(!c||a===c)return a[0]+=b[0],a[1]+=b[1],a[2]+=b[2],a;c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];return c},subtract:function(a,b,c){if(!c||a===c)return a[0]-=b[0],a[1]-=b[1],a[2]-=b[2],a;c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];return c},multiply:function(a,b,c){if(!c||a===c)return a[0]*=b[0],a[1]*=b[1],a[2]*=b[2],a;c[0]=a[0]*b[0];c[1]=a[1]*b[1];c[2]=a[2]*b[2];return c},max:function(a,b,c){c[0]=Math.max(a[0],b[0]);c[1]=Math.max(a[1],b[1]);c[2]=Math.max(a[2],b[2]);return c},
min:function(a,b,c){c[0]=Math.min(a[0],b[0]);c[1]=Math.min(a[1],b[1]);c[2]=Math.min(a[2],b[2]);return c},negate:function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];return b},scale:function(a,b,c){if(!c||a===c)return a[0]*=b,a[1]*=b,a[2]*=b,a;c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;return c},normalize:function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],f=Math.sqrt(c*c+d*d+e*e);if(f){if(1===f)return b[0]=c,b[1]=d,b[2]=e,b}else return b[0]=0,b[1]=0,b[2]=0,b;f=1/f;b[0]=c*f;b[1]=d*f;b[2]=e*f;return b},cross:function(a,
b,c){c||(c=a);var d=a[0],e=a[1];a=a[2];var f=b[0],m=b[1];b=b[2];c[0]=e*b-a*m;c[1]=a*f-d*b;c[2]=d*m-e*f;return c},length:function(a){var b=a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)},length2:function(a){var b=a[0],c=a[1];a=a[2];return b*b+c*c+a*a},dot:function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]},direction:function(a,b,c){c||(c=a);var d=a[0]-b[0],e=a[1]-b[1];a=a[2]-b[2];b=Math.sqrt(d*d+e*e+a*a);if(!b)return c[0]=0,c[1]=0,c[2]=0,c;b=1/b;c[0]=d*b;c[1]=e*b;c[2]=a*b;return c},lerp:function(a,
b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);d[2]=a[2]+c*(b[2]-a[2]);return d},dist:function(a,b){var c=b[0]-a[0],d=b[1]-a[1],e=b[2]-a[2];return Math.sqrt(c*c+d*d+e*e)},dist2:function(a,b){var c=b[0]-a[0],d=b[1]-a[1],e=b[2]-a[2];return c*c+d*d+e*e}},l=null,f=new d(4);b.unproject=function(a,b,c,d,e){e||(e=a);l||(l=q.create());var m=l;f[0]=2*(a[0]-d[0])/d[2]-1;f[1]=2*(a[1]-d[1])/d[3]-1;f[2]=2*a[2]-1;f[3]=1;q.multiply(c,b,m);if(!q.inverse(m))return null;q.multiplyVec4(m,f);if(0===
f[3])return null;e[0]=f[0]/f[3];e[1]=f[1]/f[3];e[2]=f[2]/f[3];return e};var c=b.createFrom(1,0,0),a=b.createFrom(0,1,0),s=b.createFrom(0,0,1);b.rotationTo=function(g,d,e){e||(e=r.create());var f=b.dot(g,d),h=b.create();if(1<=f)r.set(m,e);else if(-0.999999>f)b.cross(c,g,h),1E-6>h.length&&b.cross(a,g,h),1E-6>h.length&&b.cross(s,g,h),b.normalize(h),r.fromAxisAngle(h,Math.PI,e);else{var f=Math.sqrt(2*(1+f)),l=1/f;b.cross(g,d,h);e[0]=h[0]*l;e[1]=h[1]*l;e[2]=h[2]*l;e[3]=0.5*f;r.normalize(e)}1<e[3]?e[3]=
1:-1>e[3]&&(e[3]=-1);return e};var t=b.create(),v=b.create();b.project=function(a,c,d,e){e||(e=a);b.direction(c,d,t);b.subtract(a,c,v);a=b.dot(t,v);b.scale(t,a,e);b.add(e,c,e)};b.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+"]"};var u={create:function(a){var b=new d(9);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8]):b[0]=b[1]=b[2]=b[3]=b[4]=b[5]=b[6]=b[7]=b[8]=0;return b},createFrom:function(a,b,c,e,f,m,h,l,q){var r=new d(9);r[0]=a;r[1]=b;r[2]=c;
r[3]=e;r[4]=f;r[5]=m;r[6]=h;r[7]=l;r[8]=q;return r},determinant:function(a){var b=a[3],c=a[4],d=a[5],e=a[6],f=a[7],m=a[8];return a[0]*(m*c-d*f)+a[1]*(-m*b+d*e)+a[2]*(f*b-c*e)},inverse:function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],m=a[4],h=a[5],l=a[6],q=a[7],r=a[8],k=r*m-h*q,x=-r*f+h*l,w=q*f-m*l,n=c*k+d*x+e*w;if(!n)return null;n=1/n;b||(b=u.create());b[0]=k*n;b[1]=(-r*d+e*q)*n;b[2]=(h*d-e*m)*n;b[3]=x*n;b[4]=(r*c-e*l)*n;b[5]=(-h*c+e*f)*n;b[6]=w*n;b[7]=(-q*c+d*l)*n;b[8]=(m*c-d*f)*n;return b},multiply:function(a,
b,c){c||(c=a);var d=a[0],e=a[1],f=a[2],m=a[3],h=a[4],l=a[5],q=a[6],r=a[7];a=a[8];var k=b[0],x=b[1],u=b[2],w=b[3],n=b[4],s=b[5],t=b[6],v=b[7];b=b[8];c[0]=k*d+x*m+u*q;c[1]=k*e+x*h+u*r;c[2]=k*f+x*l+u*a;c[3]=w*d+n*m+s*q;c[4]=w*e+n*h+s*r;c[5]=w*f+n*l+s*a;c[6]=t*d+v*m+b*q;c[7]=t*e+v*h+b*r;c[8]=t*f+v*l+b*a;return c},multiplyVec2:function(a,b,c){c||(c=b);var d=b[0];b=b[1];c[0]=d*a[0]+b*a[3]+a[6];c[1]=d*a[1]+b*a[4]+a[7];return c},multiplyVec3:function(a,b,c){c||(c=b);var d=b[0],e=b[1];b=b[2];c[0]=d*a[0]+e*
a[3]+b*a[6];c[1]=d*a[1]+e*a[4]+b*a[7];c[2]=d*a[2]+e*a[5]+b*a[8];return c},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b},identity:function(a){a||(a=u.create());a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a},transpose:function(a,b){if(!b||a===b){var c=a[1],d=a[2],e=a[5];a[1]=a[3];a[2]=a[6];a[3]=c;a[5]=a[7];a[6]=d;a[7]=e;return a}b[0]=a[0];b[1]=a[3];b[2]=a[6];b[3]=a[1];b[4]=a[4];b[5]=a[7];b[6]=a[2];b[7]=
a[5];b[8]=a[8];return b},toMat4:function(a,b){b||(b=q.create());b[15]=1;b[14]=0;b[13]=0;b[12]=0;b[11]=0;b[10]=a[8];b[9]=a[7];b[8]=a[6];b[7]=0;b[6]=a[5];b[5]=a[4];b[4]=a[3];b[3]=0;b[2]=a[2];b[1]=a[1];b[0]=a[0];return b},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+"]"}},q={create:function(a){var b=new d(16);4===arguments.length?(b[0]=arguments[0],b[1]=arguments[1],b[2]=arguments[2],b[3]=arguments[3],b[4]=arguments[4],b[5]=arguments[5],
b[6]=arguments[6],b[7]=arguments[7],b[8]=arguments[8],b[9]=arguments[9],b[10]=arguments[10],b[11]=arguments[11],b[12]=arguments[12],b[13]=arguments[13],b[14]=arguments[14],b[15]=arguments[15]):a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]);return b},createFrom:function(a,b,c,e,f,m,h,l,q,r,k,x,u,w,n,s){var t=new d(16);t[0]=a;t[1]=b;t[2]=c;t[3]=e;t[4]=f;t[5]=m;t[6]=h;t[7]=
l;t[8]=q;t[9]=r;t[10]=k;t[11]=x;t[12]=u;t[13]=w;t[14]=n;t[15]=s;return t},createFromMatrixRowMajor:function(a){var b=new d(16);b[0]=a[0];b[4]=a[1];b[8]=a[2];b[12]=a[3];b[1]=a[4];b[5]=a[5];b[9]=a[6];b[13]=a[7];b[2]=a[8];b[6]=a[9];b[10]=a[10];b[14]=a[11];b[3]=a[12];b[7]=a[13];b[11]=a[14];b[15]=a[15];return b},createFromMatrix:function(a){var b=new d(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];
b[14]=a[14];b[15]=a[15];return b},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b},setRowMajor:function(a,b){b[0]=a[0];b[4]=a[1];b[8]=a[2];b[12]=a[3];b[1]=a[4];b[5]=a[5];b[9]=a[6];b[13]=a[7];b[2]=a[8];b[6]=a[9];b[10]=a[10];b[14]=a[11];b[3]=a[12];b[7]=a[13];b[11]=a[14];b[15]=a[15];return b},identity:function(a){a||(a=q.create());a[0]=1;a[1]=0;a[2]=0;
a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a},transpose:function(a,b){if(!b||a===b){var c=a[1],d=a[2],e=a[3],f=a[6],m=a[7],h=a[11];a[1]=a[4];a[2]=a[8];a[3]=a[12];a[4]=c;a[6]=a[9];a[7]=a[13];a[8]=d;a[9]=f;a[11]=a[14];a[12]=e;a[13]=m;a[14]=h;return a}b[0]=a[0];b[1]=a[4];b[2]=a[8];b[3]=a[12];b[4]=a[1];b[5]=a[5];b[6]=a[9];b[7]=a[13];b[8]=a[2];b[9]=a[6];b[10]=a[10];b[11]=a[14];b[12]=a[3];b[13]=a[7];b[14]=a[11];b[15]=a[15];return b},determinant:function(a){var b=
a[0],c=a[1],d=a[2],e=a[3],f=a[4],m=a[5],h=a[6],l=a[7],q=a[8],r=a[9],k=a[10],x=a[11],u=a[12],w=a[13],n=a[14];a=a[15];return u*r*h*e-q*w*h*e-u*m*k*e+f*w*k*e+q*m*n*e-f*r*n*e-u*r*d*l+q*w*d*l+u*c*k*l-b*w*k*l-q*c*n*l+b*r*n*l+u*m*d*x-f*w*d*x-u*c*h*x+b*w*h*x+f*c*n*x-b*m*n*x-q*m*d*a+f*r*d*a+q*c*h*a-b*r*h*a-f*c*k*a+b*m*k*a},inverse:function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],f=a[3],m=a[4],h=a[5],l=a[6],q=a[7],r=a[8],k=a[9],x=a[10],u=a[11],w=a[12],n=a[13],s=a[14],t=a[15],v=c*h-d*m,N=c*l-e*m,M=c*q-f*m,T=
d*l-e*h,U=d*q-f*h,W=e*q-f*l,X=r*n-k*w,O=r*s-x*w,S=r*t-u*w,ea=k*s-x*n,Y=k*t-u*n,ca=x*t-u*s,ba=v*ca-N*Y+M*ea+T*S-U*O+W*X;if(!ba)return null;ba=1/ba;b[0]=(h*ca-l*Y+q*ea)*ba;b[1]=(-d*ca+e*Y-f*ea)*ba;b[2]=(n*W-s*U+t*T)*ba;b[3]=(-k*W+x*U-u*T)*ba;b[4]=(-m*ca+l*S-q*O)*ba;b[5]=(c*ca-e*S+f*O)*ba;b[6]=(-w*W+s*M-t*N)*ba;b[7]=(r*W-x*M+u*N)*ba;b[8]=(m*Y-h*S+q*X)*ba;b[9]=(-c*Y+d*S-f*X)*ba;b[10]=(w*U-n*M+t*v)*ba;b[11]=(-r*U+k*M-u*v)*ba;b[12]=(-m*ea+h*O-l*X)*ba;b[13]=(c*ea-d*O+e*X)*ba;b[14]=(-w*T+n*N-s*v)*ba;b[15]=
(r*T-k*N+x*v)*ba;return b},toRotationMat:function(a,b){b||(b=q.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b},toMat3:function(a,b){b||(b=u.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[4];b[4]=a[5];b[5]=a[6];b[6]=a[8];b[7]=a[9];b[8]=a[10];return b},toInverseMat3:function(a,b){var c=a[0],d=a[1],e=a[2],f=a[4],m=a[5],h=a[6],l=a[8],q=a[9],r=a[10],k=r*m-h*q,x=-r*f+h*l,w=q*f-
m*l,n=c*k+d*x+e*w;if(!n)return null;n=1/n;b||(b=u.create());b[0]=k*n;b[1]=(-r*d+e*q)*n;b[2]=(h*d-e*m)*n;b[3]=x*n;b[4]=(r*c-e*l)*n;b[5]=(-h*c+e*f)*n;b[6]=w*n;b[7]=(-q*c+d*l)*n;b[8]=(m*c-d*f)*n;return b},multiply:function(a,b,c){c||(c=a);var d=a[0],e=a[1],f=a[2],m=a[3],h=a[4],l=a[5],q=a[6],r=a[7],k=a[8],x=a[9],u=a[10],w=a[11],n=a[12],s=a[13],t=a[14];a=a[15];var v=b[0],N=b[1],M=b[2],T=b[3],U=b[4],W=b[5],X=b[6],O=b[7],S=b[8],ea=b[9],Y=b[10],ca=b[11],ba=b[12],qa=b[13],ka=b[14];b=b[15];c[0]=v*d+N*h+M*k+
T*n;c[1]=v*e+N*l+M*x+T*s;c[2]=v*f+N*q+M*u+T*t;c[3]=v*m+N*r+M*w+T*a;c[4]=U*d+W*h+X*k+O*n;c[5]=U*e+W*l+X*x+O*s;c[6]=U*f+W*q+X*u+O*t;c[7]=U*m+W*r+X*w+O*a;c[8]=S*d+ea*h+Y*k+ca*n;c[9]=S*e+ea*l+Y*x+ca*s;c[10]=S*f+ea*q+Y*u+ca*t;c[11]=S*m+ea*r+Y*w+ca*a;c[12]=ba*d+qa*h+ka*k+b*n;c[13]=ba*e+qa*l+ka*x+b*s;c[14]=ba*f+qa*q+ka*u+b*t;c[15]=ba*m+qa*r+ka*w+b*a;return c},multiplyVec3:function(a,b,c){c||(c=b);var d=b[0],e=b[1];b=b[2];c[0]=a[0]*d+a[4]*e+a[8]*b+a[12];c[1]=a[1]*d+a[5]*e+a[9]*b+a[13];c[2]=a[2]*d+a[6]*e+
a[10]*b+a[14];return c},multiplyVec4:function(a,b,c){c||(c=b);var d=b[0],e=b[1],f=b[2];b=b[3];c[0]=a[0]*d+a[4]*e+a[8]*f+a[12]*b;c[1]=a[1]*d+a[5]*e+a[9]*f+a[13]*b;c[2]=a[2]*d+a[6]*e+a[10]*f+a[14]*b;c[3]=a[3]*d+a[7]*e+a[11]*f+a[15]*b;return c},translate:function(a,b,c){var d=b[0],e=b[1];b=b[2];var f,m,h,l,q,r,k,x,u,w,n,s;if(!c||a===c)return a[12]=a[0]*d+a[4]*e+a[8]*b+a[12],a[13]=a[1]*d+a[5]*e+a[9]*b+a[13],a[14]=a[2]*d+a[6]*e+a[10]*b+a[14],a[15]=a[3]*d+a[7]*e+a[11]*b+a[15],a;f=a[0];m=a[1];h=a[2];l=a[3];
q=a[4];r=a[5];k=a[6];x=a[7];u=a[8];w=a[9];n=a[10];s=a[11];c[0]=f;c[1]=m;c[2]=h;c[3]=l;c[4]=q;c[5]=r;c[6]=k;c[7]=x;c[8]=u;c[9]=w;c[10]=n;c[11]=s;c[12]=f*d+q*e+u*b+a[12];c[13]=m*d+r*e+w*b+a[13];c[14]=h*d+k*e+n*b+a[14];c[15]=l*d+x*e+s*b+a[15];return c},scale:function(a,b,c){var d=b[0],e=b[1];b=b[2];if(!c||a===c)return a[0]*=d,a[1]*=d,a[2]*=d,a[3]*=d,a[4]*=e,a[5]*=e,a[6]*=e,a[7]*=e,a[8]*=b,a[9]*=b,a[10]*=b,a[11]*=b,a;c[0]=a[0]*d;c[1]=a[1]*d;c[2]=a[2]*d;c[3]=a[3]*d;c[4]=a[4]*e;c[5]=a[5]*e;c[6]=a[6]*e;
c[7]=a[7]*e;c[8]=a[8]*b;c[9]=a[9]*b;c[10]=a[10]*b;c[11]=a[11]*b;c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15];return c},maxScale:function(a){var b=Math.sqrt(a[0]*a[0]+a[4]*a[4]+a[8]*a[8]),c=Math.sqrt(a[1]*a[1]+a[5]*a[5]+a[9]*a[9]);a=Math.sqrt(a[2]*a[2]+a[6]*a[6]+a[10]*a[10]);return Math.max(Math.max(b,c),a)},rotate:function(a,b,c,d){var e=c[0],f=c[1];c=c[2];var m=Math.sqrt(e*e+f*f+c*c),h,l,q,r,k,x,u,w,n,s,t,v,N,M,T,U,W,X,O,S;if(!m)return null;1!==m&&(m=1/m,e*=m,f*=m,c*=m);h=Math.sin(b);l=Math.cos(b);
q=1-l;b=a[0];m=a[1];r=a[2];k=a[3];x=a[4];u=a[5];w=a[6];n=a[7];s=a[8];t=a[9];v=a[10];N=a[11];M=e*e*q+l;T=f*e*q+c*h;U=c*e*q-f*h;W=e*f*q-c*h;X=f*f*q+l;O=c*f*q+e*h;S=e*c*q+f*h;e=f*c*q-e*h;f=c*c*q+l;d?a!==d&&(d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15]):d=a;d[0]=b*M+x*T+s*U;d[1]=m*M+u*T+t*U;d[2]=r*M+w*T+v*U;d[3]=k*M+n*T+N*U;d[4]=b*W+x*X+s*O;d[5]=m*W+u*X+t*O;d[6]=r*W+w*X+v*O;d[7]=k*W+n*X+N*O;d[8]=b*S+x*e+s*f;d[9]=m*S+u*e+t*f;d[10]=r*S+w*e+v*f;d[11]=k*S+n*e+N*f;return d},rotateX:function(a,b,c){var d=
Math.sin(b);b=Math.cos(b);var e=a[4],f=a[5],m=a[6],h=a[7],l=a[8],q=a[9],r=a[10],k=a[11];c?a!==c&&(c[0]=a[0],c[1]=a[1],c[2]=a[2],c[3]=a[3],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[4]=e*b+l*d;c[5]=f*b+q*d;c[6]=m*b+r*d;c[7]=h*b+k*d;c[8]=e*-d+l*b;c[9]=f*-d+q*b;c[10]=m*-d+r*b;c[11]=h*-d+k*b;return c},rotateY:function(a,b,c){var d=Math.sin(b);b=Math.cos(b);var e=a[0],f=a[1],m=a[2],h=a[3],l=a[8],q=a[9],r=a[10],k=a[11];c?a!==c&&(c[4]=a[4],c[5]=a[5],c[6]=a[6],c[7]=a[7],c[12]=a[12],c[13]=a[13],
c[14]=a[14],c[15]=a[15]):c=a;c[0]=e*b+l*-d;c[1]=f*b+q*-d;c[2]=m*b+r*-d;c[3]=h*b+k*-d;c[8]=e*d+l*b;c[9]=f*d+q*b;c[10]=m*d+r*b;c[11]=h*d+k*b;return c},rotateZ:function(a,b,c){var d=Math.sin(b);b=Math.cos(b);var e=a[0],f=a[1],m=a[2],h=a[3],l=a[4],q=a[5],r=a[6],k=a[7];c?a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10],c[11]=a[11],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[0]=e*b+l*d;c[1]=f*b+q*d;c[2]=m*b+r*d;c[3]=h*b+k*d;c[4]=e*-d+l*b;c[5]=f*-d+q*b;c[6]=m*-d+r*b;c[7]=h*-d+k*b;return c},frustum:function(a,
b,c,d,e,f,m){m||(m=q.create());var h=b-a,l=d-c,r=f-e;m[0]=2*e/h;m[1]=0;m[2]=0;m[3]=0;m[4]=0;m[5]=2*e/l;m[6]=0;m[7]=0;m[8]=(b+a)/h;m[9]=(d+c)/l;m[10]=-(f+e)/r;m[11]=-1;m[12]=0;m[13]=0;m[14]=-(2*f*e)/r;m[15]=0;return m},perspective:function(a,b,c,d,e){a=c*Math.tan(a*Math.PI/360);b*=a;return q.frustum(-b,b,-a,a,c,d,e)},ortho:function(a,b,c,d,e,f,m){m||(m=q.create());var h=b-a,l=d-c,r=f-e;m[0]=2/h;m[1]=0;m[2]=0;m[3]=0;m[4]=0;m[5]=2/l;m[6]=0;m[7]=0;m[8]=0;m[9]=0;m[10]=-2/r;m[11]=0;m[12]=-(a+b)/h;m[13]=
-(d+c)/l;m[14]=-(f+e)/r;m[15]=1;return m},lookAt:function(a,b,c,d){d||(d=q.create());var e,f,m,h,l,r,k,x,u=a[0],w=a[1];a=a[2];m=c[0];h=c[1];f=c[2];k=b[0];c=b[1];e=b[2];if(u===k&&w===c&&a===e)return q.identity(d);b=u-k;c=w-c;k=a-e;x=1/Math.sqrt(b*b+c*c+k*k);b*=x;c*=x;k*=x;e=h*k-f*c;f=f*b-m*k;m=m*c-h*b;(x=Math.sqrt(e*e+f*f+m*m))?(x=1/x,e*=x,f*=x,m*=x):m=f=e=0;h=c*m-k*f;l=k*e-b*m;r=b*f-c*e;(x=Math.sqrt(h*h+l*l+r*r))?(x=1/x,h*=x,l*=x,r*=x):r=l=h=0;d[0]=e;d[1]=h;d[2]=b;d[3]=0;d[4]=f;d[5]=l;d[6]=c;d[7]=
0;d[8]=m;d[9]=r;d[10]=k;d[11]=0;d[12]=-(e*u+f*w+m*a);d[13]=-(h*u+l*w+r*a);d[14]=-(b*u+c*w+k*a);d[15]=1;return d},fromRotationTranslation:function(a,b,c){c||(c=q.create());var d=a[0],e=a[1],f=a[2],m=a[3],h=d+d,l=e+e,r=f+f;a=d*h;var k=d*l,d=d*r,x=e*l,e=e*r,f=f*r,h=m*h,l=m*l,m=m*r;c[0]=1-(x+f);c[1]=k+m;c[2]=d-l;c[3]=0;c[4]=k-m;c[5]=1-(a+f);c[6]=e+h;c[7]=0;c[8]=d+l;c[9]=e-h;c[10]=1-(a+x);c[11]=0;c[12]=b[0];c[13]=b[1];c[14]=b[2];c[15]=1;return c},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+
a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+"]"}},r={create:function(a){var b=new d(4);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):b[0]=b[1]=b[2]=b[3]=0;return b},createFrom:function(a,b,c,e){var f=new d(4);f[0]=a;f[1]=b;f[2]=c;f[3]=e;return f},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b},identity:function(a){a||(a=r.create());a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a}},m=r.identity();r.calculateW=
function(a,b){var c=a[0],d=a[1],e=a[2];if(!b||a===b)return a[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e)),a;b[0]=c;b[1]=d;b[2]=e;b[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e));return b};r.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};r.inverse=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],c=(c=c*c+d*d+e*e+f*f)?1/c:0;if(!b||a===b)return a[0]*=-c,a[1]*=-c,a[2]*=-c,a[3]*=c,a;b[0]=-a[0]*c;b[1]=-a[1]*c;b[2]=-a[2]*c;b[3]=a[3]*c;return b};r.conjugate=function(a,b){if(!b||a===b)return a[0]*=-1,a[1]*=
-1,a[2]*=-1,a;b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=a[3];return b};r.length=function(a){var b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)};r.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],f=a[3],m=Math.sqrt(c*c+d*d+e*e+f*f);if(0===m)return b[0]=0,b[1]=0,b[2]=0,b[3]=0,b;m=1/m;b[0]=c*m;b[1]=d*m;b[2]=e*m;b[3]=f*m;return b};r.add=function(a,b,c){if(!c||a===c)return a[0]+=b[0],a[1]+=b[1],a[2]+=b[2],a[3]+=b[3],a;c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];return c};
r.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],f=a[2];a=a[3];var m=b[0],h=b[1],l=b[2];b=b[3];c[0]=d*b+a*m+e*l-f*h;c[1]=e*b+a*h+f*m-d*l;c[2]=f*b+a*l+d*h-e*m;c[3]=a*b-d*m-e*h-f*l;return c};r.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],f=b[2];b=a[0];var m=a[1],h=a[2];a=a[3];var l=a*d+m*f-h*e,q=a*e+h*d-b*f,r=a*f+b*e-m*d,d=-b*d-m*e-h*f;c[0]=l*a+d*-b+q*-h-r*-m;c[1]=q*a+d*-m+r*-b-l*-h;c[2]=r*a+d*-h+l*-m-q*-b;return c};r.scale=function(a,b,c){if(!c||a===c)return a[0]*=b,a[1]*=b,a[2]*=b,
a[3]*=b,a;c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c};r.toMat3=function(a,b){b||(b=u.create());var c=a[0],d=a[1],e=a[2],f=a[3],m=c+c,h=d+d,l=e+e,q=c*m,r=c*h,c=c*l,k=d*h,d=d*l,e=e*l,m=f*m,h=f*h,f=f*l;b[0]=1-(k+e);b[1]=r+f;b[2]=c-h;b[3]=r-f;b[4]=1-(q+e);b[5]=d+m;b[6]=c+h;b[7]=d-m;b[8]=1-(q+k);return b};r.toMat4=function(a,b){b||(b=q.create());var c=a[0],d=a[1],e=a[2],f=a[3],m=c+c,h=d+d,l=e+e,r=c*m,k=c*h,c=c*l,x=d*h,d=d*l,e=e*l,m=f*m,h=f*h,f=f*l;b[0]=1-(x+e);b[1]=k+f;b[2]=c-h;b[3]=0;b[4]=
k-f;b[5]=1-(r+e);b[6]=d+m;b[7]=0;b[8]=c+h;b[9]=d-m;b[10]=1-(r+x);b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b};r.slerp=function(a,b,c,d){d||(d=a);var e=a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3],f,m;if(1<=Math.abs(e))return d!==a&&(d[0]=a[0],d[1]=a[1],d[2]=a[2],d[3]=a[3]),d;f=Math.acos(e);m=Math.sqrt(1-e*e);if(0.001>Math.abs(m))return d[0]=0.5*a[0]+0.5*b[0],d[1]=0.5*a[1]+0.5*b[1],d[2]=0.5*a[2]+0.5*b[2],d[3]=0.5*a[3]+0.5*b[3],d;e=Math.sin((1-c)*f)/m;c=Math.sin(c*f)/m;d[0]=a[0]*e+b[0]*c;d[1]=a[1]*
e+b[1]*c;d[2]=a[2]*e+b[2]*c;d[3]=a[3]*e+b[3]*c;return d};r.fromRotationMatrix=function(a,b){b||(b=r.create());var c=a[0]+a[4]+a[8],d;if(0<c)d=Math.sqrt(c+1),b[3]=0.5*d,d=0.5/d,b[0]=(a[7]-a[5])*d,b[1]=(a[2]-a[6])*d,b[2]=(a[3]-a[1])*d;else{d=r.fromRotationMatrix.s_iNext=r.fromRotationMatrix.s_iNext||[1,2,0];c=0;a[4]>a[0]&&(c=1);a[8]>a[3*c+c]&&(c=2);var e=d[c],f=d[e];d=Math.sqrt(a[3*c+c]-a[3*e+e]-a[3*f+f]+1);b[c]=0.5*d;d=0.5/d;b[3]=(a[3*f+e]-a[3*e+f])*d;b[e]=(a[3*e+c]+a[3*c+e])*d;b[f]=(a[3*f+c]+a[3*
c+f])*d}return b};u.toQuat4=r.fromRotationMatrix;(function(){var a=u.create();r.fromAxes=function(b,c,d,e){a[0]=c[0];a[3]=c[1];a[6]=c[2];a[1]=d[0];a[4]=d[1];a[7]=d[2];a[2]=b[0];a[5]=b[1];a[8]=b[2];return r.fromRotationMatrix(a,e)}})();r.identity=function(a){a||(a=r.create());a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};r.fromAngleAxis=function(a,b,c){c||(c=r.create());a*=0.5;var d=Math.sin(a);c[3]=Math.cos(a);c[0]=d*b[0];c[1]=d*b[1];c[2]=d*b[2];return c};r.toAngleAxis=function(a,b){b||(b=a);var c=a[0]*a[0]+
a[1]*a[1]+a[2]*a[2];0<c?(b[3]=2*Math.acos(a[3]),c=h.invsqrt(c),b[0]=a[0]*c,b[1]=a[1]*c,b[2]=a[2]*c):(b[3]=0,b[0]=1,b[1]=0,b[2]=0);return b};r.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"};var w={create:function(a){var b=new d(4);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):b[0]=b[1]=b[2]=b[3]=0;return b},createFrom:function(a,b,c,e){var f=new d(4);f[0]=a;f[1]=b;f[2]=c;f[3]=e;return f},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b},identity:function(a){a||(a=
w.create());a[0]=1;a[1]=0;a[2]=0;a[3]=1;return a},transpose:function(a,b){if(!b||a===b){var c=a[1];a[1]=a[2];a[2]=c;return a}b[0]=a[0];b[1]=a[2];b[2]=a[1];b[3]=a[3];return b},determinant:function(a){return a[0]*a[3]-a[2]*a[1]},inverse:function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],f=a[3],m=c*f-e*d;if(!m)return null;m=1/m;b[0]=f*m;b[1]=-d*m;b[2]=-e*m;b[3]=c*m;return b},multiply:function(a,b,c){c||(c=a);var d=a[0],e=a[1],f=a[2];a=a[3];c[0]=d*b[0]+e*b[2];c[1]=d*b[1]+e*b[3];c[2]=f*b[0]+a*b[2];c[3]=f*
b[1]+a*b[3];return c},rotate:function(a,b,c){c||(c=a);var d=a[0],e=a[1],f=a[2];a=a[3];var m=Math.sin(b);b=Math.cos(b);c[0]=d*b+e*m;c[1]=d*-m+e*b;c[2]=f*b+a*m;c[3]=f*-m+a*b;return c},multiplyVec2:function(a,b,c){c||(c=b);var d=b[0];b=b[1];c[0]=d*a[0]+b*a[1];c[1]=d*a[2]+b*a[3];return c},scale:function(a,b,c){c||(c=a);var d=a[1],e=a[2],f=a[3],m=b[0];b=b[1];c[0]=a[0]*m;c[1]=d*b;c[2]=e*m;c[3]=f*b;return c},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"}},x=n?"":"d";e["glMath"+x]=h;e["vec2"+
x]={create:function(a){var b=new d(2);a?(b[0]=a[0],b[1]=a[1]):(b[0]=0,b[1]=0);return b},createFrom:function(a,b){var c=new d(2);c[0]=a;c[1]=b;return c},add:function(a,b,c){c||(c=b);c[0]=a[0]+b[0];c[1]=a[1]+b[1];return c},subtract:function(a,b,c){c||(c=b);c[0]=a[0]-b[0];c[1]=a[1]-b[1];return c},multiply:function(a,b,c){c||(c=b);c[0]=a[0]*b[0];c[1]=a[1]*b[1];return c},divide:function(a,b,c){c||(c=b);c[0]=a[0]/b[0];c[1]=a[1]/b[1];return c},scale:function(a,b,c){c||(c=a);c[0]=a[0]*b;c[1]=a[1]*b;return c},
dist:function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return Math.sqrt(c*c+d*d)},dist2:function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return c*c+d*d},set:function(a,b){b[0]=a[0];b[1]=a[1];return b},set2:function(a,b,c){c[0]=a;c[1]=b;return c},negate:function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];return b},normalize:function(a,b){b||(b=a);var c=a[0]*a[0]+a[1]*a[1];0<c?(c=Math.sqrt(c),b[0]=a[0]/c,b[1]=a[1]/c):b[0]=b[1]=0;return b},cross:function(a,b,c){a=a[0]*b[1]-a[1]*b[0];if(!c)return a;c[0]=c[1]=0;c[2]=a;return c},
length:function(a){var b=a[0];a=a[1];return Math.sqrt(b*b+a*a)},dot:function(a,b){return a[0]*b[0]+a[1]*b[1]},direction:function(a,b,c){c||(c=a);var d=a[0]-b[0];a=a[1]-b[1];b=d*d+a*a;if(!b)return c[0]=0,c[1]=0,c[2]=0,c;b=1/Math.sqrt(b);c[0]=d*b;c[1]=a*b;return c},lerp:function(a,b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);return d},str:function(a){return"["+a[0]+", "+a[1]+"]"}};e["vec3"+x]=b;e["vec4"+x]={create:function(a){var b=new d(4);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):
(b[0]=0,b[1]=0,b[2]=0,b[3]=0);return b},createFrom:function(a,b,c,e){var f=new d(4);f[0]=a;f[1]=b;f[2]=c;f[3]=e;return f},add:function(a,b,c){c||(c=b);c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];return c},subtract:function(a,b,c){c||(c=b);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];return c},multiply:function(a,b,c){c||(c=b);c[0]=a[0]*b[0];c[1]=a[1]*b[1];c[2]=a[2]*b[2];c[3]=a[3]*b[3];return c},divide:function(a,b,c){c||(c=b);c[0]=a[0]/b[0];c[1]=a[1]/b[1];c[2]=a[2]/
b[2];c[3]=a[3]/b[3];return c},scale:function(a,b,c){c||(c=a);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c},dot:function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b},set4:function(a,b,c,d,e){e[0]=a;e[1]=b;e[2]=c;e[3]=d;return e},negate:function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];return b},lerp:function(a,b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);d[2]=a[2]+c*(b[2]-a[2]);
d[3]=a[3]+c*(b[3]-a[3]);return d},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"}};e["mat2"+x]=w;e["mat3"+x]=u;e["mat4"+x]=q;e["quat4"+x]=r});return e})},"esri/views/3d/webgl-engine/lib/RenderGeometry":function(){define(["require","exports","./gl-matrix"],function(e,k,n){var h=n.vec3d,d=n.mat4d;return function(){function b(b,d,c,a,e,k,n,u,q,r,m){this.data=b;this.boundingInfo=d;this.material=c;this.origin=null;this.center=h.create();this.bsRadius=0;this.transformation=null;a&&this.updateTransformation(a,
e);this.castShadow=k;this.singleUse=n;this.name=u;this.uniqueName=q;this.idx=r;this.canBeMerged=!0;this.componentIdx=m;this.instanceParameters=this.displayedIndexRange=void 0}b.prototype.updateTransformation=function(b,e){e=e||d.maxScale(b);this.transformation=b;d.multiplyVec3(b,this.boundingInfo.getCenter(),this.center);this.bsRadius=this.boundingInfo.getBSRadius()*e};return b}()})},"esri/views/3d/webgl-engine/parts/View":function(){define("require exports ../lib/GLTextureRep ../lib/GLMaterialRep ../lib/ShaderSnippets ../lib/GLSLShaderRep ../lib/TextureRenderer ../lib/gl-matrix ../lib/webgl-utils ./Model ./Viewport ../materials/repository ../lib/SSAOHelperObscurance ../lib/HighlightHelper ../lib/OffscreenRenderingHelper ../lib/tracer ../../../webgl/RenderingContext ../lib/ProgramRepository ../../../support/screenshotUtils".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w,x){var g=f.vec3d,p=f.vec4d;e=function(){function e(b,c,d,f){var m=this;this._backgroundColor=p.createFrom(1,1,1,1);this._lightDirection=g.createFrom(0,1,0);this._didRender=!1;this._idleSuspend=this._needsRender=!0;this._shouldRender=!1;this._screenCaptureQueue=[];this._container=b;this._stage=c;this._initializeContext(f);this._initializeShaders();this._textureRep=new n(c.getAll(a.ContentType.TEXTURE),this._programRepository,function(){return m._viewport.getCamera().viewport},
this._rctx);this._materialRep=new h(this._textureRep,this._programRepository);this._viewport=new s(this._programRepository,this._materialRep,this._textureRep,this._rctx);this._initializeViewportCamera();this._textureRenderer=new l(this._rctx,this._canvas,this._programRepository,this._materialRep,this._textureRep,d);this._initializeFrameTask()}e.prototype._initializeFrameTask=function(){var a=this;this._frameTask={preRender:function(){r.begin();a._stage.processDirty();a.needsRender()?(a._shouldRender=
!0,a._viewport.getCamera().setGLViewport(a._rctx),a._rctx.setClearColor.apply(a._rctx,a._backgroundColor),a._rctx.clear(16640)):a._shouldRender=!1},render:function(){a._shouldRender&&(a._didRender=!0,a._viewport.render(a._lightDirection,null))},postRender:function(){r.end()},update:function(){a._performScreenCaptures();a.resetNeedsRender()}}};e.prototype._initializeViewportCamera=function(){var a=this._container.getBoundingClientRect(),b=this._viewport.getCamera();b.viewport[2]=a.width;b.viewport[3]=
a.height;this._viewport.setCamera(b)};e.prototype._initializeContext=function(a){this._canvas=a.canvas;this._canvas||(this._canvas=document.createElement("canvas"));this._canvas.setAttribute("style","width: 100%; height:100%; display:block;");var b=c.setupWebGL(this._canvas,{alpha:a.alpha||!1,antialias:!1,depth:!0,stencil:null==a.stencil?!0:a.stencil});this._gl=r.instrumentContext(b[0]);this._rctx=new m(b[0],{disabledExtensions:a.deactivatedWebGLExtensions});this._container.appendChild(this._canvas)};
e.prototype._initializeShaders=function(){this._shaderSnippets=new d;this._shaderRep=new b;this._programRepository=new w;t.initializeShaders(this._shaderSnippets,this._shaderRep,this._programRepository,this._rctx);u.loadShaders(this._shaderSnippets,this._shaderRep,this._programRepository,this._rctx);v.loadShaders(this._shaderSnippets,this._shaderRep,this._programRepository,this._rctx);q.loadShaders(this._shaderSnippets,this._shaderRep,this._programRepository,this._rctx)};e.prototype.dispose=function(){this._viewport.dispose();
this._viewport=null;this._textureRenderer.dispose();this._textureRenderer=null;this._programRepository.dispose();this._programRepository=null;this._container.contains(this._canvas)&&this._container.removeChild(this._canvas);this._gl=this._canvas=this._container=null};e.prototype.getCombinedStats=function(){return this._viewport.getCombinedStats()};e.prototype.setNeedsRender=function(){this._didRender=!1;this._needsRender=!0};e.prototype.resetNeedsRender=function(){this._didRender&&(this._didRender=
this._needsRender=!1);this._viewport.resetNeedsRender();this._textureRep.resetNeedsRender()};e.prototype.needsRender=function(){return this._needsRender||!this._idleSuspend||this._viewport.needsRender()||this._textureRep.needsRender()};e.prototype.getFrameTask=function(){return this._frameTask};e.prototype.setLights=function(a,b){g.set(b.direction,this._lightDirection);p.set4(a.color[0],a.color[1],a.color[2],a.intensity,z.ambient);p.set4(b.color[0],b.color[1],b.color[2],b.intensity,z.diffuse);p.set4(b.color[0],
b.color[1],b.color[2],Math.min(b.intensity+a.intensity,1),z.specular);g.set(b.direction,z.direction);this._viewport.setLightingData(z);this._needsRender=!0};e.prototype.getViewParams=function(a){var b=this._viewport.getViewParams(a);if(!a||a.backgroundColor)b.backgroundColor=this._backgroundColor;return b};e.prototype.setViewParams=function(a){this._needsRender=!0;a.backgroundColor&&(this._backgroundColor=a.backgroundColor);this._viewport.setViewParams(a)};e.prototype.setRenderParams=function(a){this._needsRender=
!0;void 0!==a.idleSuspend&&(this._idleSuspend=!!a.idleSuspend);this._viewport.setRenderParams(a)};e.prototype.getRenderParams=function(){var a=this._viewport.getRenderParams();a.anisotropicFiltering=this._textureRep.getMaxAnisotropy();a.idleSuspend=this._idleSuspend;return a};e.prototype.has=function(a){return"s3tc"===a?!!this._rctx.extensions.compressedTextureS3TC:"standardDerivatives"===a?!!this._rctx.extensions.standardDerivatives:"shaderTextureLOD"===a?!!this._rctx.extensions.shaderTextureLOD:
"angleInstancedArrays"===a?!!this._rctx.extensions.angleInstancedArrays:!1};e.prototype.getFrustumObjects=function(){return this._viewport.getFrustumObjects()};e.prototype.modify=function(a,b,c,d){this._viewport.modify(a,b,c,d)};e.prototype.setSelectionObject=function(a,b){this._viewport.setSelectionObject(a,b)};e.prototype.setCamera=function(a){this._viewport.setCamera(a)};e.prototype.getCamera=function(){return this._viewport.getCamera()};e.prototype.getPickRay=function(a,b,c){this._viewport.getPickRay(a,
b,c)};e.prototype.pickRayWithBeginPoint=function(a,b,c,d,g){this._viewport.pickRayWithBeginPoint(a,b,c,d,g)};e.prototype.getCanvas=function(){return this._canvas};e.prototype.getTextureGraphicsRenderer=function(){return this._textureRenderer};e.prototype.requestScreenCapture=function(a,b){this._screenCaptureQueue.push({settings:a||{},callback:b});this._needsRender=!0};e.prototype.getAllTexturesLoaded=function(){return 0===this._textureRep.getLoadingCount()};e.prototype.getTextureLoaded=function(a){return this._textureRep.getIsLoaded(a)};
e.prototype.addTextureListener=function(a){this._textureRep.addTextureListener(a)};e.prototype.removeTextureListener=function(a){this._textureRep.removeTextureListener(a)};e.prototype.addExternalRenderer=function(a,b){return this._viewport.addExternalRenderer(a,b)?(b.initializeRenderContext({rctx:this._rctx,gl:this._rctx.gl,shaderSnippets:this._shaderSnippets,shaderRep:this._shaderRep,programRep:this._programRepository,textureRep:this._textureRep}),!0):!1};e.prototype.removeExternalRenderer=function(a){return this._viewport.removeExternalRenderer(a)?
(a.uninitializeRenderContext({rctx:this._rctx,gl:this._rctx.gl}),!0):!1};e.prototype._performScreenCaptures=function(){if(0!==this._screenCaptureQueue.length){for(var a=0;a<this._screenCaptureQueue.length;a++){var b=this._screenCaptureQueue[a],c=0,d=0,g=this._canvas.width,e=this._canvas.height,f=this._canvas.width,m=this._canvas.height;if(f=b.settings.area)c=f.x,d=f.y,g=f.width,e=f.height;void 0!==b.settings.width&&void 0!==b.settings.height?(f=b.settings.width/b.settings.height,e*f<g?(f*=e,c+=Math.floor((g-
f)/2),g=Math.floor(f)):(f=g/f,d+=Math.floor((e-f)/2),e=Math.floor(f)),f=b.settings.width,m=b.settings.height):(f=g,m=e);var h=this._canvas;if(0!==c||0!==d||g!==this._canvas.width||e!==this._canvas.height||f!==this._canvas.width||m!==this._canvas.height){this._resizeCanvas||(this._resizeCanvas=document.createElement("canvas"));this._resizeCanvas.width=f;this._resizeCanvas.height=m;var h=this._resizeCanvas.getContext("2d"),p=new Uint8Array(4*g*e);this._gl.readPixels(c,this._canvas.height-(d+e),g,e,
6408,5121,p);c=h.getImageData(0,0,f,m);x.resampleHermite(p,g,e,c.data,f,m,!0);h.putImageData(c,0,0);h=this._resizeCanvas}g={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg"}[b.settings.format?b.settings.format.toLowerCase():"png"];e=1;void 0!==b.settings.quality&&(e=b.settings.quality/100);g=h.toDataURL(g,e);b.callback({dataURL:g,x:0,y:0,width:f,height:m})}this._screenCaptureQueue=[]}};return e}();var z={ambient:p.create(),diffuse:p.create(),specular:p.create(),direction:g.create()};return e})},
"esri/views/3d/webgl-engine/lib/GLTextureRep":function(){define(["require","exports","./Util","../../../webgl/Texture","../../../webgl/enums"],function(e,k,n,h,d){var b=function(){function b(d){this._glTexture=null;this._refCount=0;this._glTexture=d}b.prototype.incRefCnt=function(){++this._refCount};b.prototype.decRefCnt=function(){--this._refCount;n.assert(0<=this._refCount)};b.prototype.getRefCnt=function(){return this._refCount};b.prototype.setGLTexture=function(b){this._glTexture=b};b.prototype.getGLTexture=
function(){return this._glTexture};return b}();return function(){function d(b,c,a,e){this.NUM_PARALLEL=8;this.textures=b;this._programRepository=c;this.getViewportToRestore=a;this._rctx=e;this.NUM_PARALLEL=8;this.id2textureRef={};this.loading={};this._queue=[];this.listeners=[];this.maxMaxAnisotropy=(this.afExt=e.extensions.textureFilterAnisotropic)?e.parameters.maxMaxAnisotropy:1;this.maxAnisotropy=Math.min(8,this.maxMaxAnisotropy);this._needsRender=!0;this._fallbackTextureData=new Uint8Array(256);
this._fallbackTextureTransparentData=new Uint8Array(256);b=0;for(c=this._fallbackTextureData.length;b<c;++b)this._fallbackTextureData[b]=255,this._fallbackTextureTransparentData[b]=0!==(b+1)%4?255:0;this._fallbackTextureDesc={target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,width:8,height:8,maxAnisotropy:8}}d.prototype.resetNeedsRender=function(){this._needsRender=!1};d.prototype.needsRender=function(){return this._needsRender};d.prototype.aquire=function(d,c,a,e){var l=this,k=this.id2textureRef[d];
if(null==k){c=this.textures[d];n.assert(void 0!==c);c.setUnloadFunc(this._unload.bind(this));a=!0===a;var u=this._createGLTextureDescription(c),k=new b(a?new h(this._rctx,this._fallbackTextureDesc,this._fallbackTextureTransparentData):new h(this._rctx,this._fallbackTextureDesc,this._fallbackTextureData));n.assert(null==this.id2textureRef[d]);this.id2textureRef[d]=k;c.initializeThroughRender?(d=c.initializeThroughRender(this._rctx,u),k.setGLTexture(d),e&&e(k)):c.deferredLoading()?this.getLoadingCount()<
this.NUM_PARALLEL?this._loadImage(d,u,e):this._queue.push([d,u,e]):c.initializeThroughUpload(this._rctx,u,this._programRepository,this.getViewportToRestore(),function(a){k.setGLTexture(a);l._needsRender=!0;e&&e(k)});this._needsRender=!0}k.incRefCnt();return k};d.prototype.release=function(b){b=this.id2textureRef[b];void 0!==b&&(b.decRefCnt(),n.assert(0<=b.getRefCnt()))};d.prototype.getLoadingCount=function(){return Object.keys(this.loading).length};d.prototype.getIsLoaded=function(b){if(null==this.id2textureRef[b]||
void 0!==this.loading[b])return!1;for(var c=0,a=this._queue.length;c<a;++c)if(this._queue[c][0]===b)return!1;return!0};d.prototype.addTextureListener=function(b){n.assert(-1===this.listeners.indexOf(b));this.listeners.push(b)};d.prototype.removeTextureListener=function(b){b=this.listeners.indexOf(b);n.assert(-1!==b);this.listeners.splice(b,1)};d.prototype.getTexture=function(b){return this.textures[b]};d.prototype.getMaxAnisotropy=function(){return this.maxAnisotropy};d.prototype._unload=function(b){var c=
this.id2textureRef[b];void 0!==c&&(c.getGLTexture().dispose(),delete this.id2textureRef[b]);this.next(b)};d.prototype._createGLTextureDescription=function(b){return{target:3553,pixelFormat:6408,dataType:5121,maxAnisotropy:this.afExt&&b.params&&b.params.mipmap&&!b.params.disableAnisotropy?this.maxAnisotropy:void 0,wrapMode:b.params&&b.params.wrapClamp?33071:void 0}};d.prototype.next=function(b){if(b in this.loading){delete this.loading[b];var c=Object.keys(this.id2textureRef),a=Object.keys(this.loading);
this.listeners.forEach(function(d){d(b,c,a)});this.processQueue()}};d.prototype._loadImage=function(b,c,a){var d=this;n.assert(null==this.loading[b]);this.loading[b]=!0;var e=this.textures[b];n.assert(void 0!==e);setTimeout(function(){var h=d.id2textureRef[b];h&&h.getRefCnt()&&e.initializeThroughUpload(d._rctx,c,d._programRepository,d.getViewportToRestore(),function(c){d.next(b);d._needsRender=!0;h&&h.getRefCnt()&&(h.setGLTexture(c),a&&a(h))})},0)};d.prototype.processQueue=function(){for(var b=[],
c=0,a=this._queue.length;c<a;++c){var d=this._queue[c][0],e=this.id2textureRef[d];void 0!==e&&(0===e.getRefCnt()?(e.getGLTexture().dispose(),delete this.id2textureRef[d]):b.push(this._queue[c]))}this._queue=b;b=Math.min(this.NUM_PARALLEL-Object.keys(this.loading).length,this._queue.length);for(c=0;c<b;++c)this._loadImage(this._queue[c][0],this._queue[c][1],this._queue[c][2]);this._queue.splice(0,b)};return d}()})},"esri/views/webgl/Texture":function(){define(["require","exports"],function(e,k){return function(){function e(h,
d,b){this._glName=this._context=null;this._id=-1;this._desc=void 0;this._wrapModeDirty=this._samplingModeDirty=!1;this._context=h;this._desc={pixelFormat:d.pixelFormat,dataType:d.dataType,target:d.target?d.target:3553,samplingMode:d.samplingMode?d.samplingMode:9729,wrapMode:d.wrapMode?d.wrapMode:10497,maxAnisotropy:d.maxAnisotropy,flipped:void 0!==d.flipped?d.flipped:!1,hasMipmap:void 0!==d.hasMipmap?d.hasMipmap:!1,level:void 0!==d.level?d.level:0,unpackAlignment:d.unpackAlignment?d.unpackAlignment:
4,width:d.width,height:d.height};this._id=++e._nextId;this.setData(b)}Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"glName",{get:function(){return this._glName},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"descriptor",{get:function(){return this._desc},enumerable:!0,configurable:!0});e.prototype.dispose=function(){this._context&&this._glName&&(this._context.gl.deleteTexture(this._glName),
this._glName=null)};e.prototype.resize=function(e,d){var b=this._desc;b.width===e&&b.height===d||(b.width=e,b.height=d,this.setData(null))};e.prototype.setData=function(h){var d=this._context.gl;this._glName||(this._glName=d.createTexture());void 0===h&&(h=null);null===h&&(this._desc.width=this._desc.width||4,this._desc.height=this._desc.height||4);var b=this._context.getBoundTexture(0);this._context.bindTexture(this,0);var l=this._desc;e._validateTexture(l);d.pixelStorei(d.UNPACK_ALIGNMENT,l.unpackAlignment);
d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,l.flipped?1:0);h instanceof ImageData||h instanceof HTMLImageElement||h instanceof HTMLCanvasElement||h instanceof HTMLVideoElement?(l.width&&l.height&&console.assert(h.width===l.width&&h.height===l.height),d.texImage2D(d.TEXTURE_2D,l.level,l.pixelFormat,l.pixelFormat,l.dataType,h),void 0===this._desc.width&&(this._desc.width=h.width),void 0===this._desc.height&&(this._desc.height=h.height)):((null==l.width||null==l.height)&&console.error("Width and height must be specified!"),
d.texImage2D(d.TEXTURE_2D,l.level,l.pixelFormat,l.width,l.height,0,l.pixelFormat,l.dataType,h));l.hasMipmap&&this.generateMipmap();e._applySamplingMode(d,this._desc);e._applyWrapMode(d,this._desc);e._applyAnisotropicFilteringParameters(this._context,this._desc);this._context.bindTexture(b,0)};e.prototype.updateData=function(e,d,b,l,f,c){c||console.error("An attempt to use uninitialized data!");this._glName||console.error("An attempt to update uninitialized texture!");var a=this._context.gl,k=this._desc,
n=this._context.getBoundTexture(0);this._context.bindTexture(this,0);(0>d||0>b||l>k.width||f>k.height||d+l>k.width||b+f>k.height)&&console.error("An attempt to update out of bounds of the texture!");c instanceof ImageData||c instanceof HTMLImageElement||c instanceof HTMLCanvasElement||c instanceof HTMLVideoElement?(console.assert(c.width===l&&c.height===f),a.texSubImage2D(a.TEXTURE_2D,e,d,b,k.pixelFormat,k.dataType,c)):a.texSubImage2D(a.TEXTURE_2D,e,d,b,l,f,k.pixelFormat,k.dataType,c);this._context.bindTexture(n,
0)};e.prototype.generateMipmap=function(){var h=this._desc;h.hasMipmap||(h.hasMipmap=!0,e._validateTexture(h));9729===h.samplingMode?(this._samplingModeDirty=!0,h.samplingMode=9985):9728===h.samplingMode&&(this._samplingModeDirty=!0,h.samplingMode=9984);h=this._context.getBoundTexture(0);this._context.bindTexture(this,0);var d=this._context.gl;d.generateMipmap(d.TEXTURE_2D);this._context.bindTexture(h,0)};e.prototype.setSamplingMode=function(h){h!==this._desc.samplingMode&&(this._desc.samplingMode=
h,e._validateTexture(this._desc),this._samplingModeDirty=!0)};e.prototype.setWrapMode=function(h){h!==this._desc.wrapMode&&(this._desc.wrapMode=h,e._validateTexture(this._desc),this._wrapModeDirty=!0)};e.prototype.applyChanges=function(){var h=this._context.gl,d=this._desc;this._samplingModeDirty&&(e._applySamplingMode(h,d),this._samplingModeDirty=!1);this._wrapModeDirty&&(e._applyWrapMode(h,d),this._wrapModeDirty=!1)};e._isPowerOfTwo=function(e){return 0===(e&e-1)};e._validateTexture=function(h){(0>
h.width||0>h.height)&&console.error("Negative dimension parameters are not allowed!");if(!e._isPowerOfTwo(h.width)||!e._isPowerOfTwo(h.height))33071!==h.wrapMode&&console.error("Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!"),h.hasMipmap&&console.error("Mipmapping requires power-of-two textures!")};e._applySamplingMode=function(e,d){var b=d.samplingMode;if(9985===b||9987===b)b=9729;else if(9984===b||9986===b)b=9728;e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,b);e.texParameteri(e.TEXTURE_2D,
e.TEXTURE_MIN_FILTER,d.samplingMode)};e._applyWrapMode=function(e,d){e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,d.wrapMode);e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,d.wrapMode)};e._applyAnisotropicFilteringParameters=function(e,d){if(null!=d.maxAnisotropy){var b=e.extensions.textureFilterAnisotropic;if(b){var l=e.gl;l.texParameterf(l.TEXTURE_2D,b.TEXTURE_MAX_ANISOTROPY_EXT,d.maxAnisotropy)}}};e._nextId=0;return e}()})},"esri/views/webgl/enums":function(){define(["require","exports"],function(e,
k){k.BASE_TEXTURE_UNIT=33984})},"esri/views/3d/webgl-engine/lib/GLMaterialRep":function(){define(["require","exports","./Util"],function(e,k,n){var h=function(){function d(b){this.refCnt=0;this.glMaterial=b}d.prototype.incRefCnt=function(){++this.refCnt};d.prototype.decRefCnt=function(){--this.refCnt;n.assert(0<=this.refCnt)};d.prototype.getRefCnt=function(){return this.refCnt};d.prototype.getGLMaterial=function(){return this.glMaterial};return d}();return function(){function d(b,d){this.textureRep=
b;this.programRep=d;this.id2glMaterialRef={}}d.prototype.aquire=function(b){return this.aquireExt(b,"color")};d.prototype.aquireDepthShadowMap=function(b){return this.aquireExt(b,"depthShadowMap")};d.prototype.aquireDepth=function(b){return this.aquireExt(b,"depth")};d.prototype.aquireNormal=function(b){return this.aquireExt(b,"normal")};d.prototype.aquireHighlight=function(b){return this.aquireExt(b,"highlight")};d.prototype.aquireExt=function(b,d){var e;e=b.getId()+"_"+d;var c=this.id2glMaterialRef[e],
a;null==c?(a=(c=b.getGLMaterials()[d])?new c(b,this.programRep,this.textureRep):void 0,c=new h(a),this.id2glMaterialRef[e]=c):a=c.getGLMaterial();c.incRefCnt();a&&this.increaseProgramReferences(a);return a};d.prototype.release=function(b){this.releaseExt(b,"color")};d.prototype.releaseDepth=function(b){this.releaseExt(b,"depth")};d.prototype.releaseNormal=function(b){this.releaseExt(b,"normal")};d.prototype.releaseDepthShadowMap=function(b){this.releaseExt(b,"depthShadowMap")};d.prototype.releaseHighlight=
function(b){this.releaseExt(b,"highlight")};d.prototype.releaseExt=function(b,d){var e=b+"_"+d,c=this.id2glMaterialRef[e];c.decRefCnt();if(0===c.getRefCnt()){if(c=c.getGLMaterial())this.decreaseProgramReferences(c),void 0!==c.dispose&&c.dispose();delete this.id2glMaterialRef[e]}};d.prototype.updateMaterialParameters=function(b){var d=this.id2glMaterialRef[b+"_color"];d&&d.getGLMaterial()&&this.updateParamsForMat(d.getGLMaterial());(d=this.id2glMaterialRef[b+"_depth"])&&d.getGLMaterial()&&this.updateParamsForMat(d.getGLMaterial());
(d=this.id2glMaterialRef[b+"_depthShadowMap"])&&d.getGLMaterial()&&this.updateParamsForMat(d.getGLMaterial());(d=this.id2glMaterialRef[b+"_normal"])&&d.getGLMaterial()&&this.updateParamsForMat(d.getGLMaterial());(b=this.id2glMaterialRef[b+"_highlight"])&&b.getGLMaterial()&&this.updateParamsForMat(b.getGLMaterial())};d.prototype.updateParamsForMat=function(b){b.updateParameters&&b.updateParameters()};d.prototype.increaseProgramReferences=function(b){if(b.getAllPrograms){b=b.getAllPrograms();for(var d=
0;d<b.length;d++)this.programRep.increaseRefCount(b[d])}else this.programRep.increaseRefCount(b.getProgram())};d.prototype.decreaseProgramReferences=function(b){if(b.getAllPrograms){b=b.getAllPrograms();for(var d=0;d<b.length;d++)this.programRep.decreaseRefCount(b[d])}else this.programRep.decreaseRefCount(b.getProgram())};return d}()})},"esri/views/3d/webgl-engine/lib/ShaderSnippets":function(){define(["require","exports","./Util","dojox/xml/parser"],function(e,k,n,h){return function(){function d(){var b=
n.VertexAttrConstants,d;for(d in b)this[b[d]]=n.VertexAttrConstants[d]}d.prototype._parse=function(b){b=h.parse(b).getElementsByTagName("snippet");for(var d=/\$[a-zA-Z0-9]+[ \t]*/,e=/[\$\s]+/g,c=0;c<b.length;c++){var a=b[c].getAttribute("name");n.assert(null==this[a]);for(var k=b[c].textContent,t=void 0;null!==(t=k.match(d));){var v=this[t[0].replace(e,"")];n.assert(void 0!==v);k=k.replace(t[0],v)}this[a]=k}};return d}()})},"dojox/xml/parser":function(){define(["dojo/_base/kernel","dojo/_base/lang",
"dojo/_base/array","dojo/_base/window","dojo/_base/sniff"],function(e){e.getObject("xml.parser",!0,dojox);dojox.xml.parser.parse=function(k,n){var h=e.doc,d;n=n||"text/xml";if(k&&e.trim(k)&&"DOMParser"in e.global){d=(new DOMParser).parseFromString(k,n);h=d.documentElement;if("parsererror"==h.nodeName&&"http://www.mozilla.org/newlayout/xml/parsererror.xml"==h.namespaceURI){var b=h.getElementsByTagNameNS("http://www.mozilla.org/newlayout/xml/parsererror.xml","sourcetext")[0];b&&(b=b.firstChild.data);
throw Error("Error parsing text "+h.firstChild.data+" \n"+b);}return d}if("ActiveXObject"in e.global){h=function(b){return"MSXML"+b+".DOMDocument"};h=["Microsoft.XMLDOM",h(6),h(4),h(3),h(2)];e.some(h,function(b){try{d=new ActiveXObject(b)}catch(c){return!1}return!0});if(k&&d&&(d.async=!1,d.loadXML(k),h=d.parseError,0!==h.errorCode))throw Error("Line: "+h.line+"\nCol: "+h.linepos+"\nReason: "+h.reason+"\nError Code: "+h.errorCode+"\nSource: "+h.srcText);if(d)return d}else if(h.implementation&&h.implementation.createDocument){if(k&&
e.trim(k)&&h.createElement){b=h.createElement("xml");b.innerHTML=k;var l=h.implementation.createDocument("foo","",null);e.forEach(b.childNodes,function(b){l.importNode(b,!0)});return l}return h.implementation.createDocument("","",null)}return null};dojox.xml.parser.textContent=function(k,n){if(1<arguments.length)return dojox.xml.parser.replaceChildren(k,(k.ownerDocument||e.doc).createTextNode(n)),n;if(void 0!==k.textContent)return k.textContent;var h="";k&&e.forEach(k.childNodes,function(d){switch(d.nodeType){case 1:case 5:h+=
dojox.xml.parser.textContent(d);break;case 3:case 2:case 4:h+=d.nodeValue}});return h};dojox.xml.parser.replaceChildren=function(k,n){var h=[];e.isIE&&e.forEach(k.childNodes,function(d){h.push(d)});dojox.xml.parser.removeChildren(k);e.forEach(h,e.destroy);e.isArray(n)?e.forEach(n,function(d){k.appendChild(d)}):k.appendChild(n)};dojox.xml.parser.removeChildren=function(e){for(var n=e.childNodes.length;e.hasChildNodes();)e.removeChild(e.firstChild);return n};dojox.xml.parser.innerXML=function(e){return e.innerXML?
e.innerXML:e.xml?e.xml:"undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(e):null};return dojox.xml.parser})},"esri/views/3d/webgl-engine/lib/GLSLShaderRep":function(){define(["require","exports","./Util"],function(e,k,n){return function(){function e(){this.shaders={}}e.prototype.add=function(d,b){n.assert(null==this.shaders[d]);this.shaders[d]=b};e.prototype.get=function(d){n.assert(void 0!==this.shaders[d]);return this.shaders[d]};return e}()})},"esri/views/3d/webgl-engine/lib/TextureRenderer":function(){define("require exports ./Renderer ./Camera ./Util ./gl-matrix ../materials/internal/TexOnlyGLMaterial ../../../webgl/Texture ../../../webgl/FramebufferObject ../../../webgl/VertexArrayObject ../../../webgl/BufferObject ../../../webgl/Util ../../../webgl/enums ./DefaultVertexBufferLayouts ./DefaultVertexAttributeLocations".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q){var r=b.vec3d,m=b.vec4d,w=b.mat4d;e=function(){function b(a,c,d,g,e,f){this._acquiredTextures={};this._clearColor=m.createFrom(0,0,0,0);this._id2origin={};this._rctx=a;this._canvas=c;this._programRep=d;this._materialRep=g;this._textureRep=e;this._modelDirtySet=f;this._renderer=new n(d,g,e,this._rctx,!0);this._renderer.setLightingData({ambient:[1,1,1,1],diffuse:[0,0,0,0],specular:[0,0,0,0],direction:[0,-1,0]})}b.prototype.dispose=function(){for(var a in this._acquiredTextures)this._acquiredTextures[a].fbo.dispose(),
this._textureRep.release(a);this._acquiredTextures=null;this._renderer.dispose();this._renderer=null};b.prototype.addRenderGeometries=function(a){var b=this;a.forEach(function(a){null==a.origin&&(a.origin=b.getOrigin(a.center,a.bsRadius))});this._renderer.modify(a,[])};b.prototype.removeRenderGeometries=function(a){this._renderer.modify([],a)};b.prototype.updateRenderGeometries=function(a,b){var c=a.map(function(a){return{renderGeometry:a,updateType:b}});this._renderer.modify([],[],c,{})};b.prototype.updateRenderOrder=
function(a){0<Object.keys(a).length&&this._renderer.modifyRenderOrder(a)};b.prototype.setBackgroundColor=function(a){this._clearColor=a};b.prototype.isEmpty=function(){return this._renderer.isEmpty()};b.prototype.processDirtyMaterials=function(){var a=this._modelDirtySet.getDirtyMaterials();a&&this._renderer.modify([],[],[],a);this._modelDirtySet.clearDirtyMaterials()};b.prototype.draw=function(a,b){this.processDirtyMaterials();var d=a.id.toString(),e,f=this._rctx,m=f.gl;if(this._acquiredTextures[d])e=
this._acquiredTextures[d].fbo;else{var h=this._textureRep.aquire(d).getGLTexture();e=c.createWithAttachments(this._rctx,h,{colorTarget:0,depthStencilTarget:0});h=Object.keys(this._acquiredTextures).length;this._acquiredTextures[d]={texture:a,fbo:e,idx:h}}var h=b.width,l=b.height;if(e.width!==h||e.height!==l)e.resize(h,l),e.colorTexture.setSamplingMode(9729);z.near=1;z.far=1E4;f.bindFramebuffer(e);f.setDepthTestEnabled(!1);f.setBlendFunctionSeparate(770,771,1,771);f.setClearColor.apply(f,this._clearColor);
f.clear(m.COLOR_BUFFER_BIT);this._renderer.setPixelRatio(b.pixelRatio||1);for(m=0;m<b.views.length;m++)e=b.views[m],z.viewport=e.viewport,w.ortho(0,e.extent[2]-e.extent[0],0,e.extent[3]-e.extent[1],z.near,z.far,z.projectionMatrix),w.identity(z.viewMatrix),w.translate(z.viewMatrix,[-e.extent[0],-e.extent[1],0]),z.setGLViewport(this._rctx),x&&this._drawTestTexture(h,l,g[this._acquiredTextures[d].idx%g.length]),this._renderer.render(z,p);f.setDepthTestEnabled(!0);f.setBlendFunctionSeparate(770,771,1,
771);f.bindFramebuffer(null);f.setViewport(0,0,this._canvas.width,this._canvas.height)};b.prototype._drawTestTexture=function(b,c,d){var g=this._rctx,e=g.gl;if(!this._testPatternMat){for(var m=new Uint8Array(4*b*c),h=0,p=0;p<c;p++)for(var r=0;r<b;r++){var k=Math.floor(r/10),x=Math.floor(p/10);2>k||2>x||10*k>b-20||10*x>c-20?(m[h++]=255,m[h++]=255,m[h++]=255,m[h++]=255):(m[h++]=255,m[h++]=255,m[h++]=255,k&1&&x&1?m[h++]=r&1^p&1?0:255:m[h++]=k&1^x&1?0:128)}b=new f(g,{target:3553,pixelFormat:6408,dataType:5121,
samplingMode:9728,width:b,height:c},m);this._testPatternMat=new l(this._programRep,b,[1,1,1,1],!0,e.ALWAYS);this._testPatternBindParams={proj:w.identity(),view:w.identity(),nearFar:[-1,1],origin:[0,0,0]};e=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,-1,1,0,0,1,1,1,0,1,1]);this._quadVAO=new a(g,q.Default3D,{geometry:u.Pos3Tex},{geometry:s.createVertex(g,35044,e)})}this._testPatternMat.setColor([d[0],d[1],d[2],1]);this._testPatternMat.bind(g,this._testPatternBindParams);this._testPatternMat.bindView(g,
this._testPatternBindParams);g.bindVAO(this._quadVAO);g.drawArrays(5,0,t.vertexCount(this._quadVAO,"geometry"));this._testPatternMat.release(g)};b.prototype.getOrigin=function(a,b){var c=0,g=10*b/1E4;1<g&&(c=Math.ceil(d.logWithBase(g,2)));var g=1E4*Math.pow(2,c),e=Math.round(a[0]/g),f=Math.round(a[1]/g),m=Math.round(a[2]/g),c=c+"_"+e+"_"+f+"_"+m,h=this._id2origin[c];null==h&&(h={vec3:r.createFrom(e*g,f*g,m*g),id:c},this._id2origin[c]=h);return h};return b}();var x=!1,g=[[1,0.5,0.5],[0.5,0.5,1],[0.5,
1,0.5]],p={get:function(){return!0}},z=new h;return e})},"esri/views/3d/webgl-engine/lib/Renderer":function(){define("require exports ./IntervalUtilities ./ModelDirtyTypesTs ./Float32ArrayList ./InstanceBufferData ./Lighting ../materials/internal/SimpleGLMaterial ../materials/internal/TexOnlyGLMaterial ./LinearDepthTextureHelper ./NormalTextureHelper ./HighlightTextureHelper ./RenderPass ./RenderSlot ./RenderContext ./ExternalRendererContainer ./StencilRenderingHelper ./BitSet ./Util ./gl-matrix ../../../webgl/Texture ../../../webgl/VertexArrayObject ../../../webgl/BufferObject ../../../webgl/Util ./FxaaRenderPass ./SmaaRenderPass ../../../webgl/enums ./DefaultVertexBufferLayouts ./DefaultVertexAttributeLocations".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q,r,m,w,x,g,p,z,y,C,A,B,K,F,G){var P=x.assert,Q=x.array2object,H=x.objectEmpty,D=x.getFirstObjectValue,L=x.setMatrixTranslation3;e=g.vec2d;k=g.vec3d;var E=g.vec4d,I=g.mat4d,R=x.VertexAttrConstants,V=I.identity();x=k.create();var N=1535,M={proj:V,view:V,nearFar:[-1,1],origin:x};x=function(){function g(b,c,d,e,h){this._lighting=new l;this._mat2dataMerged={};this._mat2dataInstanced={};this._renderOrder=[];this._externalRenderers=new r;this._renderContext=new q;this._framesRendered=
0;this._isRendering=!1;this._pixelRatio=1;this._threshold=N;this._needsRender=!0;this._stats=new T;this.ssaoEnabled=!1;this.renderOptions={antialiasing:"smaa",earlyOcclusionPixelDraw:!1};this._programRep=b;this._materialRep=c;this._textureRep=d;this._orderedRendering=h;this._rctx=e;c=e.gl;this._fxaaPass=new A(e);this._smaaPass=new B(e);this._selectionMaterial=new f(b,E.createFrom(0.1,0.2,0.9,0.4),c.EQUAL);this._selectionMaterialLines=new f(b,E.createFrom(0.1,0.2,0.9,0.4),c.EQUAL,c.LINES);this._renderContext.lightingData=
this._lighting.get();e.setDepthTestEnabled(!0);e.setFaceCullingEnabled(!0);e.setBlendingEnabled(!1);e.setBlendFunctionSeparate(770,771,1,771);this._bindParameters={view:null,proj:null,viewInvTransp:null,nearFar:null,lightingData:null,viewport:null,framebufferTex:null,shadowMap:null,origin:null,pixelRatio:null,instanceParameters:null,depthFBO:null,normalFBO:null,extensions:{angleInstancedArrays:e.extensions.angleInstancedArrays}};this._linearDepthTextureHelper=new a(e);this._normalTextureHelper=new s(e);
this._highlightTextureHelper=new t(e);this._stencilRenderingHelper=new m(e);this._initializeFramebufferTexture();this._initializeIeTextureFix()}g.prototype._initializeQuadVAO=function(){if(!this._quadVAO){var a=this._rctx,b=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,-1,1,0,0,1,1,1,0,1,1]);this._quadVAO=new z(a,G.Default3D,{geometry:F.Pos3Tex},{geometry:y.createVertex(a,35044,b)})}};g.prototype._initializeFramebufferTexture=function(){var a=this._rctx.gl,a=this._rctx.contextAttributes.alpha?a.RGBA:a.RGB,
b=new p(this._rctx,{target:3553,pixelFormat:a,dataType:5121,samplingMode:9728,wrapMode:33071,width:4,height:4});this._framebuffer={format:a,texture:b,copied:!1}};g.prototype._initializeIeTextureFix=function(){if(6408===this._framebuffer.format){for(var a=new Uint8Array(64),b=0;64>b;b++)a[b]=255;this._ieFixTexture=new p(this._rctx,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,width:4,height:4});this._ieFixMaterial=new c(this._programRep,this._ieFixTexture,E.createFrom(1,1,1,1),!0,519)}};
g.prototype.dispose=function(){for(var a in this._mat2dataMerged){this._releaseMaterials(a);var b=this._mat2dataMerged[a],c;for(c in b.origin2data)b.origin2data[c].vao.dispose(!0)}this._mat2dataMerged=null;for(a in this._mat2dataInstanced)for(c in this._releaseMaterials(a),b=this._mat2dataInstanced[a],b.origin2data)b.origin2data[c].vao.dispose(!0);this._mat2dataInstanced=null;this._quadVAO&&(this._quadVAO.dispose(!0),this._quadVAO=null);this._ieFixTexture&&(this._ieFixTexture.dispose(),this._ieFixTexture=
null);this._framebuffer.texture.dispose();this._framebuffer.texture=null;this._linearDepthTextureHelper.getEnableState()&&this._linearDepthTextureHelper.disable();this._normalTextureHelper.getEnableState()&&this._normalTextureHelper.disable();this._highlightTextureHelper.getEnableState()&&this._highlightTextureHelper.setEnableState(!1);this._stencilRenderingHelper.getEnableState()&&this._stencilRenderingHelper.setEnableState(!1)};g.prototype.setLightingData=function(a){this._lighting.set(a);this._needsRender=
!0};g.prototype.getLightingData=function(){return this._lighting.get()};g.prototype.setPixelRatio=function(a){this._pixelRatio=a;this._needsRender=!0};g.prototype.getPixelRatio=function(){return this._pixelRatio};g.prototype.addExternalRenderer=function(a,b){this._externalRenderers.addRenderer(a,b);return!0};g.prototype.removeExternalRenderer=function(a){this._externalRenderers.removeRenderer(a);return!0};g.prototype.getExternalRenderers=function(){return this._externalRenderers};g.prototype.resetNeedsRender=
function(){this._needsRender=!1;this._externalRenderers.resetNeedsRender()};g.prototype.needsRender=function(){return this._needsRender||this._externalRenderers.needsRender()};g.prototype.getCombinedStats=function(){this._stats.VBOallocatedSize=0;this._stats.VBOoptimalSize=0;this._stats.VBOusedSize=0;for(var a in this._mat2dataInstanced){var b=this._mat2dataInstanced[a],c;for(c in b.origin2data){var d=b.origin2data[c];this._stats.VBOallocatedSize+=d.buffer.getArray().length;this._stats.VBOusedSize+=
d.buffer.getSize();this._stats.VBOoptimalSize+=d.optimalCount}}for(a in this._mat2dataMerged)for(c in b=this._mat2dataMerged[a],b.origin2data)d=b.origin2data[c],this._stats.VBOallocatedSize+=d.buffer.getArray().length,this._stats.VBOusedSize+=d.buffer.getSize(),this._stats.VBOoptimalSize+=d.optimalCount;this._stats.VBOallocatedSize*=0.00390625;this._stats.VBOusedSize*=0.00390625;this._stats.VBOoptimalSize*=0.00390625;return this._stats};g.prototype.setSelectionObject=function(a,b){a?(Array.isArray(a)?
this._selectionIndices=this._name2indices(Q(a)):this._selectionIndices=this._name2indices(Q([a])),this._selectionFaceIndexRange=void 0,null!=b&&1===b.length&&(this._selectionFaceIndexRange=[[3*b[0][0],3*b[0][1]]])):this._selectionFaceIndexRange=this._selectionIndices=void 0;this._needsRender=!0};g.prototype.renderGeometrySlots=function(a){this._externalRenderers.render(u.INTERNAL_MATERIAL,a);this._renderInternalSlot(u.STENCIL_MATERIAL,a);this._externalRenderers.render(u.OPAQUE_TERRAIN,a);this._renderInternalSlot(u.OPAQUE_MATERIAL,
a);this._externalRenderers.render(u.OPAQUE_EXTERNAL,a);a.ssaoHelper&&a.ssaoHelper.bindAll(this._programRep);this._renderInternalSlot(u.TRANSPARENT_MATERIAL,a);this.renderOptions.earlyOcclusionPixelDraw&&this._renderInternalSlot(u.OCCLUSION_PIXELS,this._renderContext);this._externalRenderers.render(u.TRANSPARENT_EXTERNAL,a);a.ssaoHelper&&a.ssaoHelper.bindAll(this._programRep);this._externalRenderers.render(u.TRANSPARENT_TERRAIN,a)};g.prototype._renderHighlights=function(a,b,c,d){var g=!!d&&d.getEnableState()&&
void 0!==this._selectionIndices;this._highlightTextureHelper.setEnableState(g);g&&(this._highlightTextureHelper.setupFBOs(a),this._highlightTextureHelper.prepareHighlightPass(),this.renderGeometryPass(v.MATERIAL_HIGHLIGHT,a,b,this._selectionIndices,this._selectionFaceIndexRange),this._rctx.clear(this._rctx.gl.DEPTH_BUFFER_BIT),this._renderInternalSlot(u.OVERLAY,this._renderContext),this._highlightTextureHelper.finish(c),b=this._highlightTextureHelper.getHighlightFBO(),d.render(a,c,b))};g.prototype._renderUnordered=
function(a,b,c,d,g,e,f){var m=this._rctx;this._isRendering=!0;this._stats.reset();this._framebuffer.copied=!1;this._updateGlobalUniforms(a.projectionMatrix);this._renderContext.pass=v.MATERIAL;this._renderContext.camera=a;this._renderContext.shadowMap=c;this._renderContext.ssaoHelper=d;this._renderContext.offscreenRenderingHelper=e;this._renderContext.stencilRenderingHelper=this._stencilRenderingHelper;this._renderContext.depth=this._linearDepthTextureHelper.getDepthFBO();this._renderContext.normals=
this._normalTextureHelper.getNormalFBO();this._renderContext.highlight=this._highlightTextureHelper.getHighlightFBO();this._renderContext.visibleContent=b;this._renderContext.filterContent=null;this._renderContext.filterFaceRange=null;this._renderContext.options=this.renderOptions;this._renderContext.rctx=this._rctx;e.setEnableState(!0);e.initializeFrame(a);this._externalRenderers.render(u.BACKGROUND,this._renderContext);this.renderGeometrySlots(this._renderContext);this._externalRenderers.render(u.POSTPROCESSING_ATMOSPHERE,
this._renderContext);switch(this.renderOptions.antialiasing){case "none":c=a.viewport;c=I.ortho(c[0],c[2],c[1],c[3],-1,1);e.drawQuad(c);this._fxaaPass.disable();this._smaaPass.disable();break;case "fxaa":this._smaaPass.disable();this._fxaaPass.render({colorTexture:e.getColorTexture()},null);break;case "smaa":this._fxaaPass.disable(),this._smaaPass.render({colorTexture:e.getColorTexture()},null)}this.renderOptions.earlyOcclusionPixelDraw||(e.bindFramebuffer(),this._renderInternalSlot(u.OCCLUSION_PIXELS,
this._renderContext));m.bindFramebuffer(null);this._renderContext.framebufferTex=e.getColorTexture();this._renderInternalSlot(u.OVERLAY,this._renderContext);this._renderHighlights(a,b,g,f);this._ieFixMaterial&&!g&&(m.setBlendFunctionSeparate(0,1,1,0),this._ieFixMaterial.bind(m,M),this._ieFixMaterial.bindView(m,M),this._initializeQuadVAO(),m.bindVAO(this._quadVAO),m.drawArrays(5,0,C.vertexCount(this._quadVAO,"geometry")),this._ieFixMaterial.release(m),m.setBlendFunctionSeparate(770,771,1,771));this._framesRendered++;
this._isRendering=!1};g.prototype._renderOrdered=function(a,b){var c=this._rctx;this._isRendering=!0;this._stats.reset();this._framebuffer.copied=!1;this._updateGlobalUniforms(a.projectionMatrix);this._bindParameters.view=a.viewMatrix;this._bindParameters.proj=a.projectionMatrix;this._bindParameters.viewInvTransp=a.viewInverseTransposeMatrix;W[0]=a.near;W[1]=a.far;this._bindParameters.nearFar=W;this._bindParameters.lightingData=this._lighting.get();this._bindParameters.viewport=a.fullViewport;this._bindParameters.framebufferTex=
this._framebuffer.texture;this._bindParameters.pixelRatio=this._pixelRatio;this._bindParameters.instanceParameters=void 0;this._bindParameters.depthFBO=this._linearDepthTextureHelper.getDepthFBO();this._bindParameters.normalFBO=this._normalTextureHelper.getNormalFBO();for(var d=!0,g=0;g<this._renderOrder.length;g++){var e=this._renderOrder[g][1];if(e.instanced){var f=e.instanced,m=f[v.MATERIAL];if(m&&(!m.isVisible||m.isVisible()))this._renderInternalInstanced(f,m,this._bindParameters,Infinity,b,null,
null,!1),d=!0}if(e.merged&&(f=e.merged,(m=f[v.MATERIAL])&&(!m.isVisible||m.isVisible())))d&&(d=m.getProgram(),c.bindProgram(d),d.setUniformMatrix4fv("model",V),d.hasUniform("modelNormal")&&d.setUniformMatrix4fv("modelNormal",V),d=!1),this._renderInternalMerged(f,m,this._bindParameters,Infinity)}this._framesRendered++;this._isRendering=!1};g.prototype.render=function(a,b,c,d,g,e,f){this._orderedRendering?this._renderOrdered(a,b):this._renderUnordered(a,b,c,d,g,f,e)};g.prototype.renderAuxiliaryBuffers=
function(a,b,c,d,g,e){e=this.ssaoEnabled;this._linearDepthTextureHelper.setEnableState(e);e&&(this._linearDepthTextureHelper.setupFBOs(a),this._linearDepthTextureHelper.prepareDepthPass(),this.renderGeometryPass(v.MATERIAL_DEPTH,a,b,void 0,void 0,c,d),this._linearDepthTextureHelper.finish(g));this._normalTextureHelper.setEnableState(this.ssaoEnabled);this.ssaoEnabled&&(this._normalTextureHelper.setupFBOs(a),this._normalTextureHelper.prepareNormalPass(),this.renderGeometryPass(v.MATERIAL_NORMAL,a,
b,void 0,void 0,c,d),this._normalTextureHelper.finish(g));this.ssaoEnabled&&d.computeSSAO(a,g,this._linearDepthTextureHelper.getDepthFBO(),this._normalTextureHelper.getNormalFBO());d.bindAll(this._programRep)};g.prototype.renderGeometryPass=function(a,b,c,d,g,e,f){this._isRendering=!0;this._updateGlobalUniforms(b.projectionMatrix);this._renderContext.pass=a;this._renderContext.camera=b;this._renderContext.shadowMap=e;this._renderContext.ssaoHelper=f;this._renderContext.depth=this._linearDepthTextureHelper.getDepthFBO();
this._renderContext.normals=this._normalTextureHelper.getNormalFBO();this._renderContext.visibleContent=c;this._renderContext.filterContent=d;this._renderContext.filterFaceRange=g;this._renderContext.rctx=this._rctx;this.renderGeometrySlots(this._renderContext);this._isRendering=!1};g.prototype.renderSelection=function(a){this._isRendering=!0;for(var b=0;b<u.MAX_SLOTS;++b)this._renderInternalSlot(b,a);this._isRendering=!1};g.prototype._renderInternalSlot=function(a,b){this._bindParameters.view=b.camera.viewMatrix;
this._bindParameters.proj=b.camera.projectionMatrix;this._bindParameters.viewInvTransp=b.camera.viewInverseTransposeMatrix;this._bindParameters.cameraAboveGround=b.camera.aboveGround;W[0]=b.camera.near;W[1]=b.camera.far;this._bindParameters.nearFar=W;this._bindParameters.lightingData=this._lighting.get();this._bindParameters.viewport=b.camera.fullViewport;this._bindParameters.framebufferTex=this._renderContext.offscreenRenderingHelper?this._renderContext.offscreenRenderingHelper.getColorTexture():
this._framebuffer.texture;this._bindParameters.shadowMap=b.shadowMap;this._bindParameters.pixelRatio=this._pixelRatio;this._bindParameters.instanceParameters=void 0;this._bindParameters.depthFBO=this._linearDepthTextureHelper.getDepthFBO();for(var c in this._mat2dataInstanced){var d=this._mat2dataInstanced[c],g=d[b.pass];g&&(g.beginSlot(a)&&(!g.isVisible||g.isVisible()))&&this._renderInternalInstanced(d,g,this._bindParameters,a,b.visibleContent,b.filterContent,b.filterFaceRange,!1)}if(b.filterContent)for(c in this._mat2dataMerged)d=
this._mat2dataMerged[c],(g=d[b.pass])&&(g.beginSlot(a)&&(!g.isVisible||g.isVisible()))&&this._renderInternalInstanced(d,g,this._bindParameters,a,null,b.filterContent,b.filterFaceRange,!0);else{for(var d=this._programRep.getProgramsUsingUniform("model"),g=this._programRep.getProgramsUsingUniform("modelNormal"),e=0;e<d.length;e++){var f=d[e];f.setUniformMatrix4fv("model",V);-1<g.indexOf(f)&&f.setUniformMatrix4fv("modelNormal",V)}for(c in this._mat2dataMerged)d=this._mat2dataMerged[c],(g=d[b.pass])&&
(g.beginSlot(a)&&(!g.isVisible||g.isVisible()))&&this._renderInternalMerged(d,g,this._bindParameters,a)}this._stencilRenderingHelper.getEnableState()&&a===u.STENCIL_MATERIAL&&this._stencilRenderingHelper.prepareStencilDisabledPass()};g.prototype._renderInternalInstanced=function(a,b,c,d,g,e,f,m){var h=this._rctx,p=h.gl,l=!1,q=b.getDrawMode(h),r=this._bindParameters.extensions.angleInstancedArrays,k;for(k in a.origin2data){var x=a.origin2data[k];c.origin=x.origin;d===u.STENCIL_MATERIAL&&(this._stencilRenderingHelper.setEnableState(!0),
this._stencilRenderingHelper.prepareStencilWritePass());var w=!1;if(b.instanced)for(var n in x.perGeometryDataInfo){var s=x.perGeometryDataInfo[n];l||(b.bind(h,c),l=!0);h.bindVAO(s.vao);var t=b.getProgram();C.assertCompatibleVertexAttributeLocations(s.vao,t);w||(b.bindView(h,c),w=!0);var t=s.to-s.from,v=s.refCount;q===p.TRIANGLES&&(this._stats.trianglesRendered+=v*t/3);r.drawArraysInstancedANGLE(q,s.from,t,v);this._stats.drawCallsAngleInstanced++;this._stats.instancesDrawnAngle+=v}else{var s=x.instances,
y;for(y in s){var t=s[y],v=t.idx,z=t.displayedIndexRange;f&&(z=f);if(!(z&&0===z.length)&&!(g&&!g.get(v)||e&&!e.get(v)))l||(b.bind(h,c),l=!0),w||(h.bindVAO(x.vao),b.bindView(h,c),w=!0),m||b.bindInstance(h,t),this._stats.drawCallsInstanced++,q===p.TRIANGLES&&(this._stats.trianglesRendered+=(t.to-t.from)/3),z?this._drawArraysFaceRange(z,t.from,q):h.drawArrays(q,t.from,t.to-t.from)}}}h.bindVAO(null);l&&b.release(h,c)};g.prototype._drawArraysFaceRange=function(a,b,c){for(var d=this._rctx,g=0;g<a.length;g++){var e=
a[g];d.drawArrays(c,e[0]+b,e[1]-e[0]+1)}this._stats.drawCallsFragmented+=a.length-1};g.prototype._renderInternalMerged=function(a,b,c,d){var g=this._rctx,e=g.gl,f=!1,m;for(m in a.origin2data){var h=a.origin2data[m];c.origin=h.origin;d===u.STENCIL_MATERIAL&&(this._stencilRenderingHelper.setEnableState(!0),this._stencilRenderingHelper.prepareStencilWritePass());if(!(h.displayedIndexRange&&0===h.displayedIndexRange.length)){f||(b.bind(g,c),f=!0);var p=b.getProgram();g.bindVAO(h.vao);C.assertCompatibleVertexAttributeLocations(h.vao,
p);b.bindView(g,c);this._stats.drawCallsMerged++;p=b.getDrawMode(g);p===e.TRIANGLES&&(this._stats.trianglesRendered+=h.vao.vertexBuffers.geometry.size/3);h.displayedIndexRange?this._drawArraysFaceRange(h.displayedIndexRange,0,p):g.drawArrays(p,0,C.vertexCount(h.vao,"geometry"))}}f&&b.release(g,c)};g.prototype._updateGlobalUniforms=function(a){for(var b=this._programRep.getProgramsUsingUniform("proj"),c=0;c<b.length;c++)b[c].setUniformMatrix4fv("proj",a);if(this._lighting){b=this._programRep.getProgramsUsingUniform("lightDirection");
for(c=0;c<b.length;c++)this._lighting.setUniforms(b[c])}};g.prototype.print=function(){var a=Object.keys(this._mat2dataMerged).length,b=Object.keys(this._mat2dataInstanced).length;console.log("number of materials (merged/instanced): "+a+"/"+b);var a=0,c;for(c in this._mat2dataMerged){var b=this._mat2dataMerged[c],d;for(d in b.origin2data)a+=Object.keys(b.origin2data[d].instances).length}var g=0;for(c in this._mat2dataInstanced)for(d in b=this._mat2dataInstanced[c],b.origin2data)g+=Object.keys(b.origin2data[d].instances).length;
console.log("number of instances (merged/instanced): "+a+"/"+g)};g.prototype.isEmpty=function(){for(var a in this._mat2dataInstanced){var b=this._mat2dataInstanced[a],c;for(c in b.origin2data)if(!H(b.origin2data[c].instances))return!1}for(a in this._mat2dataMerged)for(c in b=this._mat2dataMerged[a],b.origin2data)if(!H(b.origin2data[c].instances))return!1;return!0};g.prototype.modify=function(a,b,c,d){this._isRendering&&console.warn("Renderer.modify called while rendering");var g=[],e=[];this._mergedOrInstanced(a,
g,e);a=[];var f=[];this._mergedOrInstanced(b,a,f);b={};c&&this._performUpdates(c,b);c=[];this._modifyMerged(g,a,c,b);this._modifyInstanced(e,f,c);this._updateMergedFaceranges(b);this._releaseMaterials(c);this._modifyMaterials(d);this._needsRender=!0};g.prototype._isInstanced=function(a){var b=!1,c=D(a.data.faces.indices).length,b=(b=(b=b||!1===a.material.canBeMerged)||a.material.instanced)||a.material.isBackdrop;return a.singleUse?b:b=b||c>this._threshold};g.prototype._mergedOrInstanced=function(a,
b,c){for(var d=0;d<a.length;++d)1>D(a[d].data.faces.indices).length||(this._isInstanced(a[d])?c.push(a[d]):b.push(a[d]))};g.prototype._performUpdates=function(a,b){for(var c=0;c<a.length;c++){var d=a[c],g=d.renderGeometry,e=this._isInstanced(g),d=d.updateType;d&2&&this._updateFaceranges(g,e,b);d&4||!e&&d&16?this._updateVertexAttributes(g,e):e&&d&16?this._updateInstanceTransformation(g,e):d&8&&this._updateColorAttributes(g)}};g.prototype._updateFaceranges=function(a,b,c){var d=a.material.getId(),g=
a.origin.id,e=(b?this._mat2dataInstanced:this._mat2dataMerged)[d].origin2data[g],f=e.instances[a.uniqueName];f&&(f.displayedIndexRange=a.displayedIndexRange,b||(c[this._modifiedMergedFacerangesKey(d,g)]=e))};g.prototype._updateMergedFaceranges=function(a){for(var b in a){var c=a[b];c.displayedIndexRange=[];var d=c.instances,g=!0,e;for(e in d){var f=d[e];f.displayedIndexRange?(c.displayedIndexRange.push.apply(c.displayedIndexRange,n.offsetIntervals(f.displayedIndexRange,f.from)),g=!1):c.displayedIndexRange.push([f.from,
f.to-1])}c.displayedIndexRange=g?null:n.mergeIntervals(c.displayedIndexRange)}};g.prototype._updateVertexAttributes=function(a,b){var c=a.material,d=c.getId(),d=(b?this._mat2dataInstanced:this._mat2dataMerged)[d].origin2data[a.origin.id],g=d.instances[a.uniqueName],e,f;b||(e=a.origin.vec3,L(X,-e[0],-e[1],-e[2]),I.multiply(X,a.transformation,O),I.inverse(O,S),I.transpose(S),e=O,f=S);var m=C.getStride(c.getVertexBufferLayout()),h=m/4;P(g.from+c.getOutputAmount(D(a.data.faces.indices).length)/h===g.to,
"material VBO layout has changed");c.fillInterleaved(a.data,e,f,a.instanceParameters,d.buffer.getArray(),g.from*h);d.vao.vertexBuffers.geometry.setSubData(d.buffer.getArray(),g.from*m,g.from*m,g.to*m)};g.prototype._updateInstanceTransformation=function(a,b){var c=a.origin.vec3,d=(b?this._mat2dataInstanced:this._mat2dataMerged)[a.material.getId()].origin2data[a.origin.id],g=d.instances[a.uniqueName];L(X,-c[0],-c[1],-c[2]);I.multiply(X,a.transformation,g.transformation);I.inverse(g.transformation,g.transformationNormal);
I.transpose(g.transformationNormal,g.transformationNormal);c=d.perGeometryDataInfo[a.data.id];if(d=c.instanceBufferData){var e=d.getSlot(a.idx);d.fill(e,0,g.transformation);d.fill(e,16,g.transformationNormal);g=4*d.getOffset(e);e=C.getStride(c.vao.layout.instance);c.vao.vertexBuffers.instance.setSubData(d.getArray(),g,g,g+e)}};g.prototype._updateColorAttributes=function(a){var b=a.material,c=b.getId(),d=a.origin.id,c=(this._isInstanced(a)?this._mat2dataInstanced:this._mat2dataMerged)[c].origin2data[d],
d=c.instances[a.uniqueName],g={};g[R.COLOR]=!0;var e=C.getStride(b.getVertexBufferLayout())/4;P(d.from+b.getOutputAmount(D(a.data.faces.indices).length)/e===d.to,"material VBO layout has changed");b.fillInterleaved(a.data,void 0,void 0,a.instanceParameters,c.buffer.getArray(),d.from*e,g);c.vao.vertexBuffers.geometry.setSubData(c.buffer.getArray(),4*d.from*e,4*d.from*e,4*d.to*e)};g.prototype._modifyMerged=function(a,b,c,g){var e=this._rctx;a=this._compMat2delta(a,b,!1);for(var f in a){b=a[f];for(var m in b){var h=
b[m],p=h.optimalCount,l=h.material,q=l.getVertexBufferLayout(),r=C.getStride(q)/4,k=this._mat2dataMerged[f];if(null==k){P(0<p);var x=l.getRenderPriority(),k={origin2data:{}};k[v.MATERIAL]=this._materialRep.aquire(l);k[v.MATERIAL_DEPTH_SHADOWMAP]=this._materialRep.aquireDepthShadowMap(l);k[v.MATERIAL_NORMAL]=this._materialRep.aquireNormal(l);k[v.MATERIAL_DEPTH]=this._materialRep.aquireDepth(l);k[v.MATERIAL_HIGHLIGHT]=this._materialRep.aquireHighlight(l);this._mat2dataMerged[f]=k;this._orderedRendering&&
this._insertIntoRenderOrder(k,x,"merged")}x=k.origin2data[m];null==x&&(P(0<p),x={instances:{},vao:new z(e,G.Default3D,{geometry:q},{geometry:y.createVertex(e,35044)}),buffer:new d(p),optimalCount:0,origin:h.origin},k.origin2data[m]=x);if(0<p){var q=x.buffer.getSize(),u=x.buffer.getArray(),k=p<h.sparseCount/2,w=x.buffer.resize(k?p:h.sparseCount),n=h.toRemove;if(k||w){for(var q=0,s=x.buffer.getArray(),k=0,t=n.length;k<t;++k)w=x.instances[n[k].uniqueName],x.optimalCount-=(w.to-w.from)*r,delete x.instances[n[k].uniqueName];
var k={},A;for(A in x.instances)w=x.instances[A],P(null==k[w.from]),k[w.from]=w;for(var B in k){var w=k[B],t=w.from*r,K=w.to*r;s.set(u.subarray(t,K),q);w.from=q/r;q+=K-t;w.to=q/r}P(q===x.optimalCount)}else{k=0;for(w=n.length;k<w;++k)u=n[k].uniqueName,P(void 0!==x.instances[u]),t=x.instances[u].from*r,K=x.instances[u].to*r,x.buffer.erase(t,K),delete x.instances[u],x.optimalCount-=K-t}L(X,-h.origin[0],-h.origin[1],-h.origin[2]);n=h.toAdd;h=!1;k=0;for(u=n.length;k<u;++k)t=n[k],K=t.data,I.multiply(X,
t.transformation,O),I.inverse(O,S),I.transpose(S),w=q,l.fillInterleaved(K,O,S,t.instanceParameters,x.buffer.getArray(),q),K=l.getOutputAmount(D(K.faces.indices).length),s=w+K,P(null==x.instances[t.uniqueName]),w=new U(t.name,w/r,s/r,t.displayedIndexRange,void 0,void 0,t.idx),t.displayedIndexRange&&(h=!0),x.instances[t.uniqueName]=w,x.optimalCount+=K,q+=K;P(x.optimalCount===p);p=new Float32Array(x.buffer.getArray().buffer,0,x.buffer.getSize());x.vao.vertexBuffers.geometry.setData(p);if(h||x.displayedIndexRange)g[this._modifiedMergedFacerangesKey(f,
m)]=x}else P(0===p),x.vao.dispose(!0),x.vao=null,delete k.origin2data[m],0===Object.keys(k.origin2data).length&&(c.push(f),delete this._mat2dataMerged[f],this._orderedRendering&&this._removeFromRenderOrder(k,"merged"))}}};g.prototype._modifyInstanced=function(a,c,g){a=this._compMat2delta(a,c,!0);c=this._rctx;for(var e in a){var f=a[e],m;for(m in f){var h=f[m];if(0===h.optimalCount)h=this._mat2dataInstanced[e],h.origin2data[m].vao.dispose(!0),delete h.origin2data[m],0===Object.keys(h.origin2data).length&&
(g.push(e),delete this._mat2dataInstanced[e],this._orderedRendering&&this._removeFromRenderOrder(h,"instanced"));else{var p=h.material,l=this._mat2dataInstanced[e];if(null==l){var q=p.getRenderPriority(),l={origin2data:{}};l[v.MATERIAL]=this._materialRep.aquire(p);l[v.MATERIAL_DEPTH_SHADOWMAP]=this._materialRep.aquireDepthShadowMap(p);l[v.MATERIAL_NORMAL]=this._materialRep.aquireNormal(p);l[v.MATERIAL_DEPTH]=this._materialRep.aquireDepth(p);l[v.MATERIAL_HIGHLIGHT]=this._materialRep.aquireHighlight(p);
this._mat2dataInstanced[e]=l;this._orderedRendering&&this._insertIntoRenderOrder(l,q,"instanced")}var r=p.getVertexBufferLayout(),k=l[v.MATERIAL].instanced?p.getInstanceBufferLayout():void 0,x=k&&C.findAttribute(k,"instanceColor"),u=k&&C.findAttribute(k,"instanceFeatureAttribute"),w=C.getStride(r)/4,q=l.origin2data[m];null==q&&(q={instances:{},vao:new z(c,G.Default3D,{geometry:r},{geometry:y.createVertex(c,35044)}),buffer:new d(h.optimalCount),optimalCount:0,perGeometryDataInfo:{},origin:h.origin},
l.origin2data[m]=q);var l=q.buffer.getSize(),n=q.buffer.getArray(),s=h.optimalCount<h.sparseCount/2,t=q.buffer.resize(s?h.optimalCount:h.sparseCount),A;for(A in h.perGeometryDelta){var O=q.perGeometryDataInfo[A];if(O&&O.instanceBufferData){var B=h.perGeometryDelta[A].removeCount;0<B&&O.instanceBufferData.prepareFree(B)}}var K=h.toRemove;if(s||t){s=0;for(l=K.length;s<l;++s){t=K[s];delete q.instances[t.uniqueName];A=t.data.id;var F=O=q.perGeometryDataInfo[A];0===--F.refCount&&null==h.dataId2refCount[A]?
(q.optimalCount-=(F.to-F.from)*w,delete q.perGeometryDataInfo[A]):O.instanceBufferData&&O.instanceBufferData.free(t.idx)}var l=0,s=q.buffer.getArray(),t={},H;for(H in q.perGeometryDataInfo)F=q.perGeometryDataInfo[H],P(null==t[F.from]),t[F.from]=F;for(var S in t)F=t[S],B=F.from*w,O=F.to*w,s.set(n.subarray(B,O),l),F.from=l/w,l+=O-B,F.to=l/w;for(var E in q.instances)B=q.instances[E],B.from=q.perGeometryDataInfo[B.dataId].from,B.to=q.perGeometryDataInfo[B.dataId].to}else{s=0;for(n=K.length;s<n;++s)t=
K[s],delete q.instances[t.uniqueName],A=t.data.id,O=q.perGeometryDataInfo[A],0===--O.refCount&&null==h.dataId2refCount[A]?(B=O.from*w,O=O.to*w,q.buffer.erase(B,O),q.optimalCount-=O-B,delete q.perGeometryDataInfo[A]):O.instanceBufferData&&O.instanceBufferData.free(t.idx)}L(X,-h.origin[0],-h.origin[1],-h.origin[2]);for(A in h.perGeometryDelta)if((O=q.perGeometryDataInfo[A])&&O.instanceBufferData)s=h.perGeometryDelta[A].addCount,0<s&&O.instanceBufferData.prepareAllocate(s);n=h.toAdd;s=0;for(K=n.length;s<
K;++s){t=n[s];B=t.data;A=B.id;O=q.perGeometryDataInfo[A];null==O?(p.fillInterleaved(B,void 0,void 0,void 0,q.buffer.getArray(),l),F=p.getOutputAmount(D(B.faces.indices).length),B=l/w,l+=F,O=l/w,q.optimalCount+=F,O={refCount:1,from:B,to:O,vao:null,instanceBufferData:null},k&&(B=C.getStride(k)/4,O.vao=new z(c,G.Default3D,{geometry:r,instance:k},{geometry:q.vao.vertexBuffers.geometry,instance:y.createVertex(c,35044)}),O.instanceBufferData=new b(B,h.perGeometryDelta[A].addCount)),q.perGeometryDataInfo[A]=
O):++O.refCount;P(O.from*w<=q.buffer.getSize()&&O.to*w<=q.buffer.getSize());B=I.create();I.multiply(X,t.transformation,B);B=new U(t.name,O.from,O.to,t.displayedIndexRange,B,t.instanceParameters,t.idx,A);if(O=O.instanceBufferData)F=O.allocate(t.idx),O.fill(F,0,B.transformation),O.fill(F,16,B.transformationNormal),x&&O.fill(F,x.offset/4,t.instanceParameters.color),u&&O.fill(F,u.offset/4,t.instanceParameters.featureAttribute);q.instances[t.uniqueName]=B}P(q.optimalCount===h.optimalCount);p=new Float32Array(q.buffer.getArray().buffer,
0,q.buffer.getSize());q.vao.vertexBuffers.geometry.setData(p);for(A in q.perGeometryDataInfo)if(r=q.perGeometryDataInfo[A],r.vao&&(p=r.vao.vertexBuffers.instance))k=h.perGeometryDelta[A],0<k.addCount+k.removeCount&&(r=r.instanceBufferData.compact(),p.setData(r))}}}};g.prototype._compMat2delta=function(a,b,c){var d={};this._updateMat2delta(a,!0,c,d);this._updateMat2delta(b,!1,c,d);return d};g.prototype._updateMat2delta=function(a,b,c,d){for(var g=0,e=a.length;g<e;++g){var f=a[g],m=f.origin,h=f.material,
p=h.getId(),l=c?this._mat2dataInstanced[p]:this._mat2dataMerged[p],l=l&&l.origin2data[m.id],q=d[p];null==q&&(q={},d[p]=q);p=q[m.id];if(null==p){p={optimalCount:null==l?0:l.optimalCount,sparseCount:null==l?0:l.buffer.getSize(),material:h,toAdd:[],toRemove:[],perGeometryDelta:null,origin:m.vec3};if(c){var r={};if(void 0!==l)for(var k in l.perGeometryDataInfo)r[k]=l.perGeometryDataInfo[k].refCount;p.dataId2refCount=r;p.perGeometryDelta={}}q[m.id]=p}m=h.getOutputAmount(D(f.data.faces.indices).length);
c?(h=f.data.id,l=p.perGeometryDelta[h],l||(l={addCount:0,removeCount:0},p.perGeometryDelta[h]=l),b?(l.addCount++,null==p.dataId2refCount[h]&&(p.dataId2refCount[h]=0),1===++p.dataId2refCount[h]&&(p.optimalCount+=m,p.sparseCount+=m),p.toAdd.push(f)):(l.removeCount++,0===--p.dataId2refCount[h]&&(delete p.dataId2refCount[h],p.optimalCount-=m),p.toRemove.push(f))):b?(p.optimalCount+=m,p.sparseCount+=m,p.toAdd.push(f)):(p.optimalCount-=m,p.toRemove.push(f))}};g.prototype._modifiedMergedFacerangesKey=function(a,
b){return a+"_"+b};g.prototype._insertIntoRenderOrder=function(a,b,c){for(var d=a[v.MATERIAL].getMaterialId(),g=this._renderOrder.length,e=0;e<g&&this._renderOrder[e][0]>=b;){var f=this._renderOrder[e][1];if(f.id===d){P(!f[c],"matData for type already exists");f[c]=a;return}e++}d={id:d,instanced:null,merged:null};d[c]=a;this._renderOrder.splice(e,0,[b,d])};g.prototype._removeFromRenderOrder=function(a,b){for(var c=a[v.MATERIAL].getMaterialId(),d=0;this._renderOrder[d][1].id!==c;)d++;c=this._renderOrder[d][1];
c[b]=null;!c.instanced&&!c.merged&&this._renderOrder.splice(d,1)};g.prototype._updateRenderOrder=function(a,b){for(var c=b.length,d=0;d<c&&b[d][1].id!==a;)d++;if(d<c){var g=b[d][1],g=(g.merged||g.instanced)[v.MATERIAL].getRenderPriority(),e=b[d][0];if(g!==b[d][0]){b[d][0]=g;e=g>e?-1:1;for(d+=e;-1<d&&d<c&&e*b[d][0]>e*g;){var f=b[d];b[d]=b[d-e];b[d-e]=f;d+=e}}}};g.prototype._modifyMaterials=function(a){for(var b in a)this._materialRep.updateMaterialParameters(b)};g.prototype.modifyRenderOrder=function(a){if(this._orderedRendering){for(var b in a)this._updateRenderOrder(b,
this._renderOrder);this._needsRender=!0}};g.prototype._releaseMaterials=function(a){if(Array.isArray(a))for(var b=0;b<a.length;b++)this._materialRep.release(a[b]),this._materialRep.releaseDepthShadowMap(a[b]),this._materialRep.releaseNormal(a[b]),this._materialRep.releaseDepth(a[b]),this._materialRep.releaseHighlight(a[b]);else this._materialRep.release(a),this._materialRep.releaseDepthShadowMap(a),this._materialRep.releaseNormal(a),this._materialRep.releaseDepth(a),this._materialRep.releaseHighlight(a)};
g.prototype._name2indices=function(a){for(var b=new w,c=0;2>c;++c){var d=0===c?this._mat2dataMerged:this._mat2dataInstanced,g;for(g in d){var e=d[g].origin2data,f;for(f in e){var m=e[f].instances,h;for(h in m){var p=m[h];void 0!==a[p.name]&&b.set(p.idx)}}}}return b};return g}();var T=function(){function a(){this.reset()}a.prototype.reset=function(){this.VBOusedSize=this.VBOoptimalSize=this.VBOallocatedSize=this.instancesDrawnAngle=this.drawCallsFragmented=this.drawCallsMerged=this.drawCallsAngleInstanced=
this.drawCallsInstanced=this.trianglesRendered=0};return a}(),U=function(){return function(a,b,c,d,g,e,f,m){this.name=a;this.from=b;this.to=c;this.displayedIndexRange=d;this.transformation=g;this.instanceParameters=e;this.idx=f;this.dataId=m;null!=g&&(this.transformationNormal=I.create(),I.set(g,this.transformationNormal),I.inverse(this.transformationNormal,this.transformationNormal),I.transpose(this.transformationNormal,this.transformationNormal))}}(),W=e.create(),X=I.identity(),O=I.create(),S=I.create();
return x})},"esri/views/3d/webgl-engine/lib/IntervalUtilities":function(){define(["require","exports"],function(e,k){return function(){function e(){}e.copyIntervals=function(e){for(var d=[],b=0;b<e.length;b++){var l=e[b];d.push([l[0],l[1]])}return d};e.convertFaceToIndexRange=function(e,d){for(var b=0;b<e.length;b++){var l=e[b];l[0]*=d;l[1]=l[1]*d+(d-1)}};e.sortIntervals=function(e){return e.sort(function(d,b){return d[0]===b[0]?d[1]>b[1]?1:d[1]<b[1]?-1:0:d[0]>b[0]?1:d[0]<b[0]?-1:0})};e.intersectIntervals=
function(e,d){if(0>=e.length)return[];for(var b=[],l=0;l<e.length;l++){var f=e[l];f[1]<d[0]||f[0]>d[1]||(f=[f[0],f[1]],f[0]<d[0]&&(f[0]=d[0]),f[1]>d[1]&&(f[1]=d[1]),b.push(f))}return b};e.mergeIntervals=function(e){if(0>=e.length)return[];var d=[];e=this.sortIntervals(e);d.push(e[0]);for(var b=1;b<e.length;b++){var l=d[d.length-1];l[1]+1<e[b][0]?d.push(e[b]):l[1]<e[b][1]&&(l[1]=e[b][1],d.pop(),d.push(l))}return d};e.invertIntervals=function(e,d){for(var b=[],l=0,f=0;f<e.length;f++){var c=e[f];c[0]>
l&&b.push([l,c[0]-1]);l=c[1]+1}l<=d&&b.push([l,d]);return b};e.offsetIntervals=function(e,d){for(var b=[],l=0;l<e.length;l++){var f=e[l];b.push([f[0]+d,f[1]+d])}return b};return e}()})},"esri/views/3d/webgl-engine/lib/Float32ArrayList":function(){define(["require","exports","./Util"],function(e,k,n){return function(){function e(d){null==d?d=16:65536>d&&(d=n.nextHighestPowerOfTwo(d));this.array=new Float32Array(d);this.size=0}e.prototype.resize=function(d,b){void 0===b&&(b=!1);this.size=d;var e,f;
if(this.size>this.array.length){for(e=this.array.length||1;e<this.size;)e*=2;f=new Float32Array(e);b&&f.set(this.array);this.array=f;return!0}if(this.size<=this.array.length/2){e=this.array.length;for(f=2*this.size;e>=f;)e=Math.floor(e/2);f=new Float32Array(e);b&&f.set(this.array.subarray(0,e));this.array=f;return!0}return!1};e.prototype.append=function(d){var b=this.size;this.resize(this.size+d.length,!0);this.array.set(d,b)};e.prototype.erase=function(d,b){for(var e=d;e<b;++e)this.array[e]=0};e.prototype.getArray=
function(){return this.array};e.prototype.getSize=function(){return this.size};return e}()})},"esri/views/3d/webgl-engine/lib/InstanceBufferData":function(){define(["require","exports","./Util"],function(e,k,n){return function(){function e(d,b){b=null==b?4*d:n.nextHighestPowerOfTwo(b*d);this.array=new Float32Array(b);this.zeroItem=new Float32Array(d);this.endSlot=0;this.instanceDataSize=d;this.emptySlots=[];this.emptySlotsIdx=0;this.id2slot={};this.slot2id=Array(b)}e.prototype.prepareFree=function(d){this.emptySlots.length+=
d};e.prototype.free=function(d){d=this.id2slot[d];null!=d&&(this.emptySlots[this.emptySlotsIdx++]=d,this.slot2id[d]=void 0)};e.prototype.prepareAllocate=function(d){d-=this.emptySlotsIdx;0<d&&this._resizeArray((this.endSlot+d)*this.instanceDataSize)};e.prototype.allocate=function(d){var b;b=0<this.emptySlotsIdx?this.emptySlots[--this.emptySlotsIdx]:this.endSlot++;this.id2slot[d]=b;this.slot2id[b]=d;return b};e.prototype.getSlot=function(d){return this.id2slot[d]};e.prototype.getOffset=function(d){return d*
this.instanceDataSize};e.prototype.getArray=function(){return this.array};e.prototype.fill=function(d,b,e){this.array.set(e,d*this.instanceDataSize+b)};e.prototype.compact=function(){if(0<this.emptySlotsIdx){this.emptySlots.length=this.emptySlotsIdx;for(this.emptySlots.sort(function(b,a){return b-a});0<this.emptySlotsIdx&&this.emptySlots[this.emptySlotsIdx-1]===this.endSlot;)this.emptySlotsIdx--,this.endSlot--;for(;0<this.emptySlotsIdx;){this.emptySlotsIdx--;var d=this.endSlot-1,b=this.emptySlots[this.emptySlotsIdx],
e=d*this.instanceDataSize,f=b*this.instanceDataSize;this.array.set(this.array.subarray(e,e+this.instanceDataSize),f);this.array.set(this.zeroItem,e);e=this.slot2id[d];this.slot2id[d]=void 0;this.slot2id[b]=e;this.id2slot[e]=b;this.endSlot--}}this._resizeArray(this.endSlot*this.instanceDataSize);this.emptySlots.length=0;return this.array};e.prototype._resizeArray=function(d){var b;if(d>this.array.length){for(b=this.array.length||1;b<d;)b*=2;d=new Float32Array(b);d.set(this.array);this.array=d}else if(d<=
this.array.length/2){b=this.array.length;for(d*=2;b>=d;)b/=2;d=new Float32Array(b);d.set(this.array.subarray(0,b));this.array=d}};return e}()})},"esri/views/3d/webgl-engine/lib/Lighting":function(){define(["require","exports","./gl-matrix"],function(e,k,n){var h=n.vec3d,d=n.vec4d;return function(){function b(b,e,c,a){this.ambient=d.create(b);this.diffuse=d.create(e);this.specular=d.create(c);this.direction=h.create(a)}b.prototype.setUniforms=function(b){b.setUniform4fv("lightAmbient",this.ambient);
b.setUniform4fv("lightDiffuse",this.diffuse);b.setUniform4fv("lightSpecular",this.specular);b.setUniform3fv("lightDirection",this.direction)};b.prototype.set=function(b){b.ambient&&d.set(b.ambient,this.ambient);b.diffuse&&d.set(b.diffuse,this.diffuse);b.specular&&d.set(b.specular,this.specular);b.direction&&h.set(b.direction,this.direction)};b.prototype.get=function(){return{ambient:this.ambient,diffuse:this.diffuse,specular:this.specular,direction:this.direction}};return b}()})},"esri/views/3d/webgl-engine/materials/internal/SimpleGLMaterial":function(){define("require exports dojo/text!./SimpleGLMaterial.xml ./MaterialUtil ../../lib/RenderSlot ../../../../webgl/Program ../../../../webgl/enums ../../lib/DefaultVertexAttributeLocations".split(" "),
function(e,k,n,h,d,b,l,f){return function(){function c(a,b,c,d){void 0===d&&(d=4);this.id=h.__GLMaterial_id++;this.program=a.get("simple");this.color=b;this.depthFunc=c;this.drawMode=d}c.prototype.getId=function(){return this.id};c.prototype.beginSlot=function(a){return a===d.INTERNAL_MATERIAL};c.prototype.getProgram=function(){return this.program};c.prototype.bind=function(a,b){a.bindProgram(this.program);this.program.setUniformMatrix4fv("model",h.IDENTITY);this.program.setUniformMatrix4fv("proj",
b.proj);this.program.setUniform4fv("color",this.color);a.setBlendingEnabled(!0);void 0!==this.depthFunc&&a.setDepthFunction(this.depthFunc)};c.prototype.release=function(a){void 0!==this.depthFunc&&a.setDepthFunction(513);a.setBlendingEnabled(!1)};c.prototype.bindView=function(a,b){h.bindView(b.origin,b.view,this.program)};c.prototype.bindInstance=function(a,b){this.program.setUniformMatrix4fv("model",b.transformation)};c.prototype.getDrawMode=function(a){return this.drawMode};c.loadShaders=function(a,
c,d,e){a._parse(n);a=new b(e,a.vertexShaderSimple,a.fragmentShaderSimple,f.Default3D);d.add("simple",a)};return c}()})},"esri/views/3d/webgl-engine/materials/internal/MaterialUtil":function(){define(["../../lib/IdGen","../../lib/gl-matrix","../../parts/Model","../../lib/Util","../../../../webgl/Util"],function(e,k,n,h,d){var b=k.vec3d,l=k.mat4d,f=k.mat4,c=h.VertexAttrConstants,a={};a.__Material_idGen=new e;a.__GLMaterial_id=0;a.IDENTITY=l.identity();a.fill=function(a,b,c,d,e,f){if(void 0===e||3!==
f)for(e=0;e<f;++e)c[d+e]=a[b+e];else{var m=a[b],h=a[b+1];a=a[b+2];c[d]=e[0]*m+e[4]*h+e[8]*a+e[12];c[d+1]=e[1]*m+e[5]*h+e[9]*a+e[13];c[d+2]=e[2]*m+e[6]*h+e[10]*a+e[14]}return f};var s=function(a,b,c,d,e,f){for(var m=a.length,h=0;h<m;++h){for(var q=c*a[h],l=0;l<c;++l)d[e+l]=b[q+l];e+=f}};a.fillInterleaved=function(a,b,e,f,m,h,q,l){for(var r=d.getStride(m)/4,k=0;k<m.length;k++){var x=m[k],u=q+x.offset/4,x=x.name;if(!(null!=l&&null==l[x])){var w;switch(x){case "uv0":w=a.vertexAttr[x];null!=w&&s(a.faces.indices[x],
w.data,w.size,h,u,r);break;case "region":w=a.vertexAttr[x];var x=a.faces.indices[x],n=w.data,t=w.size;w=h;var v=r;w=new Uint16Array(w.buffer);for(var u=2*u,v=2*v,I=x.length,R=0;R<I;++R){var V=t*x[R],N;for(N=0;N<t;++N)w[u+N]=n[V+N];u+=v}break;case "color":w=a.vertexAttr[x];if(f&&f.color){x=a.faces.indices[x];n=w.data;t=f.color;w=w.size;v=h;I=r;v=new Uint8Array(v.buffer);u*=4;I*=4;R=x.length;for(V=0;V<R;++V){N=w*x[V];var M;for(M=0;M<w;++M)v[u+M]=n[N+M]*t[M];4>M&&(v[u+3]=255*t[3]);u+=I}}else{x=a.faces.indices[x];
n=w.data;t=w.size;w=h;v=r;w=new Uint8Array(w.buffer);u*=4;v*=4;I=x.length;for(R=0;R<I;++R){V=t*x[R];for(N=0;N<t;++N)w[u+N]=n[V+N];4>N&&(w[u+3]=255);u+=v}}break;default:if(w=a.vertexAttr[x],t=x===c.POSITION?b:x===c.NORMAL?e:void 0,void 0!==t&&3===w.size){x=a.faces.indices[x];n=w.data;w=h;v=r;I=x.length;for(R=0;R<I;++R)M=3*x[R],V=n[M],N=n[M+1],M=n[M+2],w[u]=t[0]*V+t[4]*N+t[8]*M+t[12],w[u+1]=t[1]*V+t[5]*N+t[9]*M+t[13],w[u+2]=t[2]*V+t[6]*N+t[10]*M+t[14],u+=v}else s(a.faces.indices[x],w.data,w.size,h,
u,r)}}}};a.triangleVertexArrayToWireframeLines=function(a,b,c,d){for(c=Math.floor(c/3)-1;0<=c;c--){var e=b+3*c*d,f=b+6*c*d+5*d;this.fill(a,e,a,f,null,d);f-=d;this.fill(a,e+d,a,f,null,d);f-=d;this.fill(a,e+d,a,f,null,d);f-=d;this.fill(a,e+2*d,a,f,null,d);f-=d;this.fill(a,e+2*d,a,f,null,d);f-=d;this.fill(a,e,a,f,null,d)}};var t=b.create(),v=b.create(),u=b.create(),q=b.create(),r=function(a,c,d,e,f){var m=a.getCenter();b.project(m,c,d,t);var m=b.dist2(t,m),h=a.getBSRadius();if(m<h*h){var m=a.getPrimitiveIndices(),
h=a.getIndices(),l=a.getPosition(),k=m?m.length:h.length/3;if(1E4<k&&(a=a.getChildren(),void 0!==a)){for(m=0;8>m;++m)void 0!==a[m]&&r(a[m],c,d,e,f);return}a=l.size;var l=l.data,x=c[0],w=c[1];c=c[2];var n=d[0]-x,s=d[1]-w;d=d[2]-c;for(var D=0;D<k;++D){var L=m?m[D]:D,E=a*h[3*L],I=a*h[3*L+1],R=a*h[3*L+2],V=l[E],N=l[E+1],E=l[E+2],M=l[I],T=l[I+1],I=l[I+2],U=l[R],W=l[R+1],R=l[R+2],X=M-V,O=T-N,S=I-E,ea=U-V,Y=W-N,ca=R-E,ba=s*ca-Y*d,qa=d*ea-ca*n,ka=n*Y-ea*s,ra=X*ba+O*qa+S*ka;if(!(ra>-e&&ra<e)){var ra=1/ra,
sa=x-V,pa=w-N,ya=c-E,ba=ra*(sa*ba+pa*qa+ya*ka);0>ba||1<ba||(qa=pa*S-O*ya,S=ya*X-S*sa,X=sa*O-X*pa,O=ra*(n*qa+s*S+d*X),0>O||1<ba+O||(ea=ra*(ea*qa+Y*S+ca*X),0<=ea&&(Y=v,ca=u,ra=q,b.set3(V,N,E,Y),b.set3(M,T,I,ca),b.set3(U,W,R,ra),b.subtract(ca,Y,ca),b.subtract(ra,Y,ra),b.normalize(b.cross(ca,ra,Y)),f(ea,Y,L))))}}}};a.intersectTriangleGeometry=function(a,b,c,d,e,f,m){h.assert("triangle"===a.getData().getFaces()[b].type);r(a.getBoundingInfo(b),e,f,d.tolerance,m)};a.basicMaterialConstructor=function(b,c){var d=
!0,e=0,f=a.__Material_idGen.gen(c);b.getId=function(){return f};var m;b.getParentStage=function(){return m};b.addParentStage=function(a){h.assert(void 0===m,"Material can only be added to a single Stage");m=a};b.removeParentStage=function(a){m=void 0};b.setVisible=function(a){d!==a&&(d=a,b.notifyDirty("matChanged"))};b.isVisible=function(){return d};b.notifyDirty=function(a){m&&m.notifyDirty(n.ContentType.MATERIAL,b,a)};b.setRenderPriority=function(a){e=a;this.notifyDirty("matChanged")};b.getRenderPriority=
function(){return e}};var m=a.aquireIfNotUndefined=function(a,b,c,d){return void 0===a?void 0:c.aquire(a,b,d)},w=a.releaseIfNotUndefined=function(a,b){void 0!==a&&b.release(a)},x=f.create();a.bindView=function(a,b,c){f.translate(b,a,x);c.setUniformMatrix4fv("view",x)};a.bindCamPos=function(a,b,c){c.setUniform3f("camPos",b[3]-a[0],b[7]-a[1],b[11]-a[2])};a.basicGLMaterialConstructor=function(b,c){var d=a.__GLMaterial_id++;b.getId=function(){return d};b.getMaterialId=function(){return c.getId()};b.isVisible=
function(){return c.isVisible()};b.getRenderPriority=function(){return c.getRenderPriority()}};a.singleTextureGLMaterialConstructor=function(a,b,c,d){var e=m(c.textureId,c.initTexture,b,d);a.updateTexture=function(a){c.textureId!==a&&(w(c.textureId,b),c.textureId=a,e=m(c.textureId,c.initTexture,b,d))};a.renderTexture=function(a){(a=b.getTexture(c.textureId))&&(a.dirty&&a.redraw)&&a.redraw()};a.bindTexture=function(a,b){void 0!==e&&(b.setUniform1i("tex",0),a.bindTexture(e.getGLTexture()))};a.bindTextureSize=
function(a,b){if(void 0!==e){var c=e.getGLTexture();b.setUniform2f("texSize",c.descriptor.width,c.descriptor.height)}};a.dispose=function(){w(c.textureId,b)}};a.multiTextureGLMaterialConstructor=function(a,b,c,d){for(var e=d.length,f=Array(e),h=0;h<e;h++)f[h]=m(c[d[h][0]],c[d[h][1]],b);a.updateTextures=function(a){for(var g=0;g<e;g++){var h=c[d[g][0]],l=a[d[g][0]];h!==l&&(w(h,b),c[d[g][0]]=l,f[g]=m(l,c[d[g][1]],b))}};a.bindTextures=function(a,b){for(var c=0;c<e;c++)void 0!==f[c]&&(b.setUniform1i(d[c][2],
c),a.bindTexture(f[c].getGLTexture(),c));a.setActiveTexture(0)};a.bindOneTexture=function(a,b,c){b.setUniform1i(d[c][2],c);a.bindTexture(f[c].getGLTexture(),c);a.setActiveTexture(0)};a.disposeTextures=function(){for(var a=0;a<e;a++)w(c[d[a][0]],b)}};return a})},"esri/views/3d/webgl-engine/lib/IdGen":function(){define(["require","exports"],function(e,k){return function(){function e(){this.id2count={}}e.prototype.gen=function(e){null==e&&(e="a");var d=this.id2count[e];if(null==d)return this.id2count[e]=
0,e;for(;;){var b=e+"_"+d++;if(null==this.id2count[b])return this.id2count[e]=d,this.id2count[b]=0,b}};return e}()})},"esri/views/webgl/Util":function(){define(["require","exports"],function(e,k){return function(){function e(){}e.vertexCount=function(h,d){return h.vertexBuffers[d].size/e.getStride(h.layout[d])};e.getStride=function(e){return e[0].stride};e.addDescriptor=function(e,d,b,l,f,c){var a=0;switch(l){case 5126:a=4;break;case 5124:a=4;break;case 5125:a=4;break;case 5122:a=2;break;case 5123:a=
2;break;case 5120:a=1;break;case 5121:a=1;break;default:throw Error("Unknown data type");}if(0<e.length){var k=e[0].stride,n=k+a*b;e.forEach(function(a){return a.stride=n});e.push({name:d,count:b,type:l,offset:k,stride:n,normalized:f,divisor:c})}else e.push({name:d,count:b,type:l,offset:0,stride:a*b,normalized:f,divisor:c})};e.assertCompatibleVertexAttributeLocations=function(e,d){var b=e.locations===d.locations;b||console.error("VertexAttributeLocations are incompatible");return b};e.hasAttribute=
function(e,d){for(var b=0;b<e.length;b++)if(e[b].name===d)return!0;return!1};e.findAttribute=function(e,d){for(var b=0;b<e.length;b++)if(e[b].name===d)return e[b];return null};e.copyFramebufferToTexture=function(e,d,b,l,f){void 0===f&&(f=0);var c=e.getBoundFramebufferObject(),a=e.getBoundTexture(0);e.bindFramebuffer(d);e.bindTexture(b,0);e.gl.copyTexImage2D(e.gl.TEXTURE_2D,f,b.descriptor.pixelFormat,l[0],l[1],l[2],l[3],0);e.gl.flush();e.bindFramebuffer(c);e.bindTexture(a,0)};return e}()})},"esri/views/3d/webgl-engine/lib/RenderSlot":function(){define(["require",
"exports"],function(e,k){var n,h=n||(n={});h[h.BACKGROUND=0]="BACKGROUND";h[h.INTERNAL_MATERIAL=1]="INTERNAL_MATERIAL";h[h.STENCIL_MATERIAL=2]="STENCIL_MATERIAL";h[h.OPAQUE_TERRAIN=3]="OPAQUE_TERRAIN";h[h.OPAQUE_MATERIAL=4]="OPAQUE_MATERIAL";h[h.OPAQUE_EXTERNAL=5]="OPAQUE_EXTERNAL";h[h.TRANSPARENT_MATERIAL=6]="TRANSPARENT_MATERIAL";h[h.TRANSPARENT_EXTERNAL=7]="TRANSPARENT_EXTERNAL";h[h.TRANSPARENT_TERRAIN=8]="TRANSPARENT_TERRAIN";h[h.OCCLUSION_PIXELS=9]="OCCLUSION_PIXELS";h[h.POSTPROCESSING_HIGHLIGHT=
10]="POSTPROCESSING_HIGHLIGHT";h[h.POSTPROCESSING_ATMOSPHERE=11]="POSTPROCESSING_ATMOSPHERE";h[h.OVERLAY=12]="OVERLAY";h[h.MAX_SLOTS=13]="MAX_SLOTS";return n})},"esri/views/webgl/Program":function(){define(["require","exports","dojo/has"],function(e,k,n){return function(){function e(d,b,l,f,c){this._glName=this._context=null;this._locations={};this._id=void 0;this._initialized=!1;this._fShader=this._vShader=null;this._defines=void 0;this._nameToUniformLocation={};this._nameToAttribLocation={};this._nameToUniform1=
{};this._nameToUniform2={};this._nameToUniform3={};this._nameToUniform4={};this._nameToUniformMatrix3={};this._nameToUniformMatrix4={};d||console.error("RenderingContext isn't initialized!");0===b.length&&console.error("Shaders source should not be empty!");this._context=d;this._vertexShaderSource=b;this._fragmentShaderSource=l;this._defines=c;this._id=e._nextId++;this._locations=f}Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,
"glName",{get:function(){return this._glName},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"locations",{get:function(){return this._locations},enumerable:!0,configurable:!0});e.prototype.dispose=function(){var d=this._context.gl;this._vShader&&(d.deleteShader(this._vShader),this._vShader=null);this._fShader&&(d.deleteShader(this._fShader),this._fShader=null);this._glName&&(d.deleteProgram(this._glName),this._glName=null)};e.prototype.initialize=function(){if(!this._initialized){this._vShader=
this._loadShader(35633);this._fShader=this._loadShader(35632);(!this._vShader||!this._fShader)&&console.error("Error loading shaders!");var d=this._context.gl,b=d.createProgram();d.attachShader(b,this._vShader);d.attachShader(b,this._fShader);for(var e in this._locations)d.bindAttribLocation(b,this._locations[e],e);d.linkProgram(b);d.getProgramParameter(b,d.LINK_STATUS)||console.error("Could not initialize shader\nVALIDATE_STATUS: "+d.getProgramParameter(b,d.VALIDATE_STATUS)+", gl error ["+d.getError()+
"]infoLog: "+d.getProgramInfoLog(b));this._glName=b;this._initialized=!0}};e.prototype.getUniformLocation=function(d){this.initialize();void 0===this._nameToUniformLocation[d]&&(this._nameToUniformLocation[d]=this._context.gl.getUniformLocation(this._glName,d));return this._nameToUniformLocation[d]};e.prototype.hasUniform=function(d){return null!==this.getUniformLocation(d)};e.prototype.getAttribLocation=function(d){this.initialize();void 0===this._nameToAttribLocation[d]&&(this._nameToAttribLocation[d]=
this._context.gl.getAttribLocation(this._glName,d));return this._nameToAttribLocation[d]};e.prototype.setUniform1i=function(d,b){var e=this._nameToUniform1[d];if(void 0===e||b!==e)this._context.bindProgram(this),this._context.gl.uniform1i(this.getUniformLocation(d),b),this._nameToUniform1[d]=b};e.prototype.setUniform1f=function(d,b){var e=this._nameToUniform1[d];if(void 0===e||b!==e)this._context.bindProgram(this),this._context.gl.uniform1f(this.getUniformLocation(d),b),this._nameToUniform1[d]=b};
e.prototype.setUniform1fv=function(d,b){var l=this._nameToUniform2[d];if(void 0===l||!e._arraysEqual(b,l))this._context.bindProgram(this),this._context.gl.uniform1fv(this.getUniformLocation(d),b),void 0===l?this._nameToUniform2[d]=new Float32Array(b):l.set(b)};e.prototype.setUniform2f=function(d,b,e){var f=this._nameToUniform2[d];if(void 0===f||b!==f[0]||e!==f[1])this._context.bindProgram(this),this._context.gl.uniform2f(this.getUniformLocation(d),b,e),void 0===f?this._nameToUniform2[d]=new Float32Array([b,
e]):(f[0]=b,f[1]=e)};e.prototype.setUniform2fv=function(d,b){var l=this._nameToUniform2[d];if(void 0===l||!e._arraysEqual(b,l))this._context.bindProgram(this),this._context.gl.uniform2fv(this.getUniformLocation(d),b),void 0===l?this._nameToUniform2[d]=new Float32Array(b):l.set(b)};e.prototype.setUniform3f=function(d,b,e,f){var c=this._nameToUniform3[d];if(void 0===c||b!==c[0]||e!==c[1]||f!==c[2])this._context.bindProgram(this),this._context.gl.uniform3f(this.getUniformLocation(d),b,e,f),void 0===
c?this._nameToUniform3[d]=new Float32Array([b,e,f]):(c[0]=b,c[1]=e,c[2]=f)};e.prototype.setUniform3fv=function(d,b){var l=this._nameToUniform3[d];if(void 0===l||!e._arraysEqual(b,l))this._context.bindProgram(this),this._context.gl.uniform3fv(this.getUniformLocation(d),b),void 0===l?this._nameToUniform3[d]=new Float32Array(b):l.set(b)};e.prototype.setUniform4f=function(d,b,e,f,c){var a=this._nameToUniform4[d];if(void 0===a||b!==a[0]||e!==a[1]||f!==a[2]||c!==a[3])this._context.bindProgram(this),this._context.gl.uniform4f(this.getUniformLocation(d),
b,e,f,c),void 0===a?this._nameToUniform4[d]=new Float32Array([b,e,f,c]):(a[0]=b,a[1]=e,a[2]=f,a[3]=c)};e.prototype.setUniform4fv=function(d,b){var l=this._nameToUniform4[d];if(void 0===l||!e._arraysEqual(b,l))this._context.bindProgram(this),this._context.gl.uniform4fv(this.getUniformLocation(d),b),void 0===l?this._nameToUniform4[d]=new Float32Array(b):l.set(b)};e.prototype.setUniformMatrix3fv=function(d,b,l){void 0===l&&(l=!1);var f=this._nameToUniformMatrix3[d];if(void 0===f||(9===f.length?!e._matrix3Equal(f,
b):!e._arraysEqual(b,f)))this._context.bindProgram(this),this._context.gl.uniformMatrix3fv(this.getUniformLocation(d),l,b),void 0===f?this._nameToUniformMatrix3[d]=new Float32Array(b):f.set(b)};e.prototype.setUniformMatrix4fv=function(d,b,l){void 0===l&&(l=!1);var f=this._nameToUniformMatrix4[d];if(void 0===f||(16===f.length?!e._matrix4Equal(f,b):!e._arraysEqual(b,f)))this._context.bindProgram(this),this._context.gl.uniformMatrix4fv(this.getUniformLocation(d),l,b),void 0===f?this._nameToUniformMatrix4[d]=
new Float32Array(b):f.set(b)};e._padToThree=function(d){var b=d.toString();1E3>d&&(b=("  "+d).slice(-3));return b};e.prototype._addLineNumbers=function(d){var b=2;return d.replace(/\n/g,function(){return"\n"+e._padToThree(b++)+":"})};e.prototype._loadShader=function(d){var b=35633===d?this._vertexShaderSource:this._fragmentShaderSource;if(void 0!==this._defines){var e="";if(Array.isArray(this._defines))for(var f=0,c=this._defines;f<c.length;f++)var a=c[f],e=e+("#define "+a+"\n");else for(a in this._defines)e+=
"#define "+a+"\n";b=e+b}e=this._context.gl;d=e.createShader(d);e.shaderSource(d,b);e.compileShader(d);e.getShaderParameter(d,e.COMPILE_STATUS)||(console.error(e.getShaderInfoLog(d)),console.error(this._addLineNumbers(b)));return d};e._matrix4Equal=function(d,b){return d[0]===b[0]&&d[1]===b[1]&&d[2]===b[2]&&d[3]===b[3]&&d[4]===b[4]&&d[5]===b[5]&&d[6]===b[6]&&d[7]===b[7]&&d[8]===b[8]&&d[9]===b[9]&&d[10]===b[10]&&d[11]===b[11]&&d[12]===b[12]&&d[13]===b[13]&&d[14]===b[14]&&d[15]===b[15]};e._matrix3Equal=
function(d,b){return d[0]===b[0]&&d[1]===b[1]&&d[2]===b[2]&&d[3]===b[3]&&d[4]===b[4]&&d[5]===b[5]&&d[6]===b[6]&&d[7]===b[7]&&d[8]===b[8]};e._arraysEqual=function(d,b){if(d.length!==b.length)return!1;for(var e=0;e<d.length;++e)if(d[e]!==b[e])return!1;return!0};e._nextId=0;return e}()})},"esri/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations":function(){define(["require","exports"],function(e,k){k.Default3D={position:0,normal:1,uv0:2,color:3,instanceColor:3,size:4,auxpos1:5,auxpos2:6,featureAttribute:6,
instanceFeatureAttribute:6,region:7,model:8,modelNormal:12}})},"esri/views/3d/webgl-engine/materials/internal/TexOnlyGLMaterial":function(){define("require exports dojo/text!./TexOnlyGLMaterial.xml ./MaterialUtil ../../lib/RenderSlot ../../lib/gl-matrix ../../../../webgl/Program ../../../../webgl/enums ../../lib/DefaultVertexAttributeLocations".split(" "),function(e,k,n,h,d,b,l,f,c){var a=b.vec4d.createFrom(1,1,1,1);return function(){function b(a,c,d,e,f){this.id=h.__GLMaterial_id++;this.program=
a.get("texOnly");this.color=d;this.depthFunc=f;this.blend=e;this.texGLName=c}b.prototype.getId=function(){return this.id};b.prototype.beginSlot=function(a){return a===d.INTERNAL_MATERIAL};b.prototype.getProgram=function(){return this.program};b.prototype.setColor=function(a){this.color=a};b.prototype.bind=function(b,c){b.bindProgram(this.program);this.program.setUniformMatrix4fv("model",h.IDENTITY);this.program.setUniformMatrix4fv("proj",c.proj);this.program.setUniform4fv("color",void 0!==this.color?
this.color:a);this.program.setUniform1i("tex",0);b.bindTexture(this.texGLName,0);this.blend&&b.setBlendingEnabled(!0);void 0!==this.depthFunc&&b.setDepthFunction(this.depthFunc)};b.prototype.release=function(a){void 0!==this.depthFunc&&a.setDepthFunction(513);this.blend&&a.setBlendingEnabled(!1)};b.prototype.bindView=function(a,b){h.bindView(b.origin,b.view,this.program)};b.prototype.bindInstance=function(a,b){this.program.setUniformMatrix4fv("model",b.transformation)};b.prototype.getDrawMode=function(a){return a.gl.TRIANGLES};
b.loadShaders=function(a,b,d,e){a._parse(n);a=new l(e,a.vertexShaderTexOnly,a.fragmentShaderTexOnly,c.Default3D);d.add("texOnly",a)};return b}()})},"esri/views/3d/webgl-engine/lib/LinearDepthTextureHelper":function(){define(["require","exports","./Util","../../../webgl/FramebufferObject","../../../webgl/enums"],function(e,k,n,h,d){return function(){function b(b){this._rctx=b;this._depthFBO=void 0;this.height=this.width=this.viewportToRestore=null}b.prototype.setEnableState=function(b){b!==this.getEnableState()&&
(b?this.enable():this.disable())};b.prototype.getEnableState=function(){return void 0!==this._depthFBO};b.prototype.getDepthFBO=function(){return this._depthFBO};b.prototype.enable=function(){n.assert(!this.getEnableState());this._depthFBO=h.createWithAttachments(this._rctx,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,wrapMode:33071,width:0,height:0},{colorTarget:0,depthStencilTarget:1})};b.prototype.disable=function(){n.assert(this.getEnableState());this._depthFBO.dispose();this._depthFBO=
void 0};b.prototype.setupFBOs=function(b){n.assert(this.getEnableState());this.viewportToRestore=b=b.fullViewport;this.width=b[2];this.height=b[3];this._rctx.setViewport(0,0,this.width,this.height)};b.prototype.prepareDepthPass=function(){n.assert(this.getEnableState());var b=this._rctx,d=b.gl;this._depthFBO.resize(this.width,this.height);b.bindFramebuffer(this._depthFBO);b.setClearColor(0,0,0,0);b.clear(d.COLOR_BUFFER_BIT|d.DEPTH_BUFFER_BIT)};b.prototype.finish=function(b){var d=this._rctx;d.bindFramebuffer(b);
d.setViewport(this.viewportToRestore[0],this.viewportToRestore[1],this.viewportToRestore[2],this.viewportToRestore[3])};return b}()})},"esri/views/webgl/FramebufferObject":function(){define(["require","exports","./Texture"],function(e,k,n){return function(){function e(d,b,l,f){this._colorAttachment=this._stencilAttachment=this._depthAttachment=this._glName=this._context=null;this._initialized=!1;this._context=d;this._desc={colorTarget:b.colorTarget,depthStencilTarget:b.depthStencilTarget,width:b.width,
height:b.height,multisampled:b.multisampled};this._id=e._nextId++;l&&(d=void 0,l instanceof n?(this._colorAttachment=l,d=l.descriptor):(d=l,this._colorAttachment=new n(this._context,d)),0!==this._desc.colorTarget&&console.error("Framebuffer is initialized with a texture however the descriptor indicates using a renderbuffer color attachment!"),e._validateTextureDimensions(d,this._desc));f&&(this._context.extensions.depthTexture||console.error("Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture as an attachment!"),
l=void 0,f instanceof n?(this._depthStencilTexture=f,l=this._depthStencilTexture.descriptor):(l=f,this._depthStencilTexture=new n(this._context,l)),e._validateTextureDimensions(l,this._desc))}e.create=function(d,b){return new e(d,b)};e.createWithAttachments=function(d,b,l,f){return new e(d,l,b,f)};Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"glName",{get:function(){return this._glName},enumerable:!0,configurable:!0});
Object.defineProperty(e.prototype,"descriptor",{get:function(){return this._desc},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"colorTexture",{get:function(){return this._colorAttachment instanceof n?this._colorAttachment:null},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"depthStencilTexture",{get:function(){return this._depthStencilTexture},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"width",{get:function(){return this._desc.width},
enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"height",{get:function(){return this._desc.height},enumerable:!0,configurable:!0});e.prototype.dispose=function(){this._context&&this._glName&&(this._disposeColorAttachment(),this._disposeDepthStencilAttachments(),this._context.gl.deleteFramebuffer(this._glName),this._glName=null)};e.prototype.attachColorTexture=function(d){if(d){e._validateTextureDimensions(d.descriptor,this._desc);this._disposeColorAttachment();if(this._initialized){this._context.bindFramebuffer(this);
var b=this._context.gl;b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,d.glName,0)}this._colorAttachment=d}};e.prototype.detachColorTexture=function(){var d=void 0;if(this._colorAttachment instanceof n){d=this._colorAttachment;if(this._initialized){this._context.bindFramebuffer(this);var b=this._context.gl;this._context.gl.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,null,0)}this._colorAttachment=null}return d};e.prototype.attachDepthStencilTexture=function(d){if(d){var b=
d.descriptor;34041!==b.pixelFormat&&console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!");34042!==b.dataType&&console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8_WEBGL!");this._context.extensions.depthTexture||console.error("Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture!");e._validateTextureDimensions(b,this._desc);4!==this._desc.depthStencilTarget&&(this._desc.depthStencilTarget=4);this._disposeDepthStencilAttachments();
this._initialized&&(this._context.bindFramebuffer(this),b=this._context.gl,b.framebufferTexture2D(b.FRAMEBUFFER,b.DEPTH_STENCIL_ATTACHMENT,b.TEXTURE_2D,d.glName,0));this._depthStencilTexture=d}};e.prototype.detachDepthStencilTexture=function(){var d=this._depthStencilTexture;if(d&&this._initialized){this._context.bindFramebuffer(this);var b=this._context.gl;this._context.gl.framebufferTexture2D(b.FRAMEBUFFER,b.DEPTH_STENCIL_ATTACHMENT,b.TEXTURE_2D,null,0)}this._depthStencilTexture=null;return d};
e.prototype.copyToTexture=function(d,b,e,f,c,a,h){(0>d||0>b||0>c||0>a)&&console.error("Offsets cannot be negative!");(0>=e||0>=f)&&console.error("Copy width and height must be greater than zero!");var k=this._desc,n=h.descriptor;3553!==h.descriptor.target&&console.error("Texture target must be TEXTURE_2D!");(d+e>k.width||b+f>k.height||c+e>n.width||a+f>n.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");k=this._context;k.bindTexture(h);k.bindFramebuffer(this);
k.gl.copyTexSubImage2D(3553,0,c,a,d,b,e,f)};e.prototype.readPixels=function(d,b,e,f,c,a,h){(0>=e||0>=f)&&console.error("Copy width and height must be greater than zero!");h||console.error("Target memory is not initialized!");this._context.bindFramebuffer(this);this._context.gl.readPixels(d,b,e,f,c,a,h)};e.prototype.resize=function(d,b){var l=this._desc;if(!(l.width===d&&l.height===b))if(this._initialized)l.width=d,l.height=b,this._colorAttachment instanceof n?(f=this._colorAttachment,l=f.descriptor,
l.width=d,l.height=b,this._colorAttachment=new n(this._context,l),e._validateTextureDimensions(f.descriptor,this._desc)):this._colorAttachment=null,null!=this._depthStencilTexture&&(l=this._depthStencilTexture.descriptor,l.width=d,l.height=b,this._depthStencilTexture=new n(this._context,l)),this._initialized=!1;else{l.width=d;l.height=b;if(this._colorAttachment instanceof n){var f=this._colorAttachment;f.resize(d,b)}this._depthStencilTexture&&this._depthStencilTexture.resize(d,b)}};e.prototype.initialize=
function(){if(this._initialized)return!1;var d=this._context.gl,b=d.createFramebuffer(),e=this._desc;d.bindFramebuffer(d.FRAMEBUFFER,b);if(!this._colorAttachment)if(0===e.colorTarget)this._colorAttachment=new n(this._context,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,wrapMode:33071,width:e.width,height:e.height});else{var f=d.createRenderbuffer();d.bindRenderbuffer(d.RENDERBUFFER,f);d.renderbufferStorage(d.RENDERBUFFER,d.RGBA4,e.width,e.height);d.framebufferRenderbuffer(d.FRAMEBUFFER,
d.COLOR_ATTACHMENT0,d.RENDERBUFFER,f);this._colorAttachment=f}this._colorAttachment instanceof n&&d.framebufferTexture2D(d.FRAMEBUFFER,d.COLOR_ATTACHMENT0,d.TEXTURE_2D,this._colorAttachment.glName,0);switch(e.depthStencilTarget){case 1:case 3:f=d.createRenderbuffer();d.bindRenderbuffer(d.RENDERBUFFER,f);var c=1===e.depthStencilTarget?d.DEPTH_ATTACHMENT:d.DEPTH_STENCIL_ATTACHMENT;d.renderbufferStorage(d.RENDERBUFFER,1===e.depthStencilTarget?d.DEPTH_COMPONENT16:d.DEPTH_STENCIL,e.width,e.height);d.framebufferRenderbuffer(d.FRAMEBUFFER,
c,d.RENDERBUFFER,f);this._depthAttachment=f;break;case 2:f=d.createRenderbuffer();d.bindRenderbuffer(d.RENDERBUFFER,f);d.renderbufferStorage(d.RENDERBUFFER,d.STENCIL_INDEX8,e.width,e.height);d.framebufferRenderbuffer(d.FRAMEBUFFER,d.STENCIL_ATTACHMENT,d.RENDERBUFFER,f);this._stencilAttachment=f;break;case 4:this._depthStencilTexture||(this._context.extensions.depthTexture||console.error("Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture as an attachment!"),
this._depthStencilTexture=new n(this._context,{target:3553,pixelFormat:34041,dataType:34042,samplingMode:9728,wrapMode:33071,width:e.width,height:e.height})),d.framebufferTexture2D(d.FRAMEBUFFER,d.DEPTH_STENCIL_ATTACHMENT,d.TEXTURE_2D,this._depthStencilTexture.glName,0)}d.checkFramebufferStatus(d.FRAMEBUFFER)!==d.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!");this._glName=b;return this._initialized=!0};e.prototype._disposeColorAttachment=function(){if(this._colorAttachment instanceof
n){var d=this._colorAttachment;if(this._initialized){this._context.bindFramebuffer(this);var b=this._context.gl;b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,null,0)}d.dispose()}else this._colorAttachment instanceof WebGLRenderbuffer&&(d=this._colorAttachment,b=this._context.gl,this._initialized&&(this._context.bindFramebuffer(this),b.framebufferRenderbuffer(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.RENDERBUFFER,null)),this._context.gl.deleteRenderbuffer(d));this._colorAttachment=
null};e.prototype._disposeDepthStencilAttachments=function(){var d=this._context.gl;if(this._depthAttachment){if(this._initialized){this._context.bindFramebuffer(this);var b=this._context.gl;b.framebufferRenderbuffer(b.FRAMEBUFFER,1===this._desc.depthStencilTarget?b.DEPTH_ATTACHMENT:b.DEPTH_STENCIL_ATTACHMENT,b.RENDERBUFFER,null)}d.deleteRenderbuffer(this._depthAttachment);this._depthAttachment=null}this._stencilAttachment&&(this._initialized&&(this._context.bindFramebuffer(this),b=this._context.gl,
b.framebufferRenderbuffer(b.FRAMEBUFFER,b.STENCIL_ATTACHMENT,b.RENDERBUFFER,null)),d.deleteRenderbuffer(this._stencilAttachment),this._stencilAttachment=null);this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),d=this._context.gl,d.framebufferTexture2D(d.FRAMEBUFFER,d.DEPTH_STENCIL_ATTACHMENT,d.TEXTURE_2D,null,0)),this._depthStencilTexture.dispose(),this._depthStencilTexture=null)};e._validateTextureDimensions=function(d,b){console.assert(0<=d.width&&0<=d.height);3553!==
d.target&&console.error("Texture type must be TEXTURE_2D!");void 0!==b.width&&0<=b.width&&void 0!==b.height&&0<=b.height?(b.width!==d.width||b.height!==d.height)&&console.error("Color attachment texture must match the framebuffer's!"):(b.width=d.width,b.height=d.height)};e._nextId=0;return e}()})},"esri/views/3d/webgl-engine/lib/NormalTextureHelper":function(){define(["require","exports","./Util","../../../webgl/FramebufferObject","../../../webgl/enums"],function(e,k,n,h,d){return function(){function b(b){this.rctx=
b;this.normalFBO=void 0;this.height=this.width=this.viewportToRestore=null}b.prototype.setEnableState=function(b){b!==this.getEnableState()&&(b?this.enable():this.disable())};b.prototype.getEnableState=function(){return void 0!==this.normalFBO};b.prototype.getNormalFBO=function(){return this.normalFBO};b.prototype.enable=function(){n.assert(!this.getEnableState());this.normalFBO=h.createWithAttachments(this.rctx,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,wrapMode:33071,width:0,
height:0},{colorTarget:0,depthStencilTarget:1})};b.prototype.disable=function(){n.assert(this.getEnableState());this.normalFBO.dispose();this.normalFBO=void 0};b.prototype.setupFBOs=function(b){n.assert(this.getEnableState());this.viewportToRestore=b=b.viewport;this.width=b[2];this.height=b[3];this.rctx.setViewport(0,0,this.width,this.height)};b.prototype.prepareNormalPass=function(){n.assert(this.getEnableState());var b=this.rctx,d=b.gl;this.normalFBO.resize(this.width,this.height);b.bindFramebuffer(this.normalFBO);
b.setClearColor(0,0,0,0);b.clear(d.COLOR_BUFFER_BIT|d.DEPTH_BUFFER_BIT)};b.prototype.finish=function(b){var d=this.rctx;d.bindFramebuffer(b);d.setViewport(this.viewportToRestore[0],this.viewportToRestore[1],this.viewportToRestore[2],this.viewportToRestore[3])};return b}()})},"esri/views/3d/webgl-engine/lib/HighlightTextureHelper":function(){define(["require","exports","./Util","../../../webgl/FramebufferObject","../../../webgl/enums"],function(e,k,n,h,d){return function(){function b(b){this._rctx=
b;this.height=this.width=this.viewportToRestore=this.fbo2=this.fbo=null}b.prototype.setEnableState=function(b){b!==this.getEnableState()&&(b?this.enable():this.disable())};b.prototype.getEnableState=function(){return null!==this.fbo};b.prototype.getHighlightFBO=function(){return this.fbo};b.prototype.getBlurFBO=function(){return this.fbo2};b.prototype.enable=function(){n.assert(!this.getEnableState());this.fbo=h.createWithAttachments(this._rctx,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9729,
wrapMode:33071,width:0,height:0},{colorTarget:0,depthStencilTarget:1})};b.prototype.disable=function(){n.assert(this.getEnableState());this.fbo.dispose();this.fbo=null};b.prototype.setupFBOs=function(b){n.assert(this.getEnableState());this.viewportToRestore=b=b.fullViewport;this.width=b[2];this.height=b[3];this._rctx.setViewport(0,0,this.width,this.height)};b.prototype.prepareHighlightPass=function(){n.assert(this.getEnableState());var b=this._rctx,d=b.gl;this.fbo.resize(this.width,this.height);b.bindFramebuffer(this.fbo);
b.setClearColor(0,0,0,0);b.clear(d.COLOR_BUFFER_BIT|d.DEPTH_BUFFER_BIT)};b.prototype.finish=function(b){var d=this._rctx;d.bindFramebuffer(b);d.setViewport(this.viewportToRestore[0],this.viewportToRestore[1],this.viewportToRestore[2],this.viewportToRestore[3])};return b}()})},"esri/views/3d/webgl-engine/lib/RenderPass":function(){define(["require","exports"],function(e,k){var n,h=n||(n={});h[h.MATERIAL=0]="MATERIAL";h[h.MATERIAL_DEPTH=1]="MATERIAL_DEPTH";h[h.MATERIAL_NORMAL=2]="MATERIAL_NORMAL";h[h.MATERIAL_DEPTH_SHADOWMAP=
3]="MATERIAL_DEPTH_SHADOWMAP";h[h.MATERIAL_HIGHLIGHT=4]="MATERIAL_HIGHLIGHT";h[h.MAX_PASS=5]="MAX_PASS";return n})},"esri/views/3d/webgl-engine/lib/RenderContext":function(){define(["require","exports","./RenderSlot","./RenderPass"],function(e,k,n,h){return function(){return function(){this.normals=this.lightingData=this.highlight=this.filterFaceRange=this.filterContent=this.depth=this.camera=this.options=this.rctx=null;this.pass=h.MATERIAL;this.shadowMap=null;this.slot=n.BACKGROUND;this.framebufferTex=
this.visibleContent=this.stencilRenderingHelper=this.offscreenRenderingHelper=this.ssaoHelper=null}}()})},"esri/views/3d/webgl-engine/lib/ExternalRendererContainer":function(){define(["require","exports","./RenderSlot"],function(e,k,n){return function(){function e(){this.renderersChanged=!1;this.renderers=[];this.slots=[];for(var d=0;d<n.MAX_SLOTS;++d)this.slots[d]=[]}e.prototype.addRenderer=function(d,b){this.renderers.push(b);for(var e=0;e<d.length;++e)this.slots[d[e]].push(b);this.renderersChanged=
!0};e.prototype.removeRenderer=function(d){this.renderers=this.renderers.filter(function(b){return b!==d});for(var b=0;b<this.slots.length;++b)this.slots[b]=this.slots[b].filter(function(b){return b!==d});this.renderersChanged=!0};e.prototype.render=function(d,b){b.slot=d;for(var e=this.slots[d],f=0;f<e.length;++f){var c=e[f];c.render(b)&&(c.didRender=!0)}};e.prototype.needsRender=function(){if(this.renderersChanged)return!0;for(var d=0;d<this.renderers.length;++d)if(this.renderers[d].needsRender)return!0;
return!1};e.prototype.resetNeedsRender=function(){this.renderersChanged=!1;for(var d=0;d<this.renderers.length;++d){var b=this.renderers[d];b.resetNeedsRender?b.resetNeedsRender():b.didRender&&(b.needsRender=!1,b.didRender=!1)}};return e}()})},"esri/views/3d/webgl-engine/lib/StencilRenderingHelper":function(){define(["require","exports","./Util","../../../webgl/enums"],function(e,k,n,h){return function(){function d(b){this._enabled=!1;this._rctx=b}d.prototype.enable=function(){this._enabled=!0;this._rctx.setStencilTestEnabled(!0)};
d.prototype.disable=function(){this._enabled=!1;this._rctx.setStencilTestEnabled(!1)};d.prototype.getIsSupported=function(){return!!this._rctx.contextAttributes.stencil};d.prototype.setEnableState=function(b){b?this.enable():this.disable()};d.prototype.getEnableState=function(){return this._enabled};d.prototype.prepareStencilWritePass=function(){n.assert(this.getEnableState());var b=this._rctx;b.setClearStencil(0);b.setStencilFunction(519,1,255);b.setStencilOp(7680,7680,7681);b.setStencilWriteMask(255)};
d.prototype.prepareStencilReadPass=function(){n.assert(this.getEnableState());var b=this._rctx;b.setStencilFunction(517,1,255);b.setStencilWriteMask(0)};d.prototype.prepareStencilDisabledPass=function(){n.assert(this.getEnableState());var b=this._rctx;b.setStencilFunction(519,0,0);b.setStencilWriteMask(0)};return d}()})},"esri/views/3d/webgl-engine/lib/BitSet":function(){define(["require","exports"],function(e,k){return function(){function e(){this.bitsPerWord=32;this.addressBitsPerWord=5;this._store=
[]}e.prototype.clone=function(){var h=new e;h._store=this._store.slice();return h};e.prototype.wordIndex=function(e){return e>>this.addressBitsPerWord};e.prototype.set=function(e){return this._store[this.wordIndex(e-1)]|=1<<e-1};e.prototype.clear=function(e){return this._store[this.wordIndex(e-1)]&=255^1<<e-1};e.prototype.clearAll=function(){for(var e=0;e<this._store.length;++e)this._store[e]=0};e.prototype.get=function(e){return 0!==(this._store[this.wordIndex(e-1)]&1<<e-1)};e.prototype.length=function(){return 0===
this.wordLength()?0:this.bitsPerWord*(this.wordLength()-1)+(this._store[this.wordLength()-1].toString(2).length+1)};e.prototype.wordLength=function(){for(var e,d=this._store.length,b=e=this._store.length-1;(0>=e?0>=b:0<=b)&&0===this._store[b];0>=e?b++:b--)d--;return d};e.prototype.store=function(){return this._store};e.prototype.cardinality=function(){for(var e=0,d=0,b=this.length();0<=b?d<=b:d>=b;0<=b?d++:d--)this.get(d)&&e++;return e};e.prototype.toString=function(){for(var e=[],d=0,b=this.length();0<=
b?d<=b:d>=b;0<=b?d++:d--)this.get(d)&&e.push(""+d);return"{"+e.join(",")+"}"};e.prototype.toBinaryString=function(){var e=this,d=function(b,d,e){for(;b.length<e;)b=d+b;return b};return 0<this.wordLength()?this._store.map(function(b){return d(b.toString(2),"0",e.bitsPerWord)}).join(""):d("","0",this.bitsPerWord)};e.prototype.or=function(e){if(this!==e){for(var d=Math.min(this.wordLength(),e.wordLength()),b=0,l=d-1;0<=l?b<=l:b>=l;0<=l?b++:b--)this._store[b]|=e.store[b];d<e.wordLength()&&(this._store=
this._store.concat(e._store.slice(d,e.wordLength())));return null}};e.prototype.and=function(e){var d;if(this!==e){for(var b=d=this.wordLength(),l=e.wordLength();d<=l?b<=l:b>=l;d<=l?b++:b--)this._store[b]=0;b=0;for(d=this.wordLength();0<=d?b<=d:b>=d;0<=d?b++:b--)this._store[b]&=e.store[b];return null}};e.prototype.andNot=function(e){for(var d=0,b=Math.min(this.wordLength(),e.wordLength())-1;0<=b?d<=b:d>=b;0<=b?d++:d--)this._store[d]&=~e.store[d];return null};e.prototype.xor=function(e){if(this!==
e){for(var d=0,b=this.wordLength();0<=b?d<=b:d>=b;0<=b?d++:d--)this._store[d]^=e.store[d];return null}};return e}()})},"esri/views/webgl/VertexArrayObject":function(){define(["require","exports"],function(e,k){return function(){function e(h,d,b,l,f){this._locations=this._layout=this._glName=this._context=null;this._indexBuffer=this._buffers=void 0;this._initialized=!1;this._context=h;this._layout=b;this._buffers=l;this._locations=d;f&&(this._indexBuffer=f);this._id=e._nextId++}Object.defineProperty(e.prototype,
"id",{get:function(){return this._id},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"glName",{get:function(){return this._glName},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"vertexBuffers",{get:function(){return this._buffers},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"indexBuffer",{get:function(){return this._indexBuffer},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"layout",{get:function(){return this._layout},
enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"locations",{get:function(){return this._locations},enumerable:!0,configurable:!0});e.prototype.dispose=function(e){void 0===e&&(e=!0);var d=this._context.extensions.vao;d&&this._glName&&(d.deleteVertexArrayOES(this._glName),this._glName=null);this._context.getBoundVAO()===this&&this._context.bindVAO(null);if(e){for(var b in this._buffers)this._buffers[b].dispose(),delete this._buffers[b];this._indexBuffer&&(this._indexBuffer.dispose(),
this._indexBuffer=null)}};e.prototype.initialize=function(){if(!this._initialized){var e=this._context.extensions.vao;if(e){var d=e.createVertexArrayOES();e.bindVertexArrayOES(d);this._bindLayout();e.bindVertexArrayOES(null);this._glName=d}this._initialized=!0}};e.prototype.bind=function(){this.initialize();var e=this._context.extensions.vao;e?e.bindVertexArrayOES(this.glName):(this._context.bindVAO(null),this._bindLayout())};e.prototype._bindLayout=function(){var e=this._buffers,d=this._context.extensions.vao,
b=this._layout,l=this._indexBuffer;e||console.error("Vertex buffer dictionary is empty!");var f=this._context.gl,c,a,k=0,n;for(n in e){(c=e[n])||console.error("Vertex buffer is uninitialized!");(a=b[n])||console.error("Vertex element descriptor is empty!");this._context.bindBuffer(c);for(k=0;k<a.length;++k){c=a[k];var v=this._locations[c.name];void 0===v&&console.error("There is no location for vertex attribute '"+c.name+" defined.");if(4>=c.count){if(f.enableVertexAttribArray(v),f.vertexAttribPointer(v,
c.count,c.type,c.normalized,c.stride,c.offset),c.divisor&&0<c.divisor){var u=this._context.extensions.angleInstancedArrays;u&&u.vertexAttribDivisorANGLE(v,c.divisor)}}else if(16===c.count&&5126===c.type)for(var q=0;4>q;q++)f.enableVertexAttribArray(v+q),f.vertexAttribPointer(v+q,4,c.type,c.normalized,c.stride,c.offset+16*q),c.divisor&&0<c.divisor&&(u=this._context.extensions.angleInstancedArrays)&&u.vertexAttribDivisorANGLE(v+q,c.divisor);else console.error("Unsupported vertex attribute element count: "+
c.count)}}l&&(d?f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,l.glName):this._context.bindBuffer(l))};e.prototype.unbind=function(){this.initialize();var e=this._context.extensions.vao;e?e.bindVertexArrayOES(null):this._unbindLayout()};e.prototype._unbindLayout=function(){var e=this._buffers,d=this._layout,b=this._locations,l=this._context;e||console.error("Vertex buffer dictionary is empty!");var f=l.gl,c,a,k,n=0,v=0,u;for(u in e){(c=e[u])||console.error("Vertex buffer is uninitialized!");a=d[u];n=0;for(v=
a.length;n<v;++n)k=a[n],f.disableVertexAttribArray(b[k.name]);l.unbindBuffer(c.bufferType)}(e=this._indexBuffer)&&l.unbindBuffer(e.bufferType)};e._nextId=0;return e}()})},"esri/views/webgl/BufferObject":function(){define(["require","exports"],function(e,k){return function(){function e(h,d,b,l){this._glName=this._context=null;this._bufferType=void 0;this._usage=35044;this._size=-1;this._indexType=void 0;this._context=h;this._bufferType=d;this._usage=b;this._id=e._nextId++;this._glName=this._context.gl.createBuffer();
l&&this.setData(l)}e.createIndex=function(h,d,b){return new e(h,34963,d,b)};e.createVertex=function(h,d,b){return new e(h,34962,d,b)};Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"glName",{get:function(){return this._glName},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"usage",{get:function(){return this._usage},
enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"bufferType",{get:function(){return this._bufferType},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"indexType",{get:function(){return this._indexType},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"byteSize",{get:function(){return 34962===this._bufferType?this._size:5125===this._indexType?4*this._size:2*this._size},enumerable:!0,configurable:!0});e.prototype.dispose=function(){this._glName&&
(this._context.gl.deleteBuffer(this._glName),this._glName=null)};e.prototype.setData=function(e){if(e){if("number"===typeof e)0>e&&console.error("Buffer size cannot be negative!"),this._size=e;else{var d=e.byteLength;e instanceof Uint16Array&&(d/=2,this._indexType=5123);e instanceof Uint32Array&&(d/=4,this._indexType=5125);this._size=d}d=this._context.getBoundVAO();this._context.bindVAO(null);this._context.bindBuffer(this);this._context.gl.bufferData(this._bufferType,e,this._usage);this._context.bindVAO(d)}};
e.prototype.setSubData=function(e,d,b,l){void 0===d&&(d=0);void 0===b&&(b=0);if(e){(0>d||d>=this._size)&&console.error("offset is out of range!");var f=d,c=b,a=l,k=e.byteLength;e instanceof Uint16Array&&(k/=2,f*=2,c*=2,a*=2);e instanceof Uint32Array&&(k/=4,f*=4,c*=4,a*=2);void 0===l&&(l=k-1);b>=l&&console.error("end must be bigger than start!");d+b-l>this._size&&console.error("An attempt to write beyond the end of the buffer!");d=this._context.getBoundVAO();this._context.bindVAO(null);this._context.bindBuffer(this);
this._context.gl.bufferSubData(this._bufferType,f,(e instanceof ArrayBuffer?e:e.buffer).slice(c,a));this._context.bindVAO(d)}};e._nextId=0;return e}()})},"esri/views/3d/webgl-engine/lib/FxaaRenderPass":function(){define("require exports ../../../webgl/Program ../../../webgl/VertexArrayObject ../../../webgl/BufferObject ../../../webgl/enums".split(" "),function(e,k,n,h,d,b){return function(){function b(d){this.isEnabled=!1;this.vertexAttributeLocations={position:0};this.vertexBufferLayout=[{name:"position",
count:2,type:5126,offset:0,stride:8,normalized:!1}];this.rctx=d}b.prototype.enable=function(){if(!this.isEnabled){var b=this.rctx;this.program=new n(b,"\n      #version 100\n      precision mediump float;\n\n      attribute vec2 position;\n\n      varying   vec2 fCoordinate;\n\n      void main() {\n        fCoordinate \x3d (position + 1.0 ) * 0.5;\n        gl_Position \x3d vec4(position, -1, 1);\n      }","\n      #version 100\n      precision mediump float;\n      /**\n       * @license\n       * Copyright (c) 2011 NVIDIA Corporation. All rights reserved.\n       *\n       * TO  THE MAXIMUM  EXTENT PERMITTED  BY APPLICABLE  LAW, THIS SOFTWARE  IS PROVIDED\n       * *AS IS*  AND NVIDIA AND  ITS SUPPLIERS DISCLAIM  ALL WARRANTIES,  EITHER  EXPRESS\n       * OR IMPLIED, INCLUDING, BUT NOT LIMITED  TO, NONINFRINGEMENT,IMPLIED WARRANTIES OF\n       * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL  NVIDIA\n       * OR ITS SUPPLIERS BE  LIABLE  FOR  ANY  DIRECT, SPECIAL,  INCIDENTAL,  INDIRECT,  OR\n       * CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION,  DAMAGES FOR LOSS\n       * OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY\n       * OTHER PECUNIARY LOSS) ARISING OUT OF THE  USE OF OR INABILITY  TO USE THIS SOFTWARE,\n       * EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\n       */\n\n      #define FXAA_EDGE_THRESHOLD      (1.0/8.0)\n      #define FXAA_EDGE_THRESHOLD_MIN  (1.0/24.0)\n      #define FXAA_SEARCH_STEPS        16\n      #define FXAA_SEARCH_THRESHOLD    (1.0/4.0)\n      #define FXAA_SUBPIX_CAP          (3.0/4.0)\n      #define FXAA_SUBPIX_TRIM         (1.0/4.0)\n      #define FXAA_SUBPIX_TRIM_SCALE (1.0/(1.0 - FXAA_SUBPIX_TRIM))\n\n      uniform vec2 uRcpFrameDimension;\n      uniform sampler2D uColorTexture;\n      varying vec2 fCoordinate;\n\n      // Return the luma, the estimation of luminance from rgb inputs.\n      // This approximates luma using one FMA instruction,\n      // skipping normalization and tossing out blue.\n      // FxaaLuma() will range 0.0 to 2.963210702.\n      float FxaaLuma(vec3 rgb) {\n        return rgb.y * (0.587 / 0.299) + rgb.x;\n      }\n      vec3 FxaaLerp3(vec3 a, vec3 b, float amountOfA) {\n        return (vec3(-amountOfA) * b) + ((a * vec3(amountOfA)) + b);\n      }\n      vec4 FxaaTexOff(sampler2D tex, vec2 pos, ivec2 off, vec2 rcpFrame) {\n        float x \x3d pos.x + float(off.x) * rcpFrame.x;\n        float y \x3d pos.y + float(off.y) * rcpFrame.y;\n        return texture2D(tex, vec2(x, y));\n      }\n\n      // pos is the output of FxaaVertexShader interpolated across screen.\n      // xy -\x3e actual texture position {0.0 to 1.0}\n      // rcpFrame should be a uniform equal to  {1.0/frameWidth, 1.0/frameHeight}\n      vec3 FxaaPixelShader(vec2 pos, sampler2D tex, vec2 rcpFrame) {\n        vec3 rgbN \x3d FxaaTexOff(tex, pos.xy, ivec2( 0,-1), rcpFrame).xyz;\n        vec3 rgbW \x3d FxaaTexOff(tex, pos.xy, ivec2(-1, 0), rcpFrame).xyz;\n        vec3 rgbM \x3d FxaaTexOff(tex, pos.xy, ivec2( 0, 0), rcpFrame).xyz;\n        vec3 rgbE \x3d FxaaTexOff(tex, pos.xy, ivec2( 1, 0), rcpFrame).xyz;\n        vec3 rgbS \x3d FxaaTexOff(tex, pos.xy, ivec2( 0, 1), rcpFrame).xyz;\n        float lumaN \x3d FxaaLuma(rgbN);\n        float lumaW \x3d FxaaLuma(rgbW);\n        float lumaM \x3d FxaaLuma(rgbM);\n        float lumaE \x3d FxaaLuma(rgbE);\n        float lumaS \x3d FxaaLuma(rgbS);\n        float rangeMin \x3d min(lumaM, min(min(lumaN, lumaW), min(lumaS, lumaE)));\n        float rangeMax \x3d max(lumaM, max(max(lumaN, lumaW), max(lumaS, lumaE)));\n        float range \x3d rangeMax - rangeMin;\n        if (range \x3c max(FXAA_EDGE_THRESHOLD_MIN, rangeMax * FXAA_EDGE_THRESHOLD)) {\n          return rgbM;\n        }\n        vec3 rgbL \x3d rgbN + rgbW + rgbM + rgbE + rgbS;\n        float lumaL \x3d (lumaN + lumaW + lumaE + lumaS) * 0.25;\n        float rangeL \x3d abs(lumaL - lumaM);\n        float blendL \x3d max(0.0, (rangeL / range) - FXAA_SUBPIX_TRIM) * FXAA_SUBPIX_TRIM_SCALE;\n        blendL \x3d min(FXAA_SUBPIX_CAP, blendL);\n        vec3 rgbNW \x3d FxaaTexOff(tex, pos.xy, ivec2(-1,-1), rcpFrame).xyz;\n        vec3 rgbNE \x3d FxaaTexOff(tex, pos.xy, ivec2( 1,-1), rcpFrame).xyz;\n        vec3 rgbSW \x3d FxaaTexOff(tex, pos.xy, ivec2(-1, 1), rcpFrame).xyz;\n        vec3 rgbSE \x3d FxaaTexOff(tex, pos.xy, ivec2( 1, 1), rcpFrame).xyz;\n        rgbL +\x3d (rgbNW + rgbNE + rgbSW + rgbSE);\n        rgbL *\x3d vec3(1.0/9.0);\n        float lumaNW \x3d FxaaLuma(rgbNW);\n        float lumaNE \x3d FxaaLuma(rgbNE);\n        float lumaSW \x3d FxaaLuma(rgbSW);\n        float lumaSE \x3d FxaaLuma(rgbSE);\n        float edgeVert \x3d\n          abs((0.25 * lumaNW) + (-0.5 * lumaN) + (0.25 * lumaNE)) +\n          abs((0.50 * lumaW ) + (-1.0 * lumaM) + (0.50 * lumaE )) +\n          abs((0.25 * lumaSW) + (-0.5 * lumaS) + (0.25 * lumaSE));\n        float edgeHorz \x3d\n          abs((0.25 * lumaNW) + (-0.5 * lumaW) + (0.25 * lumaSW)) +\n          abs((0.50 * lumaN ) + (-1.0 * lumaM) + (0.50 * lumaS )) +\n          abs((0.25 * lumaNE) + (-0.5 * lumaE) + (0.25 * lumaSE));\n        bool horzSpan \x3d edgeHorz \x3e\x3d edgeVert;\n        float lengthSign \x3d horzSpan ? -rcpFrame.y : -rcpFrame.x;\n        if(!horzSpan) {\n          lumaN \x3d lumaW;\n          lumaS \x3d lumaE;\n        }\n        float gradientN \x3d abs(lumaN - lumaM);\n        float gradientS \x3d abs(lumaS - lumaM);\n        lumaN \x3d (lumaN + lumaM) * 0.5;\n        lumaS \x3d (lumaS + lumaM) * 0.5;\n        if (gradientN \x3c gradientS)\n        {\n          lumaN \x3d lumaS;\n          lumaN \x3d lumaS;\n          gradientN \x3d gradientS;\n          lengthSign *\x3d -1.0;\n        }\n        vec2 posN;\n        posN.x \x3d pos.x + (horzSpan ? 0.0 : lengthSign * 0.5);\n        posN.y \x3d pos.y + (horzSpan ? lengthSign * 0.5 : 0.0);\n        gradientN *\x3d FXAA_SEARCH_THRESHOLD;\n        vec2 posP \x3d posN;\n        vec2 offNP \x3d horzSpan ? vec2(rcpFrame.x, 0.0) : vec2(0.0, rcpFrame.y);\n        float lumaEndN \x3d lumaN;\n        float lumaEndP \x3d lumaN;\n        bool doneN \x3d false;\n        bool doneP \x3d false;\n        posN +\x3d offNP * vec2(-1.0, -1.0);\n        posP +\x3d offNP * vec2( 1.0,  1.0);\n        for(int i \x3d 0; i \x3c FXAA_SEARCH_STEPS; i++) {\n          if(!doneN) {\n            lumaEndN \x3d FxaaLuma(texture2D(tex, posN.xy).xyz);\n          }\n          if(!doneP) {\n            lumaEndP \x3d FxaaLuma(texture2D(tex, posP.xy).xyz);\n          }\n          doneN \x3d doneN || (abs(lumaEndN - lumaN) \x3e\x3d gradientN);\n          doneP \x3d doneP || (abs(lumaEndP - lumaN) \x3e\x3d gradientN);\n          if(doneN \x26\x26 doneP) { break; }\n          if(!doneN) {\n            posN -\x3d offNP;\n          }\n          if(!doneP) {\n            posP +\x3d offNP;\n          }\n        }\n        float dstN \x3d horzSpan ? pos.x - posN.x : pos.y - posN.y;\n        float dstP \x3d horzSpan ? posP.x - pos.x : posP.y - pos.y;\n        bool directionN \x3d dstN \x3c dstP;\n        lumaEndN \x3d directionN ? lumaEndN : lumaEndP;\n        if(((lumaM - lumaN) \x3c 0.0) \x3d\x3d ((lumaEndN - lumaN) \x3c 0.0)) {\n          lengthSign \x3d 0.0;\n        }\n        float spanLength \x3d (dstP + dstN);\n        dstN \x3d directionN ? dstN : dstP;\n        float subPixelOffset \x3d (0.5 + (dstN * (-1.0/spanLength))) * lengthSign;\n        vec3 rgbF \x3d texture2D(tex, vec2(\n          pos.x + (horzSpan ? 0.0 : subPixelOffset),\n          pos.y + (horzSpan ? subPixelOffset : 0.0))).xyz;\n        return FxaaLerp3(rgbL, rgbF, blendL);\n      }\n\n      void main() {\n        vec4 color;\n        vec2 screenCoord \x3d fCoordinate;\n        // if (screenCoord.x \x3c 0.5) {\n          color.rgb \x3d FxaaPixelShader(screenCoord, uColorTexture, uRcpFrameDimension);\n        // } else if (screenCoord.x \x3c 0.501 \x26\x26 screenCoord.x \x3e 0.499) {\n        //   color.rgb \x3d vec3(1,0,0);\n        // } else {\n        //   color \x3d texture2D(uColorTexture, fCoordinate);\n        // }\n        color.a \x3d 1.0;\n        gl_FragColor \x3d color;\n      }",
this.vertexAttributeLocations);var c=new Float32Array([-1,-1,3,-1,-1,3]);this.vao=new h(b,this.vertexAttributeLocations,{geometry:this.vertexBufferLayout},{geometry:new d(b,34962,35044,c)});this.isEnabled=!0}};b.prototype.disable=function(){this.isEnabled&&(this.program.dispose(),this.program=null,this.vao.dispose(),this.vao=null,this.isEnabled=!1)};b.prototype.render=function(b,c){this.enable();var a=this.rctx;a.bindVAO(this.vao);a.bindFramebuffer(c);var d=0,e=0;null!=c?(d=c.descriptor.width,e=c.descriptor.height):
(d=a.gl.canvas.width,e=a.gl.canvas.height);a.bindProgram(this.program);a.bindTexture(b.colorTexture,0);this.program.setUniform1i("uColorTexture",0);this.program.setUniform2f("uRcpFrameDimension",1/d,1/e);a.setFaceCullingEnabled(!1);a.drawArrays(4,0,3)};return b}()})},"esri/views/3d/webgl-engine/lib/SmaaRenderPass":function(){define("require exports ../../../webgl/Program ../../../webgl/VertexArrayObject ../../../webgl/BufferObject ../../../webgl/Texture ../../../webgl/FramebufferObject ../../../webgl/enums".split(" "),
function(e,k,n,h,d,b,l,f){return function(){function c(a){this.isEnabled=!1;this.vertexAttributeLocations={vPosition:0};this.vertexBufferLayout=[{name:"vPosition",count:2,type:5126,offset:0,stride:8,normalized:!1}];this.rctx=a}c.prototype.enable=function(){if(!this.isEnabled){var a=this.rctx;this.programEdgeDetect=new n(a,"\n      #define SHADER_NAME SMAA::EdgeDetect\n      precision highp float;\n      precision highp int;\n\n      uniform vec4 uResolution;\n      attribute vec2 vPosition;\n\n      varying vec2 fTexCoord;\n      varying vec4 fOffset[3];\n\n      void SMAAEdgeDetectionVS( vec2 texcoord ) {\n        fOffset[0] \x3d texcoord.xyxy + uResolution.xyxy * vec4( -1.0, 0.0, 0.0,  1.0 ); // WebGL port note: Changed sign in W component\n        fOffset[1] \x3d texcoord.xyxy + uResolution.xyxy * vec4(  1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component\n        fOffset[2] \x3d texcoord.xyxy + uResolution.xyxy * vec4( -2.0, 0.0, 0.0,  2.0 ); // WebGL port note: Changed sign in W component\n      }\n\n      void main() {\n        fTexCoord \x3d (vPosition + 1.0 ) * 0.5;\n        gl_Position \x3d vec4(vPosition, 0, 1);\n        SMAAEdgeDetectionVS( fTexCoord );\n      }",
"\n      #define SHADER_NAME SMAA::EdgeDetect\n      precision highp float;\n      precision highp int;\n\n      #define SMAA_THRESHOLD 0.05\n      #define SMAA_LOCAL_CONTRAST_ADAPTATION_FACTOR 2\n      #define SMAA_USE_COLOR_EDGE_DETECTION 0\n\n      uniform sampler2D tColor;\n\n      varying vec2 fTexCoord;\n      varying vec4 fOffset[3];\n\n      vec4 SMAALumaEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) {\n        // Calculate the threshold:\n        vec2 threshold \x3d vec2(SMAA_THRESHOLD, SMAA_THRESHOLD);\n\n        // Calculate lumas:\n        vec3 weights \x3d vec3(0.2126, 0.7152, 0.0722);\n        float L \x3d dot(texture2D(colorTex, texcoord).rgb, weights);\n\n        float Lleft \x3d dot(texture2D(colorTex, offset[0].xy).rgb, weights);\n        float Ltop  \x3d dot(texture2D(colorTex, offset[0].zw).rgb, weights);\n\n        // We do the usual threshold:\n        vec4 delta;\n        delta.xy \x3d abs(L - vec2(Lleft, Ltop));\n        vec2 edges \x3d step(threshold, delta.xy);\n\n        // Then discard if there is no edge:\n        if (dot(edges, vec2(1.0, 1.0)) \x3d\x3d 0.0) discard;\n\n        // Calculate right and bottom deltas:\n        float Lright \x3d dot(texture2D(colorTex, offset[1].xy).rgb, weights);\n        float Lbottom  \x3d dot(texture2D(colorTex, offset[1].zw).rgb, weights);\n        delta.zw \x3d abs(L - vec2(Lright, Lbottom));\n\n        // Calculate the maximum delta in the direct neighborhood:\n        vec2 maxDelta \x3d max(delta.xy, delta.zw);\n\n        // Calculate left-left and top-top deltas:\n        float Lleftleft \x3d dot(texture2D(colorTex, offset[2].xy).rgb, weights);\n        float Ltoptop \x3d dot(texture2D(colorTex, offset[2].zw).rgb, weights);\n        delta.zw \x3d abs(vec2(Lleft, Ltop) - vec2(Lleftleft, Ltoptop));\n\n        // Calculate the final maximum delta:\n        maxDelta \x3d max(maxDelta.xy, delta.zw);\n        float finalDelta \x3d max(maxDelta.x, maxDelta.y);\n\n        // Local contrast adaptation:\n        edges.xy *\x3d step(finalDelta, float(SMAA_LOCAL_CONTRAST_ADAPTATION_FACTOR) * delta.xy);\n\n        return vec4( edges, 0.0, 0.0 );\n      }\n\n      vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) {\n        vec2 threshold \x3d vec2( SMAA_THRESHOLD, SMAA_THRESHOLD );\n\n        // Calculate color deltas:\n        vec4 delta;\n        vec3 C \x3d texture2D( colorTex, texcoord ).rgb;\n\n        vec3 Cleft \x3d texture2D( colorTex, offset[0].xy ).rgb;\n        vec3 t \x3d abs( C - Cleft );\n        delta.x \x3d max( max( t.r, t.g ), t.b );\n\n        vec3 Ctop \x3d texture2D( colorTex, offset[0].zw ).rgb;\n        t \x3d abs( C - Ctop );\n        delta.y \x3d max( max( t.r, t.g ), t.b );\n\n        // We do the usual threshold:\n        vec2 edges \x3d step( threshold, delta.xy );\n\n        // Then discard if there is no edge:\n        if ( dot( edges, vec2( 1.0, 1.0 ) ) \x3d\x3d 0.0 )\n            discard;\n\n        // Calculate right and bottom deltas:\n        vec3 Cright \x3d texture2D( colorTex, offset[1].xy ).rgb;\n        t \x3d abs( C - Cright );\n        delta.z \x3d max( max( t.r, t.g ), t.b );\n\n        vec3 Cbottom  \x3d texture2D( colorTex, offset[1].zw ).rgb;\n        t \x3d abs( C - Cbottom );\n        delta.w \x3d max( max( t.r, t.g ), t.b );\n\n        // Calculate the maximum delta in the direct neighborhood:\n        float maxDelta \x3d max( max( max( delta.x, delta.y ), delta.z ), delta.w );\n\n        // Calculate left-left and top-top deltas:\n        vec3 Cleftleft  \x3d texture2D( colorTex, offset[2].xy ).rgb;\n        t \x3d abs( C - Cleftleft );\n        delta.z \x3d max( max( t.r, t.g ), t.b );\n\n        vec3 Ctoptop \x3d texture2D( colorTex, offset[2].zw ).rgb;\n        t \x3d abs( C - Ctoptop );\n        delta.w \x3d max( max( t.r, t.g ), t.b );\n\n        // Calculate the final maximum delta:\n        maxDelta \x3d max( max( maxDelta, delta.z ), delta.w );\n\n        // Local contrast adaptation in action:\n        edges.xy *\x3d step( maxDelta, float(SMAA_LOCAL_CONTRAST_ADAPTATION_FACTOR) * delta.xy );\n\n        return vec4( edges, 0.0, 0.0 );\n      }\n\n      void main() {\n        #if SMAA_USE_COLOR_EDGE_DETECTION\n          gl_FragColor \x3d SMAAColorEdgeDetectionPS( fTexCoord, fOffset, tColor );\n        #else\n          gl_FragColor \x3d SMAALumaEdgeDetectionPS( fTexCoord, fOffset, tColor );\n        #endif\n      }",
this.vertexAttributeLocations);this.programBlendWeights=new n(a,"\n      #define SHADER_NAME SMAA::BlendWeights\n      precision highp float;\n      precision highp int;\n\n      #define SMAA_MAX_SEARCH_STEPS 8\n\n      uniform vec4 uResolution;\n      attribute vec2 vPosition;\n\n      varying vec2 fTexCoord;\n      varying vec4 fOffset[3];\n      varying vec2 fPixCoord;\n\n      void SMAABlendingWeightCalculationVS( vec2 texcoord ) {\n        fPixCoord \x3d texcoord * uResolution.zw;\n        fOffset[0] \x3d texcoord.xyxy + uResolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 );\n        fOffset[1] \x3d texcoord.xyxy + uResolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 );\n        fOffset[2] \x3d vec4( fOffset[0].xz, fOffset[1].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * uResolution.xxyy * float( SMAA_MAX_SEARCH_STEPS );\n      }\n\n      void main() {\n        fTexCoord \x3d (vPosition + 1.0 ) * 0.5;\n        gl_Position \x3d vec4(vPosition, 0, 1);\n        SMAABlendingWeightCalculationVS( fTexCoord );\n      }",
"\n      #define SHADER_NAME SMAA::BlendWeights\n      precision highp float;\n      precision highp int;\n\n      #define SMAA_MAX_SEARCH_STEPS 8\n      #define SMAA_AREATEX_MAX_DISTANCE 16\n      #define SMAA_AREATEX_PIXEL_SIZE ( 1.0 / vec2( 160.0, 560.0 ) )\n      #define SMAA_AREATEX_SUBTEX_SIZE ( 1.0 / 7.0 )\n\n      #define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * uResolution.xy, 0.0 )\n\n      uniform sampler2D tEdges;\n      uniform sampler2D tArea;\n      uniform sampler2D tSearch;\n      uniform vec4 uResolution;\n\n      varying vec2 fTexCoord;\n      varying vec4 fOffset[3];\n      varying vec2 fPixCoord;\n\n      vec2 round( vec2 x ) {\n        return sign( x ) * floor( abs( x ) + 0.5 );\n      }\n\n      float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) {\n        e.r \x3d bias + e.r * scale;\n        return 255.0 * texture2D( searchTex, e, 0.0 ).r;\n      }\n\n      float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {\n        vec2 e \x3d vec2( 0.0, 1.0 );\n        for ( int i \x3d 0; i \x3c SMAA_MAX_SEARCH_STEPS; i ++ ) {\n          e \x3d texture2D( edgesTex, texcoord, 0.0 ).rg;\n          texcoord -\x3d vec2( 2.0, 0.0 ) * uResolution.xy;\n          if ( ! ( texcoord.x \x3e end \x26\x26 e.g \x3e 0.8281 \x26\x26 e.r \x3d\x3d 0.0 ) ) break;\n        }\n        texcoord.x +\x3d 0.25 * uResolution.x;\n        texcoord.x +\x3d uResolution.x;\n        texcoord.x +\x3d 2.0 * uResolution.x;\n        texcoord.x -\x3d uResolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5);\n        return texcoord.x;\n      }\n\n      float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {\n        vec2 e \x3d vec2( 0.0, 1.0 );\n        for ( int i \x3d 0; i \x3c SMAA_MAX_SEARCH_STEPS; i ++ ) {\n          e \x3d texture2D( edgesTex, texcoord, 0.0 ).rg;\n          texcoord +\x3d vec2( 2.0, 0.0 ) * uResolution.xy;\n          if ( ! ( texcoord.x \x3c end \x26\x26 e.g \x3e 0.8281 \x26\x26 e.r \x3d\x3d 0.0 ) ) break;\n        }\n        texcoord.x -\x3d 0.25 * uResolution.x;\n        texcoord.x -\x3d uResolution.x;\n        texcoord.x -\x3d 2.0 * uResolution.x;\n        texcoord.x +\x3d uResolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 );\n        return texcoord.x;\n      }\n\n      float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {\n        vec2 e \x3d vec2( 1.0, 0.0 );\n        for ( int i \x3d 0; i \x3c SMAA_MAX_SEARCH_STEPS; i ++ ) {\n          e \x3d texture2D( edgesTex, texcoord, 0.0 ).rg;\n          texcoord +\x3d vec2( 0.0, 2.0 ) * uResolution.xy;\n          if ( ! ( texcoord.y \x3e end \x26\x26 e.r \x3e 0.8281 \x26\x26 e.g \x3d\x3d 0.0 ) ) break;\n        }\n        texcoord.y -\x3d 0.25 * uResolution.y;\n        texcoord.y -\x3d uResolution.y;\n        texcoord.y -\x3d 2.0 * uResolution.y;\n        texcoord.y +\x3d uResolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 );\n        return texcoord.y;\n      }\n\n      float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {\n        vec2 e \x3d vec2( 1.0, 0.0 );\n        for ( int i \x3d 0; i \x3c SMAA_MAX_SEARCH_STEPS; i ++ ) {\n          e \x3d texture2D( edgesTex, texcoord, 0.0 ).rg;\n          texcoord -\x3d vec2( 0.0, 2.0 ) * uResolution.xy;\n          if ( ! ( texcoord.y \x3c end \x26\x26 e.r \x3e 0.8281 \x26\x26 e.g \x3d\x3d 0.0 ) ) break;\n        }\n        texcoord.y +\x3d 0.25 * uResolution.y;\n        texcoord.y +\x3d uResolution.y;\n        texcoord.y +\x3d 2.0 * uResolution.y;\n        texcoord.y -\x3d uResolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 );\n        return texcoord.y;\n      }\n\n      vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) {\n        vec2 texcoord \x3d float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e1, e2 ) ) + dist;\n        texcoord \x3d SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE );\n        texcoord.y +\x3d SMAA_AREATEX_SUBTEX_SIZE * offset;\n        return texture2D( areaTex, texcoord, 0.0 ).rg;\n      }\n\n      vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) {\n        vec4 weights \x3d vec4( 0.0, 0.0, 0.0, 0.0 );\n        vec2 e \x3d texture2D( edgesTex, texcoord ).rg;\n        if ( e.g \x3e 0.0 ) {\n          vec2 d;\n          vec2 coords;\n          coords.x \x3d SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x );\n          coords.y \x3d offset[ 1 ].y;\n          d.x \x3d coords.x;\n          float e1 \x3d texture2D( edgesTex, coords, 0.0 ).r;\n          coords.x \x3d SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y );\n          d.y \x3d coords.x;\n          d \x3d d * uResolution.z - pixcoord.x;\n          vec2 sqrt_d \x3d sqrt( abs( d ) );\n          coords.y -\x3d 1.0 * uResolution.y;\n          float e2 \x3d SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r;\n          weights.rg \x3d SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) );\n        }\n        if ( e.r \x3e 0.0 ) {\n          vec2 d;\n          vec2 coords;\n          coords.y \x3d SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z );\n          coords.x \x3d offset[ 0 ].x;\n          d.x \x3d coords.y;\n          float e1 \x3d texture2D( edgesTex, coords, 0.0 ).g;\n          coords.y \x3d SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w );\n          d.y \x3d coords.y;\n          d \x3d d * uResolution.w - pixcoord.y;\n          vec2 sqrt_d \x3d sqrt( abs( d ) );\n          coords.y -\x3d 1.0 * uResolution.y;\n          float e2 \x3d SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g;\n          weights.ba \x3d SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) );\n\n          // for some reason the following lines are necessary to prevent\n          // texture lookup precision issues on some Intel integrated graphics chips\n          vec4 dbg \x3d (offset[ 0 ]+offset[ 1 ]+offset[ 2 ] + coords.xyyx);\n          weights.r +\x3d 0.00000001 * dot(vec4(0,1,0,1),dbg);\n        }\n        return weights;\n      }\n\n      void main() {\n        gl_FragColor \x3d SMAABlendingWeightCalculationPS( fTexCoord, fPixCoord, fOffset, tEdges, tArea, tSearch, ivec4( 0.0 ) );\n      }",
this.vertexAttributeLocations);this.programBlur=new n(a,"\n      #define SHADER_NAME SMAA::NeighborhoodBlending\n      precision highp float;\n      precision highp int;\n\n      uniform vec4 uResolution;\n      attribute vec2 vPosition;\n\n      varying vec2 fTexCoord;\n      varying vec4 fOffset[2];\n\n      void SMAANeighborhoodBlendingVS( vec2 texcoord ) {\n        fOffset[0] \x3d texcoord.xyxy + uResolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 );\n        fOffset[1] \x3d texcoord.xyxy + uResolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 );\n      }\n\n      void main() {\n        fTexCoord \x3d (vPosition + 1.0 ) * 0.5;\n        gl_Position \x3d vec4(vPosition, 0, 1);\n\n        SMAANeighborhoodBlendingVS(fTexCoord);\n      }",
"\n      #define SHADER_NAME SMAA::NeighborhoodBlending\n      precision highp float;\n      precision highp int;\n\n      #define SMAA_DEBUG_SPLIT_VIEW 0\n\n      uniform sampler2D tBlendWeights;\n      uniform sampler2D tColor;\n      uniform vec4 uResolution;\n\n      varying vec2 fTexCoord;\n      varying vec4 fOffset[2];\n\n      vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) {\n        vec4 a;\n        a.xz \x3d texture2D( blendTex, texcoord ).xz;\n        a.y \x3d texture2D( blendTex, offset[ 1 ].zw ).g;\n        a.w \x3d texture2D( blendTex, offset[ 1 ].xy ).a;\n\n        if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) \x3c 1e-5 ) {\n          return texture2D( colorTex, texcoord, 0.0 );\n        } else {\n          vec2 offset;\n          offset.x \x3d a.a \x3e a.b ? a.a : -a.b;\n          offset.y \x3d a.g \x3e a.r ? -a.g : a.r;\n\n          if ( abs( offset.x ) \x3e abs( offset.y )) {\n            offset.y \x3d 0.0;\n          } else {\n            offset.x \x3d 0.0;\n          }\n\n          vec4 C \x3d texture2D( colorTex, texcoord, 0.0 );\n          texcoord +\x3d sign( offset ) * uResolution.xy;\n          vec4 Cop \x3d texture2D( colorTex, texcoord, 0.0 );\n\n          float s \x3d abs( offset.x ) \x3e abs( offset.y ) ? abs( offset.x ) : abs( offset.y );\n          //C.xyz \x3d pow(C.xyz, vec3(2.2));\n          //Cop.xyz \x3d pow(Cop.xyz, vec3(2.2));\n          vec4 mixed \x3d mix(C, Cop, s);\n          //mixed.xyz \x3d pow(mixed.xyz, vec3(1.0 / 2.2));\n\n          return mixed;\n        }\n      }\n\n      void main() {\n        gl_FragColor \x3d SMAANeighborhoodBlendingPS( fTexCoord, fOffset, tColor, tBlendWeights );\n\n        #if SMAA_DEBUG_SPLIT_VIEW // split the view in the middle and display the unprocessed image on the right\n          // test stuff\n          if (fTexCoord.x \x3e 0.5) {\n            if (fTexCoord.x \x3c 0.5 + uResolution.x) {\n              gl_FragColor \x3d vec4(0, 0, 1, 1);\n            } else {\n              gl_FragColor \x3d texture2D(tColor, fTexCoord);\n            }\n          }\n        #endif // DEBUG\n      }",
this.vertexAttributeLocations);var b=new Float32Array([-1,-1,3,-1,-1,3]);this.vao=new h(a,this.vertexAttributeLocations,{geometry:this.vertexBufferLayout},{geometry:new d(a,34962,35044,b)});this.tmpFramebufferEdges=l.createWithAttachments(this.rctx,{target:3553,pixelFormat:6407,dataType:5121,samplingMode:9729,wrapMode:33071,width:4,height:4},{colorTarget:0,depthStencilTarget:0});this.tmpFramebufferBlend=l.createWithAttachments(this.rctx,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9729,
wrapMode:33071,width:4,height:4},{colorTarget:0,depthStencilTarget:0});this.textureArea=this.loadTextureFromBase64("data:image/png;base64,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\x3d",
9729,6407);this.textureSearch=this.loadTextureFromBase64("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII\x3d",9728,6409);this.isEnabled=!0}};c.prototype.disable=function(){this.isEnabled&&(this.programEdgeDetect.dispose(),this.programEdgeDetect=null,this.programBlendWeights.dispose(),this.programBlendWeights=null,this.programBlur.dispose(),this.programBlur=null,this.vao.dispose(),
this.vao=null,this.textureArea.dispose(),this.textureArea=null,this.textureSearch.dispose(),this.textureSearch=null,this.tmpFramebufferBlend.dispose(),this.tmpFramebufferBlend=null,this.tmpFramebufferEdges.dispose(),this.tmpFramebufferEdges=null,this.isEnabled=!1)};c.prototype.render=function(a,b){this.enable();var c=this.rctx,d=0,e=0;null!=b?(d=b.descriptor.width,e=b.descriptor.height):(d=c.gl.canvas.width,e=c.gl.canvas.height);c.bindVAO(this.vao);c.setFaceCullingEnabled(!0);c.setCullFace(1029);
c.setFrontFace(2305);c.setBlendingEnabled(!1);c.setDepthTestEnabled(!1);c.setViewport(0,0,d,e);this.tmpFramebufferEdges.resize(d,e);c.bindFramebuffer(this.tmpFramebufferEdges);c.setClearColor(0,0,0,1);c.clear(c.gl.COLOR_BUFFER_BIT);c.bindProgram(this.programEdgeDetect);c.bindTexture(a.colorTexture,0);this.programEdgeDetect.setUniform1i("tColor",0);this.programEdgeDetect.setUniform4f("uResolution",1/d,1/e,d,e);c.drawArrays(4,0,3);this.tmpFramebufferBlend.resize(d,e);c.bindFramebuffer(this.tmpFramebufferBlend);
c.setClearColor(0,0,1,1);c.clear(c.gl.COLOR_BUFFER_BIT);c.bindProgram(this.programBlendWeights);this.programBlendWeights.setUniform4f("uResolution",1/d,1/e,d,e);c.bindTexture(this.textureSearch,1);this.programBlendWeights.setUniform1i("tSearch",1);c.bindTexture(this.textureArea,2);this.programBlendWeights.setUniform1i("tArea",2);c.bindTexture(this.tmpFramebufferEdges.colorTexture,3);this.programBlendWeights.setUniform1i("tEdges",3);c.drawArrays(4,0,3);c.bindFramebuffer(b);c.setClearColor(0,1,0,1);
c.clear(c.gl.COLOR_BUFFER_BIT);c.bindProgram(this.programBlur);this.programBlur.setUniform4f("uResolution",1/d,1/e,d,e);c.bindTexture(a.colorTexture,0);this.programBlur.setUniform1i("tColor",0);c.bindTexture(this.tmpFramebufferBlend.colorTexture,1);this.programBlur.setUniform1i("tBlendWeights",1);c.drawArrays(4,0,3);c.setBlendingEnabled(!0);c.setDepthTestEnabled(!0)};c.prototype.loadTextureFromBase64=function(a,c,d){var e=new Image;e.src=a;var f=new b(this.rctx,{pixelFormat:d,dataType:5121,wrapMode:33071,
samplingMode:c},!1!==e.complete?e:null);e.complete||(e.onload=function(){f.resize(e.width,e.height);f.setData(e)});return f};return c}()})},"esri/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts":function(){define(["require","exports"],function(e,k){k.Pos3=[{name:"position",count:3,type:5126,offset:0,stride:12,normalized:!1}];k.Pos3Tex=[{name:"position",count:3,type:5126,offset:0,stride:20,normalized:!1},{name:"uv0",count:2,type:5126,offset:12,stride:20,normalized:!1}];k.Pos3Color=[{name:"position",
count:3,type:5126,offset:0,stride:16,normalized:!1},{name:"color",count:4,type:5121,offset:12,stride:16,normalized:!1}];k.Pos3Norm=[{name:"position",count:3,type:5126,offset:0,stride:24,normalized:!1},{name:"normal",count:3,type:5126,offset:12,stride:24,normalized:!1}];k.Pos3NormTex=[{name:"position",count:3,type:5126,offset:0,stride:32,normalized:!1},{name:"normal",count:3,type:5126,offset:12,stride:32,normalized:!1},{name:"uv0",count:2,type:5126,offset:24,stride:32,normalized:!1}];k.Pos3NormCol=
[{name:"position",count:3,type:5126,offset:0,stride:28,normalized:!1},{name:"normal",count:3,type:5126,offset:12,stride:28,normalized:!1},{name:"color",count:4,type:5121,offset:24,stride:28,normalized:!1}];k.Pos3NormTexCol=[{name:"position",count:3,type:5126,offset:0,stride:36,normalized:!1},{name:"normal",count:3,type:5126,offset:12,stride:36,normalized:!1},{name:"uv0",count:2,type:5126,offset:24,stride:36,normalized:!1},{name:"color",count:4,type:5121,offset:32,stride:36,normalized:!1}];k.Pos3NormTexRegion=
[{name:"position",count:3,type:5126,offset:0,stride:40,normalized:!1},{name:"normal",count:3,type:5126,offset:12,stride:40,normalized:!1},{name:"uv0",count:2,type:5126,offset:24,stride:40,normalized:!1},{name:"region",count:4,type:5123,offset:32,stride:40,normalized:!1}];k.Pos3NormTexRegionCol=[{name:"position",count:3,type:5126,offset:0,stride:44,normalized:!1},{name:"normal",count:3,type:5126,offset:12,stride:44,normalized:!1},{name:"uv0",count:2,type:5126,offset:24,stride:44,normalized:!1},{name:"region",
count:4,type:5123,offset:32,stride:44,normalized:!1},{name:"color",count:4,type:5121,offset:40,stride:44,normalized:!1}];k.Pos2=[{name:"position",count:2,type:5126,offset:0,stride:8,normalized:!1}];k.Pos2Tex=[{name:"position",count:2,type:5126,offset:0,stride:16,normalized:!1},{name:"uv0",count:2,type:5126,offset:8,stride:16,normalized:!1}];k.Model=[{name:"model",count:16,type:5126,offset:0,stride:128,normalized:!1,divisor:1},{name:"modelNormal",count:16,type:5126,offset:64,stride:128,normalized:!1,
divisor:1}];k.ModelCol=[{name:"model",count:16,type:5126,offset:0,stride:144,normalized:!1,divisor:1},{name:"modelNormal",count:16,type:5126,offset:64,stride:144,normalized:!1,divisor:1},{name:"instanceColor",count:4,type:5126,offset:128,stride:144,normalized:!1,divisor:1}]})},"esri/views/3d/webgl-engine/lib/Camera":function(){define(["require","exports","./Util","./gl-matrix"],function(e,k,n,h){function d(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]}function b(a,b){return a[0]===b[0]&&a[1]===
b[1]&&a[2]===b[2]&&a[3]===b[3]}var l=h.vec3d,f=h.vec4d,c=h.mat4d;e=function(){function e(a,b,d){this._viewUp=l.create();this._viewForward=l.create();this._viewRight=l.create();this._viewport=f.create();this._padding=f.create();this._fov=55/180*Math.PI;this._near=0;this._far=1E3;this._viewDirty=!0;this._viewMatrix=c.create();this._projectionDirty=!0;this._projectionMatrix=c.create();this._viewInverseTransposeMatrixDirty=!0;this._viewInverseTransposeMatrix=null;this._frustumPlanesDirty=!0;this._frustumPlanes=
[f.create(),f.create(),f.create(),f.create(),f.create(),f.create()];this._fullViewport=null;this.aboveGround=!0;this._eye=l.create(a);this._center=l.create(b);this._up=void 0!==d?l.create(d):l.create([0,0,1]);this._padding=f.create()}Object.defineProperty(e.prototype,"eye",{get:function(){return this._eye},set:function(a){this._compareAndSetView(a,this._eye)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"center",{get:function(){return this._center},set:function(a){this._compareAndSetView(a,
this._center)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"up",{get:function(){return this._up},set:function(a){this._compareAndSetView(a,this._up)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"viewMatrix",{get:function(){this._ensureViewClean();return this._viewMatrix},set:function(a){c.set(a,this._viewMatrix);this._viewDirty=!1;this._frustumPlanesDirty=this._viewInverseTransposeMatrixDirty=!0},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,
"viewForward",{get:function(){this._ensureViewClean();return this._viewForward},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"viewUp",{get:function(){this._ensureViewClean();return this._viewUp},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"viewRight",{get:function(){this._ensureViewClean();return this._viewRight},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"near",{get:function(){return this._near},set:function(a){this._near!==a&&(this._near=
a,this._frustumPlanesDirty=this._projectionDirty=!0)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"far",{get:function(){return this._far},set:function(a){this._far!==a&&(this._far=a,this._frustumPlanesDirty=this._projectionDirty=!0)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"viewport",{get:function(){return this._viewport},set:function(a){this.x=a[0];this.y=a[1];this.width=a[2];this.height=a[3]},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,
"x",{get:function(){return this._viewport[0]},set:function(a){a+=this._padding[3];this._viewport[0]!==a&&(this._viewport[0]=a,this._frustumPlanesDirty=this._projectionDirty=!0)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"y",{get:function(){return this._viewport[1]},set:function(a){a+=this._padding[2];this._viewport[1]!==a&&(this._viewport[1]=a,this._frustumPlanesDirty=this._projectionDirty=!0)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"width",{get:function(){return this._viewport[2]},
set:function(a){a-=this._padding[1]+this._padding[3];this._viewport[2]!==a&&(this._viewport[2]=a,this._frustumPlanesDirty=this._projectionDirty=!0)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"height",{get:function(){return this._viewport[3]},set:function(a){a-=this._padding[0]+this._padding[2];this._viewport[3]!==a&&(this._viewport[3]=a,this._frustumPlanesDirty=this._projectionDirty=!0)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"fullWidth",{get:function(){return this._viewport[2]+
this._padding[1]+this._padding[3]},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"fullHeight",{get:function(){return this._viewport[3]+this._padding[0]+this._padding[2]},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"fullViewport",{get:function(){this._fullViewport||(this._fullViewport=f.create());this._fullViewport[0]=this._viewport[0]-this._padding[3];this._fullViewport[1]=this._viewport[1]-this._padding[2];this._fullViewport[2]=this.fullWidth;this._fullViewport[3]=
this.fullHeight;return this._fullViewport},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"aspect",{get:function(){return this.width/this.height},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"padding",{get:function(){return this._padding},set:function(a){this._padding[0]===a[0]&&this._padding[1]===a[1]&&this._padding[2]===a[2]&&this._padding[3]===a[3]||(this._viewport[0]+=a[3]-this._padding[3],this._viewport[1]+=a[2]-this._padding[2],this._viewport[2]-=a[1]+
a[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=a[0]+a[2]-(this._padding[0]+this._padding[2]),f.set(a,this._padding),this._frustumPlanesDirty=this._projectionDirty=!0)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"projectionMatrix",{get:function(){if(this._projectionDirty){var a=this.width,b=this.height,d=this.near*Math.tan(this.fovY/2),e=d*this.aspect;c.frustum(-e*(1+2*this._padding[3]/a),e*(1+2*this._padding[1]/a),-d*(1+2*this._padding[2]/b),d*(1+2*this._padding[0]/
b),this.near,this.far,this._projectionMatrix);this._projectionDirty=!1}return this._projectionMatrix},set:function(a){c.set(a,this._projectionMatrix);this._projectionDirty=!1;this._frustumPlanesDirty=!0},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"fov",{get:function(){return this._fov},set:function(a){this._fov=a;this._frustumPlanesDirty=this._projectionDirty=!0},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"fovX",{get:function(){return n.fovd2fovx(this._fov,
this.width,this.height)},set:function(a){this._fov=n.fovx2fovd(a,this.width,this.height);this._frustumPlanesDirty=this._projectionDirty=!0},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"fovY",{get:function(){return n.fovd2fovy(this._fov,this.width,this.height)},set:function(a){this._fov=n.fovy2fovd(a,this.width,this.height);this._frustumPlanesDirty=this._projectionDirty=!0},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"distance",{get:function(){return l.dist(this._center,
this._eye)},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"angleOfElevation",{get:function(){l.subtract(this._center,this._eye,a);l.normalize(a);var b=l.dot(this._center,a)/l.length(this._center);return Math.acos(n.clamp(b,-1,1))-0.5*Math.PI},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"frustumPoints",{get:function(){return this.computeFrustumPoints()},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"frustumPlanes",{get:function(){this._frustumPlanesDirty&&
(this._frustumPlanes=this._computeFrustumPlanes(this._frustumPlanes),this._frustumPlanesDirty=!1);return this._frustumPlanes},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"viewInverseTransposeMatrix",{get:function(){if(this._viewInverseTransposeMatrixDirty||this._viewDirty)this._viewInverseTransposeMatrix||(this._viewInverseTransposeMatrix=c.create()),c.inverse(this.viewMatrix,this._viewInverseTransposeMatrix),c.transpose(this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=
!1;return this._viewInverseTransposeMatrix},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"perPixelRatio",{get:function(){return Math.tan(this.fovX/2)/this.width},enumerable:!0,configurable:!0});e.prototype.copyFrom=function(a){l.set(a._eye,this._eye);l.set(a._center,this._center);l.set(a._up,this._up);f.set(a._viewport,this._viewport);f.set(a._padding,this._padding);this._near=a._near;this._far=a._far;this._fov=a._fov;this.aboveGround=a.aboveGround;a._viewDirty?this._frustumPlanesDirty=
this._viewDirty=!0:(c.set(a._viewMatrix,this._viewMatrix),l.set(a._viewRight,this._viewRight),l.set(a._viewUp,this._viewUp),l.set(a._viewForward,this._viewForward),this._viewDirty=!1);a._projectionDirty?this._frustumPlanesDirty=this._projectionDirty=!0:(c.set(a._projectionMatrix,this._projectionMatrix),this._projectionDirty=!1);return this};e.prototype.copy=function(){var a=new e;a.copyFrom(this);return a};e.prototype.equals=function(a){return d(this._eye,a._eye)&&d(this._center,a._center)&&d(this._up,
a._up)&&b(this._viewport,a._viewport)&&b(this._padding,a._padding)&&this._near===a._near&&this._far===a._far&&this._fov===a._fov};e.prototype.almostEquals=function(a,b){var c=l.dist(this.eye,this.center)*(b||5E-4),c=c*c,d;if(d=l.dist2(a.eye,this.eye)<c){if(c=l.dist2(a.center,this.center)<c)if(c=0.001>Math.abs(a.fov-this.fov)){var e=a.padding,g=this.padding,c=g[0]-e[0];d=g[1]-e[1];var f=g[2]-e[2],e=g[3]-e[3],c=0.5>c*c+d*d+f*f+e*e}d=c}return d};e.prototype.markViewDirty=function(){this._frustumPlanesDirty=
this._viewDirty=!0};e.prototype.computePixelSizeAt=function(a){return 2*l.dist(a,this._eye)*Math.tan(this.fovX/2)/this.width};e.prototype.computePixelSizeAtDist=function(a){return 2*a*Math.tan(this.fovX/2)/this.width};e.prototype.computeDistanceFromRadius=function(a,b){return a/Math.tan(Math.min(this.fovX,this.fovY)/(2*(b||1)))};e.prototype.copyFrustumPlanes=function(a){if(!a){a=Array(6);for(var b=0;6>b;++b)a[b]=f.create()}for(var c=this.frustumPlanes,b=0;6>b;b++)f.set(c[b],a[b]);return a};e.prototype.computeFrustumPoints=
function(a){if(!a){a=Array(8);for(var b=0;8>b;++b)a[b]=l.create()}n.matrix2frustum(this.viewMatrix,this.projectionMatrix,a);return a};e.prototype.setGLViewport=function(a){var b=this.viewport,c=this.padding;a.setViewport(b[0]-c[3],b[1]-c[2],b[2]+c[1]+c[3],b[3]+c[0]+c[2])};e.prototype.projectPoint=function(a,b,d){void 0===d&&(d=!1);f.set4(a[0],a[1],a[2],1,s);c.multiplyVec4(this.viewMatrix,s);d&&(b[2]=-s[2]);c.multiplyVec4(this.projectionMatrix,s);l.scale(s,1/Math.abs(s[3]));a=this.fullViewport;b[0]=
n.lerp(0,a[0]+a[2],0.5+0.5*s[0]);b[1]=n.lerp(0,a[1]+a[3],0.5+0.5*s[1]);d||(b[2]=0.5*(s[2]+1));return b};e.prototype.unprojectPoint=function(a,b,d){void 0===d&&(d=!1);if(d)return console.error("Camera.unprojectPoint() not yet implemented for linear Z"),null;c.multiply(this.projectionMatrix,this.viewMatrix,t);if(!c.inverse(t))return null;d=this.fullViewport;s[0]=2*(a[0]-d[0])/d[2]-1;s[1]=2*(a[1]-d[1])/d[3]-1;s[2]=2*a[2]-1;s[3]=1;c.multiplyVec4(t,s);if(0===s[3])return null;b[0]=s[0]/s[3];b[1]=s[1]/s[3];
b[2]=s[2]/s[3];return b};e.prototype.computeUpOnSphere=function(){l.subtract(this.center,this.eye,v);var a=l.length(this.center);1>a?l.set3(0,0,1,this.up):Math.abs(l.dot(v,this.center))>0.9999*l.length(v)*a||(l.cross(v,this.center,this.up),l.cross(this.up,v,this.up),l.normalize(this.up))};e.prototype._compareAndSetView=function(a,b){d(a,b)||(l.set(a,b),this._frustumPlanesDirty=this._viewDirty=!0)};e.prototype._computeFrustumPlanes=function(a){if(!a){a=Array(6);for(var b=0;6>b;++b)a[b]=f.create()}n.matrix2frustumPlanes(this.viewMatrix,
this.projectionMatrix,a);return a};e.prototype._ensureViewClean=function(){this._viewDirty&&(c.lookAt(this._eye,this._center,this._up,this._viewMatrix),l.set3(-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10],this._viewForward),l.set3(this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9],this._viewUp),l.set3(this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8],this._viewRight),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)};return e}();var a=l.create(),s=f.create(),
t=c.create(),v=l.create();return e})},"esri/views/3d/webgl-engine/lib/webgl-utils":function(){define([],function(){var e=function(e,d){for(var b=["webgl","experimental-webgl","webkit-3d","moz-webgl"],k=null,f=0;f<b.length;++f){try{k=e.getContext(b[f],d)}catch(c){}if(k)break}return k},k=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,d){return window.setTimeout(e,1E3/60)}).bind(window),
n=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||window.clearTimeout).bind(window);return{create3DContext:e,setupWebGL:function(h,d){function b(b){var c=h.parentNode;c&&(c.innerHTML='\x3ctable style\x3d"background-color: #8CE; width: 100%; height: 100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3e\x3cdiv style\x3d"display: table-cell; vertical-align: middle;"\x3e\x3cdiv style\x3d""\x3e'+b+
"\x3c/div\x3e\x3c/div\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e")}if(!window.WebGLRenderingContext)return b('This page requires a browser that supports WebGL.\x3cbr/\x3e\x3ca href\x3d"http://get.webgl.org"\x3eClick here to upgrade your browser.\x3c/a\x3e'),[null,'This page requires a browser that supports WebGL.\x3cbr/\x3e\x3ca href\x3d"http://get.webgl.org"\x3eClick here to upgrade your browser.\x3c/a\x3e'];var k=e(h,d);return!k?(b('It doesn\'t appear your computer can support WebGL.\x3cbr/\x3e\x3ca href\x3d"http://get.webgl.org/troubleshooting/"\x3eClick here for more information.\x3c/a\x3e'),
[null,'It doesn\'t appear your computer can support WebGL.\x3cbr/\x3e\x3ca href\x3d"http://get.webgl.org/troubleshooting/"\x3eClick here for more information.\x3c/a\x3e']):[k]},detectWebGL:function(){var h;try{h=window.WebGLRenderingContext}catch(d){h=[!1,0]}var b;try{b=e(document.createElement("canvas"))}catch(k){b=[!1,1]}return!h?[!1,0]:!b?[!1,1]:[!0,{VERSION:b.getParameter(b.VERSION),SHADING_LANGUAGE_VERSION:b.getParameter(b.SHADING_LANGUAGE_VERSION),VENDOR:b.getParameter(b.VENDOR),RENDERER:b.getParameter(b.RENDERER),
EXTENSIONS:b.getSupportedExtensions(),MAX_TEXTURE_SIZE:b.getParameter(b.MAX_TEXTURE_SIZE),MAX_RENDERBUFFER_SIZE:b.getParameter(b.MAX_RENDERBUFFER_SIZE),MAX_VERTEX_TEXTURE_IMAGE_UNITS:b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)}]},requestAnimFrame:k,cancelAnimFrame:n}})},"esri/views/3d/webgl-engine/parts/Viewport":function(){define("require exports dojo/has ../lib/PerformanceTimer ../lib/Camera ../lib/Util ../lib/BitSet ../lib/gl-matrix ./Visualizer".split(" "),function(e,k,n,h,d,b,l,f,c){var a=
f.vec3;e=f.vec4d;var s=f.mat4d,t=2E4,v=[0,0],u=s.create(),q=[e.create(),e.create(),e.create(),e.create(),e.create(),e.create()],r={get:function(a){return!0}},m=0;return function(){function e(b,g,f,k){this._content={};this._visibleContent=new l;this._frustumCullingEnabled=!0;this._maxFarNearRatio=t;this._stats={renderGeometriesTotal:0,renderGeometriesVisible:0,visualizerRenderTimer:null,viewportRenderTimer:null};this._needsRender=!0;this._rctx=k;this._gl=k.gl;this._visualizer=new c(b,g,f,this._rctx);
this._camera=new d(a.createFrom(0,100,-100),a.createFrom(0,0,0));m&&(this._stats.visualizerRenderTimer=new h(10),this._stats.viewportRenderTimer=new h(10))}e.prototype.getCombinedStats=function(){var a={},b=this._visualizer.getCombinedStats(),c;for(c in b)a[c]=b[c];a.renderGeometriesTotal=this._stats.renderGeometriesTotal;a.renderGeometriesVisible=this._stats.renderGeometriesVisible;m&&(a.visualizerTotalRenderTime=this._stats.visualizerRenderTimer.getTotal(),a.visualizerCurrentRenderTime=this._stats.visualizerRenderTimer.getLastFiltered(),
a.viewportTotalRenderTime=this._stats.viewportRenderTimer.getTotal(),a.viewportCurrentRenderTime=this._stats.viewportRenderTimer.getLastFiltered(),a.totalNumFramesRendered=this._stats.viewportRenderTimer.getNumMeasurements());void 0!==this._gl.getUsedTextureMemory&&(a.textureMemory=this._gl.getUsedTextureMemory());void 0!==this._gl.getUsedRenderbufferMemory&&(a.renderbufferMemory=this._gl.getUsedRenderbufferMemory());void 0!==this._gl.getUsedVBOMemory&&(a.VBOMemory=this._gl.getUsedVBOMemory());if(void 0!==
this._gl.getUsedTextureMemoryStats){var b=this._gl.getUsedTextureMemoryStats(),d;for(d in b)a["texMem type: "+d]=b[d]}return a};e.prototype.dispose=function(){this._visualizer.dispose();this._visualizer=null};e.prototype.setLightingData=function(a){this._visualizer.setLightingData(a)};e.prototype.getLightingData=function(){return this._visualizer.getLightingData()};e.prototype.getViewParams=function(a){var b=this._visualizer.getViewParams(a);if(!a||a.frustumCullingEnabled)b.frustumCullingEnabled=
this._frustumCullingEnabled;if(!a||a.maxFarNearRatio)b.maxFarNearRatio=this._maxFarNearRatio;return b};e.prototype.setViewParams=function(a){void 0!==a.frustumCullingEnabled&&(this._frustumCullingEnabled=a.frustumCullingEnabled);void 0!==a.maxFarNearRatio&&(this._maxFarNearRatio=-1===a.maxFarNearRatio?t:a.maxFarNearRatio);this._visualizer.setViewParams(a);this._needsRender=!0};e.prototype.setRenderParams=function(a){this._visualizer.setRenderParams(a)};e.prototype.getRenderParams=function(){return this._visualizer.getRenderParams()};
e.prototype.getFrustumObjects=function(){var a={},b;for(b in this._content)this._visibleContent.get(this._content[b].idx)&&(a[this._content[b].name]=1);return a};e.prototype.modify=function(a,b,c,d){this._visualizer.modify(a,b,c,d);this._content=this._visualizer.getContent()};e.prototype.getContent=function(){return this._content};e.prototype.setSelectionObject=function(a,b){this._visualizer.setSelectionObject(a,b)};e.prototype.setCamera=function(a){this._camera.copyFrom(a);this._computeVisibleContentAndUpdateNearFar();
this._needsRender=!0};e.prototype.getCamera=function(){return this._camera};e.prototype.getPickRay=function(a,b,c){return this.pickRayWithBeginPoint(a,void 0,this._camera.viewMatrix,b,c)};e.prototype.pickRayWithBeginPoint=function(a,b,c,d,e){return this._visualizer.getPickRay(a,b,this._camera,c,d,e)};e.prototype.addExternalRenderer=function(a,b){return this._visualizer.addExternalRenderer(a,b)};e.prototype.removeExternalRenderer=function(a){return this._visualizer.removeExternalRenderer(a)};e.prototype.getExternalRenderers=
function(){return this._visualizer.getExternalRenderers()};e.prototype.render=function(a,b){m&&this._stats.viewportRenderTimer.start();var c=this._computeVisibleContentAndUpdateNearFar();m&&this._stats.visualizerRenderTimer.start();this._visualizer.render(this._camera,a,c,b);m&&(this._stats.visualizerRenderTimer.stop(),this._stats.viewportRenderTimer.stop())};e.prototype.resetNeedsRender=function(){this._needsRender=!1;this._visualizer.resetNeedsRender()};e.prototype.needsRender=function(){return this._needsRender||
this._visualizer.needsRender()};e.prototype._computeVisibleContentAndUpdateNearFar=function(){return this._frustumCullingEnabled||0<this._maxFarNearRatio?(v[1]=0,this._computeFrustumCullingAndNearFar(this._camera.eye,this._visibleContent,v),0<this._maxFarNearRatio&&0<v[1]&&(this._camera.far=v[1],this._camera.near=Math.max(v[0],this._camera.far/this._maxFarNearRatio)),this._visibleContent):r};e.prototype._computeFrustumCullingAndNearFar=function(a,c,d){s.perspective(this._camera.fovY,this._camera.aspect,
1,10,u);b.matrix2frustumPlanes(this._camera.viewMatrix,u,q);c.clearAll();this._stats.renderGeometriesTotal=0;this._stats.renderGeometriesVisible=0;a=-Number.MAX_VALUE;var e=-Number.MAX_VALUE,f=q[0][0],m=q[0][1],h=q[0][2],k=q[0][3],r=q[1][0],l=q[1][1],w=q[1][2],n=q[1][3],t=q[2][0],v=q[2][1],D=q[2][2],L=q[2][3],E=q[3][0],I=q[3][1],R=q[3][2],V=q[3][3],N=q[4][0],M=q[4][1],T=q[4][2],U=q[4][3],W=q[5][3],X;for(X in this._content){var O=this._content[X];this._stats.renderGeometriesTotal++;if(!O.material.isBackdrop){var S=
O.center,ea=S[0],Y=S[1],ca=S[2],S=O.bsRadius;if(f*ea+m*Y+h*ca+k>S)continue;if(r*ea+l*Y+w*ca+n>S)continue;if(t*ea+v*Y+D*ca+L>S)continue;if(E*ea+I*Y+R*ca+V>S)continue;Y=N*ea+M*Y+T*ca;ea=Y+S;S=-Y+S;ea>a&&(a=ea);S>e&&(e=S)}c.set(O.idx);this._stats.renderGeometriesVisible++}c=a!==-Number.MAX_VALUE;e+=W;0<this._stats.renderGeometriesVisible&&c&&(d[0]=0.99*Math.max(1-(a+U),2),d[1]=1.01*Math.max(10+e,d[0]+1))};return e}()})},"esri/views/3d/webgl-engine/lib/PerformanceTimer":function(){define(["require","exports",
"./Util"],function(e,k,n){return function(){function e(d){this._filterSampleIndex=0;this._lastTime=NaN;this._numMeasurements=this._totalTime=0;this._filterSamples=Array(d);this.reset();this._filterSize=d}e.prototype.reset=function(){for(var d=this._filterSampleIndex=0;d<this._filterSize;d++)this._filterSamples[d]=NaN};e.prototype.start=function(){this._tsStart=n.performance.now()};e.prototype.stop=function(){this._lastTime=n.performance.now()-this._tsStart;this._totalTime+=this._lastTime;this._numMeasurements++;
this._filterSize&&(this._filterSamples[this._filterSampleIndex]=this._lastTime,this._filterSampleIndex=(this._filterSampleIndex+1)%this._filterSize);return this._lastTime};e.prototype.getLast=function(){return this._lastTime};e.prototype.getLastFiltered=function(){for(var d=0,b=0;b<this._filterSamples.length;b++)d+=this._filterSamples[b];return d/this._filterSamples.length};e.prototype.getAverage=function(){return this._totalTime/this._numMeasurements};e.prototype.getTotal=function(){return this._totalTime};
e.prototype.getNumMeasurements=function(){return this._numMeasurements};return e}()})},"esri/views/3d/webgl-engine/parts/Visualizer":function(){define("require exports ../lib/Renderer ../lib/SSAOHelperObscurance ../lib/ShadowMap ../lib/NearFarCalc ../lib/Util ../lib/gl-matrix ../lib/RenderPass ../lib/HighlightHelper ../lib/OffscreenRenderingHelper".split(" "),function(e,k,n,h,d,b,l,f,c,a,s){var t=f.vec3d,v=f.mat4d,u=l.assert;return function(){function e(c,f,k,l){this._drawSSAOMapDebugQuad=this._drawShadowMapDebugQuad=
!1;this._needsRender=!0;this._content={};this._rctx=l;this._renderer=new n(c,f,k,this._rctx,!1);this._programRep=c;this._shadowMap=new d(c,this._rctx);this._ssaoHelper=new h(c,k,this._rctx,this.setNeedsRender.bind(this));this._nearFarCalc=new b;this._highlightHelper=new a(c,k,this._rctx);this._offscreenRenderingHelper=new s(c,this._rctx)}e.prototype.getCombinedStats=function(){return this._renderer.getCombinedStats()};e.prototype.dispose=function(){this._renderer.dispose();this._shadowMap.getEnableState()&&
this._shadowMap.setEnableState(!1);this._shadowMap.dispose();this._ssaoHelper.getEnableState()&&this._ssaoHelper.setEnableState(!1);this._ssaoHelper.dispose();this._highlightHelper.getEnableState()&&this._highlightHelper.setEnableState(!1);this._offscreenRenderingHelper.getEnableState()&&this._offscreenRenderingHelper.setEnableState(!1)};e.prototype.setLightingData=function(a){this._renderer.setLightingData(a)};e.prototype.getLightingData=function(){return this._renderer.getLightingData()};e.prototype.getViewParams=
function(a){var b=a||{};if(!a||a.pixelRatio)b.pixelRatio=this._renderer.getPixelRatio();return b};e.prototype.setViewParams=function(a){null!=a.pixelRatio&&this._renderer.setPixelRatio(a.pixelRatio)};e.prototype.setRenderParams=function(a){void 0!==a.shadowMapResolution&&!1===this._shadowMap.getEnableState()&&this._shadowMap.setTextureResolution(a.shadowMapResolution);void 0!==a.shadowMap&&a.shadowMap!==this._shadowMap.getEnableState()&&this._shadowMap.setEnableState(a.shadowMap);void 0!==a.shadowMapMaxCascades&&
this._shadowMap.setMaxNumCascades(a.shadowMapMaxCascades);!0!==this._highlightHelper.getEnableState()&&this._highlightHelper.setEnableState(!0);void 0!==a.ssao&&a.ssao!==this._ssaoHelper.getEnableState()&&this._ssaoHelper.setEnableState(a.ssao);void 0!==a.ssaoAttenuation&&this._ssaoHelper.setAttenuation(a.ssaoAttenuation);void 0!==a.ssaoRadius&&this._ssaoHelper.setRadius(a.ssaoRadius);void 0!==a.ssaoFilterRadius&&console.error("The property ssaoFilterRadius is no longer supported as a render parameter.");
void 0!==a.ssaoSamples&&this._ssaoHelper.setSamples(a.ssaoSamples);void 0!==a.drawShadowMapDebugQuad&&(this._drawShadowMapDebugQuad=a.drawShadowMapDebugQuad);void 0!==a.drawSSAODebugQuad&&(this._drawSSAOMapDebugQuad=a.drawSSAODebugQuad);this._ssaoHelper.getEnableState()?this._renderer.ssaoEnabled=!0:this._renderer.ssaoEnabled=!1;void 0!==a.offscreenRendering&&a.offscreenRendering!==this._offscreenRenderingHelper.getEnableState()&&this._offscreenRenderingHelper.setEnableState(a.offscreenRendering);
void 0!==a.antialiasingEnabled&&(this._renderer.renderOptions.antialiasing=a.antialiasingEnabled?"smaa":"none");void 0!==a.earlyOcclusionPixelDraw&&(this._renderer.renderOptions.earlyOcclusionPixelDraw=a.earlyOcclusionPixelDraw);this._needsRender=!0};e.prototype.getRenderParams=function(){var a={};this._shadowMap.getIsSupported()&&(a.shadowMap=this._shadowMap.getEnableState(),a.shadowMapResolution=this._shadowMap.getTextureResolution(),a.shadowMapMaxCascades=this._shadowMap.getMaxNumCascades());this._ssaoHelper.getIsSupported()&&
(a.ssao=this._ssaoHelper.getEnableState(),a.ssaoAttenuation=this._ssaoHelper.getAttenuation(),a.ssaoRadius=this._ssaoHelper.getRadius(),a.ssaoFilterRadius=this._ssaoHelper.getFilterRadius(),a.ssaoSamples=this._ssaoHelper.getSamples());return a};e.prototype.modify=function(a,b,c,d){this._renderer.modify(a,b,c,d);d=0;for(var e=b.length;d<e;++d)delete this._content[b[d].uniqueName];d=0;for(b=a.length;d<b;++d)this._content[a[d].uniqueName]=a[d];d=0;for(a=c.length;d<a;++d)u(this._content[c[d].renderGeometry.uniqueName]===
c[d].renderGeometry)};e.prototype.getContent=function(){return this._content};e.prototype.getPickRay=function(a,b,c,d,e,f){t.unproject(t.createFrom(a[0],a[1],0),d,c.projectionMatrix,c.fullViewport,e);t.unproject(t.createFrom(a[0],a[1],1),d,c.projectionMatrix,c.fullViewport,f)};e.prototype.getProjectionMatrix=function(a,b,c,d,e){b=l.fovx2fovy(b,a[2],a[3]);v.perspective(180*b/Math.PI,a[2]/a[3],c,d,e)};e.prototype.setSelectionObject=function(a,b){this._renderer.setSelectionObject(a,b)};e.prototype.addExternalRenderer=
function(a,b){return this._renderer.addExternalRenderer(a,b)};e.prototype.removeExternalRenderer=function(a){return this._renderer.removeExternalRenderer(a)};e.prototype.getExternalRenderers=function(){return this._renderer.getExternalRenderers()};e.prototype.resetNeedsRender=function(){this._needsRender=!1;this._renderer.resetNeedsRender()};e.prototype.needsRender=function(){return this._needsRender||this._renderer.needsRender()};e.prototype.setNeedsRender=function(){this._needsRender=!0};e.prototype.render=
function(a,b,d,e){var g=a.viewport,f;if(this._shadowMap.getEnableState()){f=this._nearFarCalc.calculateSceneNearFar(a,this._content,d);this._shadowMap.prepare(a,b,this._content,d,f);b=this._shadowMap.getCascades();for(f=0;f<b.length;++f){var h=b[f];h.camera.setGLViewport(this._rctx);this._renderer.renderGeometryPass(c.MATERIAL_DEPTH_SHADOWMAP,h.camera,d)}this._shadowMap.finish(e);a.setGLViewport(this._rctx)}this._shadowMap.bindAll(this._programRep);this._renderer.renderAuxiliaryBuffers(a,d,this._shadowMap,
this._ssaoHelper,e,this._offscreenRenderingHelper);this._renderer.render(a,d,this._shadowMap,this._ssaoHelper,e,this._highlightHelper,this._offscreenRenderingHelper);this._drawShadowMapDebugQuad&&this._shadowMap.getEnableState()&&(a=v.ortho(g[0],g[2],g[1],g[3],-1,1),this._shadowMap.drawDebugQuad(a));this._drawSSAOMapDebugQuad&&this._ssaoHelper.getEnableState()&&(a=v.ortho(g[0],g[2],g[1],g[3],-1,1),this._ssaoHelper.drawQuad(a))};return e}()})},"esri/views/3d/webgl-engine/lib/SSAOHelperObscurance":function(){define("require exports ../../../../core/Logger ./Util ./gl-matrix dojo/text!../materials/internal/ssao.xml ../../../webgl/Program ../../../webgl/Texture ../../../webgl/FramebufferObject ../../../webgl/VertexArrayObject ../../../webgl/BufferObject ../../../webgl/Util ../../../webgl/enums ./DefaultVertexBufferLayouts ./DefaultVertexAttributeLocations".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v,u,q){var r=d.vec3d,m=d.vec4d,w=n.getLogger("esri.views.3d.webgl-engine");e=function(){function d(a,b,c,e){this._enabled=!1;this._BLUR_F=2;this._attenuation=0.5;this._radius=3;this._samples=16;this._viewportToRestore=m.create();this._rctx=c;this._programRep=a;this._textureRep=b;this._requestRender=e;this._emptyTexture=new f(c,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,width:4,height:4},null)}d.prototype.dispose=function(){this._emptyTexture.dispose();
this._emptyTexture=null};d.prototype.getIsSupported=function(){var a=this._rctx,b=-1!==a.parameters.versionString.indexOf("WebGL 0.93"),c=-1!==a.parameters.versionString.indexOf("WebGL 0.94");return a.extensions.standardDerivatives&&!(b||c)};d.prototype.setEnableState=function(a){a?this.enable():this.disable()};d.prototype.getEnableState=function(){return this._enabled};d.prototype.enable=function(){var a=this;if(!this.getEnableState())if(this.getIsSupported()){this._enabled=!0;var b={target:3553,
pixelFormat:6408,dataType:5121,samplingMode:9729,wrapMode:33071,width:0,height:0},d={colorTarget:0,depthStencilTarget:0};this._ssaoFBO=c.createWithAttachments(this._rctx,b,d);this._blur0FBO=c.createWithAttachments(this._rctx,b,d);this._blur1FBO=c.createWithAttachments(this._rctx,b,d);var e=new Image;e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAqf0lEQVR42gTBB5ydB2EY8G/v8b7v7Xnv9mmcdFp3WpasZUuWFzZgDJgkhgwoSdM2JbTNjzZA06ZNgaRJWtKSEgjDGNuA8UYeWpZkbZ10uj3efu977317j/7/4De/8ef9vCow2VUGGHzRhuQ+t08GvhZb+jy85wOu/68JzwtQSCZedpsvC8SL6NJNNwZoHMaZiMoCrjrPATpGJFxvRCYMKqTCBsyVw8h5B6ROArU3+8HOGLe3Ay+UABow3D4wEcfOakDbjh2h594mikMNcI62ISNzIius0bfeN+QHrv+L7M53FHq1XC29breFgmCjwPHQ/fo88OIg9kvDdQPhB93G8yk6DtRYFT64fR/jQn0NIcIgYHylyFjVHPBboCB7HQ5sXuoZqQCHqKUjtvKNpvxkivqlZe514DOA/Keethib6OkOw204MMTjY3HX8VIGFeITgBEApGRFY3hyKyPeRWK/NNa2huJeLKzBJAimiY7ZQbAh0HwPEP9jxHhs6he37z8+KWqdeD7TCttNwgHftJpfzCq/iOJbKrxap2Ymet8zwVEoNReE7T4aI6t2mBuO4Meyh3vHAeK2+KvLzWHEgSCJpgR5EvP7QPFLyeDWWrqc1iVz6LwPI7GEpOEExCwzVZwtKtDGyzRW5tGyz5WA7HLtfrOIHp9T9kXQB1z7E10eYMytTs5QOuci8E+YIk9W/roj5nxvjVVLaM+30x/09CPGIdQlfsOe/WqxoS9Sf5bVv+drIqyP6uNrQMxFGDPSt1PurVE/UcuV9ci35bmCPTiIjsuZZjZCePj01iMbKBYa7UyVIDI+MDMSAV7sw6CSjKEG0IqwXhEkVtFwFJQ9D3q9q2RE8xEzuxvCN0Bq0pAFH7IMZEW3/zQU6rQ8Dw1bqPE2XCxtht8B/Hsg/yzu3CUcGdb6PW6QCVRs7bYKDwDQfYefmmJO2O/d4LyOzns2kA3kt7Bxrn1ZZ4hlYFs+uYpAnNDyDI36VE+6wLadkEwTwQIdYovCIM8SEVS24D+ktuqjWIT4yWFEN/zEfsqIWkFfKQsW8DNVyLEDKWwZ6ew8x5ojpAmh7DbTuiCGFcW/DXl5hO7Y/BztDCbwqtMaxcanBq59oBYuVIAM2o2twXHduUpDjChd7xinXHoB5OKsvd/jlrN+SnHoir0dn1hWWSbrDzj0Nd6x3PUb1LYyVIpv9AHW9sPW+aEhU8peULyaAG12TddDnq0zVg5S+vfnVLQBwjt3PcU9k0feDfAkCjohqkfBRgeVfcx1xYcTzRYoNbVPbCQ/mmC66x3pMpN7IPDeT7a2+TYYDYj41QNoEoGVQhPLlIPb8k2yMZlM2gNIiEu4nfIZFKeDW08qY9ds2wLoLWIt2yJuYrXnWhNbytRVs1sHIw6qhoE/sYJsJArzFLNdUzxalSOyF3oIBU2ttqZFumoEj6XoZVOHKWSJDoGe+WGZmObQuA4f+uap/u15hOEW1LveusgkSWNvivQRRg7bAQWcd+wUcmN/DTkr6XeHmX/pVnYkebSt/RBNP8PhsXnqFhfUu/ozIH++g98KYa+EnqoRZtFucB/WVPy5MoJEyH+RgSeFoTuDS3Rjpi7Iog/+N2aD7N9oJkprVsWpNOqZ5JsMfDKSID//tUCyQrANUm4Q/czDP1mKVTo2lrM6uuJh9RV3pMc1ylB/5zpYs3EWgR87+hDYZY06VIzFYd+HxTY9FyARG0RytMQAJujsU3Pz/qPlwVVI99+KBosYv4qQOzQP4WWCfPVd5eSjvPMmAkY0LFL9lX5vMfDKgtMADu3pCrNLctVht8XYBr6KRvBkWte8jafxscvmLE7tITB4IxDf4GJ/7YdtklZdgOO6z62Bj4ADitP0UfcQAiwSnoEgw44j+mCCpjb7zL2IcBSOYLS5ArdRgU/EJrsgnLhuAgv6ylO+fTYJZMPiFVUt4bafDNpq8gW2/+Wc1LSVejMjel0a5Yg2kUT1DzSmbB3aGVsieORVfXAq7vYkeQUZKUHxZlufMOFKsneeaJYoxjH4j6q2BObSoPx+o2RkzKti/lyb2uC7h60bB4z9maJ4tnFpvw/fQ8zfJ3IAAiSE6G2X40l/PFI+xGgcAjM+/31BL8p1KGRn8kFaztzEFxsAfOxjR910VTxaqsh6/z5RGNebzyWtoossscYHUPKL91d9BhtQTclREMGf6PoMnmDJ6orHxKl7RZO9DwAIBqRCqlbTHs8hf0fa/1ZcPuxk/I42xYnbafCqgGGatSnGPUaE/1azHhdzw/rok76dX+vslH00lkxaRKfW/wwn3mJTQOH5bu/vzgMJNnTuAvJMFL3p9f90ttxSrfnxNusCI0spKhX0O7XBAHcouivCT56YhuFE+A4vrQr7VfSfeXbsbpt4rbhpwuNPNBagcd8A6DO4PgSzeDQ6lGlIevQ2yGyG3fn49mPgnTNJZqVuLwC8E3FFyBozgL47rtOWlrXOd1s/dRPjgYmLAzl2dWFOGk+bW+PStap2Xm/ERvzJdDYd4fd16N3x3ooL/FzJ8PEPT4H4WRk5ygiRK97yrjHU5p/69gdFfUdLiDlYG0NeFYyjRmZNdLM6mDPgwceejmpR8ek2Pm02WQ3ZqW5nCDTpL9931LtJdladOI0oZjCwoGICD1xZV4cYZxIgzhjekCf9wh4+jDU5IjvsdEm/12T6e0aJ5YqnS7ROWkWBX3FAnboqd7c6kAcAxZwBS3bSAZcH0F6pV/7AkfvSEzW3fzrp1VvQjkL3wetuK7N/CV692ve/zNVq5KYktPLl/CMDhNzFjT6ZOIK3RgxqBaLxgL8Aoc+F8MeP7gFuRpXbCDtlAbL10NvMh/tsocPBVQx9SFIIiN0CNzcipYWwz5GmjGWiarABr7U30U+uUNtF9/saPWDaKnox3JOtzsKvq1INHtwgug+a9C8U+XIiPGGIWaCNg7RE1WFxot+t3g22M6JFGzGOpSzmpS+ODP4Q6RwuwVKDW0f8olQHYv4Iwf51NAr0mmJoXL1TpxX/Jwq9m3b+wiCKtLfiNrWV4I/5xBkDPvnpZ+Q8EN/Czdf1bA+T5A6JpRxP74kwUm8y12j7Jd+fsDMtag5nJvLUigJjbnooZikOBpxD6T+Nk7Ln0kFZlhujYcHz/L1UK05AHRt+gErP4E4f5gKsX+O8TCsbUG1hHj2+vX3Ng7bL0R3a5KytLaPmeay0xND+gBfUj9Phq/2xfYKS87H3ta1Qso4H9Ca6X0hoMdy/IXM7QuhIVg9ZbI2oBRhk6xpX8qoHNrL9POGnrNERY9igV1x61qKLAvFcGoiRcch1N+k7LK/5D0D3eIobCG4s2iADwB67+vJqtk0Tc1TMkgQLKKRG4Bl48I3u2FQq/lO3XbK9g21Br2Wrcyobb2DqyLVhQbWbiwX3JdQGgLjIbjStUiveYGF6IpjdMZj6eyO1pSwXCSByV38TzEY2/VEpeAXdtABk0qq9aZB+cGf+ukGgq26f4iAJfso+9b38L3dfnIImHIwH4TRyf4e78yxS+Uxq6TugN4xw5XDxOoluqXYDJhgyxre24BJr10njnXjpWcTtWbdv4aXNbXQq03s36vFSR1oz9oxk321YuwoQdbNCsfy3tHAmMcnpdcCnnvFu3ffTYs/Ph90bPfqToDdPLPaNcCKivoo0Rwkqbsk1bPVbJpYxGIKUfXH4pK6H8fghaPY13icA4JO+NLuCpoYlHDM9EB75+kNH/n6o9zE+TRnBkkL8xiqWY+Q9ZzaAg4+fLzZjhNfw3w/gUQRFiPz+fPeS0b8aFIJGPC+rr24QY6gIO9YVpEO6A2aaeyYdXRMVVLdKluURo78cBmBt9EtRzeNaKwWKt2E84X3D5pkIp/iAp5BlCgOpbCJAGniU3QBwNA46JmID4zirCmjDcPth6PehZa+zDdAvOqltgXj53q4T5ealBjQn4yoLHxl7ENmhUxeNvsVRYwtikoW6UeUxgr9EMFvwiR9UeuVRYKur4GLqMtLds4H9c7GxNSJGLKubjwZ8TGOXLmgCr4e5uEw7XWCj+lNk1wMUOZOC/mXXfhLtvOu24Kyd7Rq3dEnkuAFo8DA4pyLpJ0zioo44oRxXdESQO1rq81ulq3WDJXbt3ADVNIjWg2a/R+JYnI2PeepVLB6LPzi5eMUa2/jvGWrYA0pIsd2Ax6mPHbLgJuQbN3uQNGGu19WDg/3b6lAnBRn9N3KlQsrLj5LkBOCnwk7P3pLX1ljdnh8cnPPerTvbJmSkWHISCPCTNYii/Dg4JrjaCNS+3DAPRwm9DyJkalkLQz4YsGNLFveiCyw6cE4MzvjUgRAl0jAQclYHdAaYaFVABepI4sP/oeepxPi9oGlSi3tpWIX0FzAOuE71y02MAmdQrbkGPmClGtJGKw+fOHi4cTrPd5qF/4KGkWmwqPqRP9fyB03ZL2FMBtc/W3/43eT17zGJUY+tBegRFjLJktlYf8TKpkmzJai8GvczudWw+UeEPcTZGuLLoFGDpv5YDH7ZFo4P1jmZ3TCjEotNcBqm155Pjm3NzFEKWKF7KcVY72eG4IF507vbNnbj9CwxsimhPW5KBT/cwpfvy/YzvJdcA+6n/B0d85Em9Jpj0SJ6LewBcL7Fw//+NzPSGw1uSqy9jfTmcJuyMzyA57DcJ7BZOkbPIcUXsDPjoMXY/keYYLd0Rax9ZOgJqJzTsb8onXqy1r3kKf8mbdIKVceTSXiiGi4/HR7Pt5tt27+BzW2VM1tj6lqIToB4087XR9bgOfSFKyGf5eeM2J0YhpmrH9/Uu2+28qDSL1av08BUz/i2dTounIci36M4SXJfQvpHifh6TOnD1lTMejVlfZUXf66md5FwdmEaOG1150HxOMK+gQNbgOZs0N1/lb7CJLdA8ILbK7RYCYPhDrXAb+xLMG4f8mFkDpBeyS5+tXLxfxPxJxjk++79i5TfpbnAivqN+HcMfaKsuVEQwkWRTQ6/a5BboYuIP2CsCo3BHucNjYkXfHt7YLxqKU/w4c/bdMrAM0RpawTOtWVdL3+l+Mr9a6KGHjzCdL+Pcs82YJuhXDZ2rh2NZcStekK3eqM4bjnwp/7yMa1OFl1OV3t6QPCo35w0tr2V7Copy7J1Es2x8Vv/HFIPufBxivtOv7nfIH2UelqlYzTdYMRhlOaizWtwONQqix3wIN5egwKRjEqW/h7rM7j0/YG2BRMfQkYeQJUQeo9nCmVps09F9focPDhOOXQUQMjU5dVeslBdgwfdev4kpssy+ovCLglTwJ6SUOXLRMTn3S0pz10x5bTC15u11cl30Nk9Jrzr0xP8nKHV48h0J54cVJqaeI9qlm1gjOB1k0QhXwFP2ObcgC+t0r1ti6P/KzA/SXo/IN0SMFjq9ZuIrLr9A1akw429QOUM5B5UEmUvRmTAe60bM1yWrYMPpCFXI/q4RWB0CWq9rGRvUP6uaKQ/IG34bkpJkt3ViM6N0IEnJx4orp2D+v9I4duJatlZ7BHsJdqYiWJ5E3tNwoeEVCoY2xmtrCoYT1IXAPjUwBP+UKQvs1zFNa06XEMiWsMnUtTlALgZWDlM1hWo28GbMfiUPvgdt/o7pfRflcM/cqANpekRiR1c1GDZum7sabObAKJGAiHtLqegHQC9DUL/UQuHsMQHtHGasfv6lruN/s+g4LNBZ8IJFEA+CQPYmvAjW3wuu8Em2BOLwXwZlFGfMPA9gYvg7ivh8mmQV+jMZCwMKS/nJW8SwW8HazdipRdLct7AJkj40MeOWg3QPwIrXSSc0ovjYScZv/py9VCo137HQyowz7J1BdefseFZXLWQTNmHRNUYHKOArrc1Ld3Tuhw9+iusRlGgUILvkENzEP00tfai71AkRVocwA0+urjxvsVO2au4HpYHBLzTXC5UGH9S7qA+0j8DO6I9fVCSn0La27FII/Qbem53DIga6BQMqMD2zzG2vQobkLxi4skm+av45lv9+w+7UIYVvifAu/74qdQWePGbEC300M0D1rtJrtekESHiIQhLqFk1c20F3oyQ/1MLh3NF2TCvWlpMoB11+RF/m885P9EFQfa2INC4bf0oSDykNB1c7ThJKog6qH/NiRykcxtxc2BiNWPBGQs03Gqy95X23pK3XS3Id6JoO1j/fb+rDEHXOWYCdF5p3D/MD/9Mrf9+0tmM5+43b29zk5/TG88Wc7/BuItg64CzAGDFRsPDYMwC4GPHTsRewpMoEvw7U5wNabW1NhdM5YstTBJvmeCl7EufAXYGheRUrgK3lAcnaBjUtvX7A1YCYrVzG4BI+Fs3u211IAOjITr3qxz1iQhYAzxcC97nqQcC/gNJ/ksGu21JMSvl4BgZhY+tDS2kbAZC/0+j2RmMSIBqxviUr8mBMw5m0irMJ0A6wqp4q7OS54rtv3SYfwE31V4hYBefEWo9yP7E3S6Ry/zAdvd68APdrcHzIBj1kQVNtfTmSN4Y1lvHcX/BxRMGVgizNziT1a+NL4f1ZGrBBLkAbTppStCqqHPLZhyPiDx3SKmtw205TO2WxMEQqkULr7vCn91BzmndvbHWFAu8GiSrgAZyZNMScbS5iAArlhrh5G4HedwL/wH2E6v+bbD1O455A4uBvlNoAUNKwqPsjk9+loTuhkiXwuigelze5UHCb/AJNKw2cc+G4CfE/Z0ZwVsDXSAOfr9R/gpL/ghGMJOL8BA2mOuKNInxFF6AW/7uErMW8sNkEBOBtXXXEbm30CCTJbxe6EOIbec+RTjqvdUflOP7AfgnkC8nhSIm3neEOmts61kCO/o2RP02eqWjJjzYn3A/WgFSoyAwj64gKr0H3nFCK7pZt2FDmwwcSqB3YBMgY3HXWDAoBqr9PHSGIeh/l/QZXZpL2wpO7AylAwZ87Pce3z6xUVvn4SNt0I8zpte4alIJpNWn8cjfSE4UKTvooupk8qPXRvFrmj6smvX17qSIX9baO7HYIjg6IqOvJIEg3tVQ9qyR25F2fx7JpzrMHwCdjgkYRexElPxR1RDICwMQssAVuoCZADE5CJ9ZJS8LV/rUdEFDlFhrI1yQ+/EEZmII9DDLO54bQvrj5cmbQPfa7cH/UOQXdKzucZ2IOklamgTnaRQuwQ/+x1PS39leFqUqIMbQ9x6YH8xs9TiGTviU6lvwehYNuM1i85I+gNg8DiEuTIIk2iOce93t0LQ0udyF6JpSw2dw9G1nJVmKfxT36xJryH6PzgQR9qRD1Mm5e37Mygzm/LbTyeGse9tUbxKBlqB2FtLmQgRT0XuwlEeSNxcWvzw98AE28vXwWr2FlIrAWsXu9Qf2Q3c/wgIo6RZJ5GQlejmceYZfebOaO8nDj/iTnf8s2C9IEEsxD0K57+JXP2Utf9NInQAnGuzKs458w4LXRbgQ9GaWxz4G11+LwAVYeMNM7iHu6gv4qVhtn2OYKeKRJRdJHF61unu1ms8j/2aR7OYTz6aWX1mXRDFnB7aepsLG4BHvkkwVYqa/DYsRNiB3CDPZ2q5Kr5L8oC6j5ULS3/jzu6tf88tQ1tTXmBhfdwgUwXDbbt33gD8woaq7sVQiLnSMXLTtZzY89fkny98x1N8pSu8ETpNAIhg/T8GIQvlae9NA9hx0Nc/krzNurU+PlTodk7+HO9MBugPzcYk8hFtQfN/X7klPxXMLqKf25wcIYKZhb/Htf+L1Uc18kw5jZOGML5c98ZDc5yHfzmVjvWqAh2URb7rTpwH7Z5Z+n7SJeCIdOVzgdwzy80P8Hd9okBHiZ/rd9S+Vrvw4zFlirKiTK6TcVpw1zP5HqVhBXt6RhPfu3IsNMMHfNPSZVSonE3UuRpsMiGM3OJSv93QnDntYsYtdGVuljAmJA47Bndeazv44WQHWORbVjGCIspejDdhnQEoI5OYlcXg5yt52/BHhWJF2Rgxn5H7RStg/JEAf9XnV5j1UAfm2Iy+qgJmEmxTPRFm9jxx0wK5FwlHNEHBPdTZ53Mfs/p00dG2Ren4MbqsBCHPX40CcaD98IfZyAX/LGkYN+CRygtyrER/0WGlb84sVrjlknK7HuCRx0us3BOkONLiBYUCABPNb+cChaP1nBEzlW6DhhQp4wS7EaP8jKzkYuZbKviVem6ZHQsCk7QpfziL22v/or/9J1/1wUns39AYhbg+CwWbwRuSzsQTe07J0eMfvMWHVtaiDsBwCaUJapcqMVu/+bgG9YOOvJ0rvKPZQBrhYhc4Z5hMKxupj1xvFyWmg1W5N56lDJHzoDx/cuAshRzC4RgMiLb4Q2pN8r9bnJc+XUvwe3YZ5fcMVHyusfcuXdpv27i51WA0lbuZsfK3s5de9lWW9zXCCmTWIWhI18QtJZ9RNj1RbAC/ACLbCUo/Cit3JZCjjtKR+f5zdBJtOH2uWGr47tDtauNpKbom3Vu6n4oxtJhFDmzaT2pc62ZPu0gKZ4cnId/Bp195CRRtJRKMX3+4KNbD9NDEARUw+Dj82NV0k8VggVL8EZM8rwKmwWWb4ZiA9mmtNR/6rbulcqybAyYcAajMrvmsCHZJlu0CItUtWhsU38uDA04ET8wqzujLFgSgRRzt+kXEaAKwDm59pL/0Y4byu6kKl7cTK+UR9vb7pvG1tF02qxaRg1uiHnx+g7wOFJdw86CMbIvQEdeeHfeLxFBSPJn5VXZvyXLVsJVZjFpf/G5N9TGEn4xIAIx1aZlnqNx48+fxpszhYt1rUyHKHyqS/reuRCO8KEKE/+p90d4cP7dOZGBZrAe4Q2Cr6VoWFGp7KU8jzB6QbTf++mX28Qt7b0RpHxG638hMdZDlOSXXCsLeIhHkEgDBnDc48xzage9HPIxbGocP0yslbVL0Ed92bnx3d/O9vKImgbfPx20LzQCP7f6r+b/H2tmDTlvc+6g0PHKeaeAe5lUU2I63NVlYI5Hba+5RBXfNRT+s/tQ4/PTEt6013TMhfYY1q4O1CPEUaPZSt/QOqj9rMG3KYH1yhRG/UXcb6yZcW8U+k+wPZPCgBlgpNu8Kf+VLERKyNT9vbszywFAMfMpx9lkOsgwtg4j67egVCDgb+ZEV+Y3qxbUuniUxWX3sxPzIPegZS/ka7kue5Y0IwTZu5WqyB9RSCfE3Uwk57704/vV7o8av3lyOVAoQ+jppahwoMNvpxOGpVqrkEMMvAXy4/1nLZ7CXbF+Kq4DobenxfVH8/pClZz8kcJjJSt/V/IWS/l38JjraIQDwVzDZtH9eDrv81QfiKDZ1jLt12E1ftzmRWhx30rpGsWMCynxugBxI8c3BRcxANJ0r34OFhMkV49Gt40u53T1vkZujkMataE3APzs1g0F8IXsmQDntQsdKFNf6iGH8VLQGmiW3JPBuidQduZTq7OqgW5JykjNnmiYjhbLj8+P7cqCWZYZRrkQTaRDf45QL5RUW9XKQDYn5MF6gY8ryV/nXW3qQrGXcQEKwbvgo4z6HJe/l20BOgwI4GgQJQVMNVFiLM3ZsX3olzj1B2we3+Guo/EO8csQZWY33MdXWPW08uYR5nM+10sH+4/+NzncE/GNbn6voapCiKV4hwCWxfwQ78q7g/B6aP81fbEJ+wCzml/1fZcKYdX5lgUa+LB/huzhEU6bsC/HuPnLhb8Wg6ni/HtV9Ygzwe4IyOGaVdivTDbEOW8wcpQLHx/7eC3Zi8sy8oXu5DhE+kw1u06LV7AqFiBTzxumkfMOCJAaDW1i2H8GXwYpRK1uBaofc2xGWoiG1SfQOZZd0xdeJz8d58GK/YijySB0J9Q+cPTWd/fav6mWhmSO8Q1NbxYhNAcb578XuSsC1uvGTGXkoqnwE2LrPE4WXsNmR+dr37NhPqTXwkhI99/qiruLWDhPRfke3BzfdO0Ym4QFzArH8aMPeu75kh1CseVwnsv8eZgrp91VD2VNU2J07EI+ZuhsZro1D0FpfMsrN9T7l9p9GKTy9r7nBy5t7G3PJk57ic3KRV0fbnLkfXYjF0cMEtFJzX6tUctEsk76FuiYm6EKzekXpHANhG2gts8KgF2qDT9Ady9p3FJLXcvD25D//CQrhEA4ctzFtu/O1u7KgeZ1Lgehq0AnjThaOUIIg7oyTm6DQFQGxYkfvTSD5z57MAe02y8MhnHbc3kWCVWgQS5KFidDa1hijkDgK9HylNiIkH7XUrO8mGx+CxPLJ6RBdr/s20MPBsaIkt9iU5tym3LEP0dJx732kMJwDPoVwVGRLds0r/XgQ5tHsywG8kAgXM0DB7PeFzbWyWa93IoiNSjCBLB+zoOu2+108JuNch6SnYLid74PzEj7llBoIHpx7hDqyxHrF/GasXOcNsJUiWOCPPptVgZcrbrM+/gYSTsRQGWXfwbi+2QpryYDX91ZRFe+c74jbKkPWQeYJdeasX+669/9kssmTPRZwQeXKLpE1E+wMyRDnkcUh+wZGLtPCR7U1wokVAtb7GMvgxlM9qyhlaafSIiZSV2vD+PkAeQIjhlvNRwBAevJgfJOo8qbpPQ2lV3ymUV1TQolwR8JBjKHETgw/91SRAJYKWvUwY46fq3dmcPUTKvlFYHq4cWmVrkV/zqAmy8WLPDahcp4/cpPwdQXMEimgoAXgeHsB/4wcD4WgpYL2kvse//ZIdm06Q86YrrHN/K2SfRJ33m8q3c8ZOC98HW3tg6JanGyYpF7dQgLGiKVfQ9BSfnsWrmyqiJkSrmImzcgVGKVKYrTVWN7tf6d09g6JtyFuSLqhgFsKE9Fy0wFs608u58BMfHhXUar/Ce5muvzisF6JoXe2fcbJTln4mpowiRCwa1bKE6YQTUT9l2z2PjQjcg7OFOC2z8RtLwKey7nwpOL7UIOmIcqMA0iv93CeLhhdhHK4m+WVcKc6sqRqPbXLI16EKsbTpOrc4BMRmvPYq2zwSQVf6zmEllfa8DyVodxwKuwDoOxBniJSY0GaSTDsOqaQq/TpWPIHx64a5xoLT7VUtdG8H8OA3t0HiED0CijKwqttKb740UfZbUfUqGDsNpefiSl7rr/f83Q50h3RzmP+FgiNLqYstIw1HsxCxO+NEcqIwD1RLyafv9PRS1ILpg6J3x9QLGncu4++SB34Fv9pKDJ2lVkflsOoIdszZhLGgK6yT3sT6qIAYAGSBuEik+gu6XOLEgRo4G9MPE8n3jPXHO7aczYZ1+58G+f9MLf5MHd1ldxDeLWLZJoN9pgofnfxs6YhJmWY95DHASjIJ7z4lgpx/SPVFkL0J+49CDoRHdmCHKHKzSLUtPev6OAMuUMQEEHouvSjVNk/k3u7co8aJ+6ADVeEupccQgcHC7UHvmhdNBOLdkMUixyPyK5y5ExMa1LU8oJ3sOnIx+RekN9rAOLaHYPY+Mg+Y7XM8dkgU5p0NAOF36Npi5F2nrS0C9fUadVLAZStsYtK4z94LmF/r8P5vHAT/Fou9Tm8cbjNGvPSpfGe9jhgGmhEpo965JlCczvY8rexaSSe7OVjwZnN2Ob0XkI0+vIwpbCs8lTFWA3WPBZ+j2YdrQXUIbCB4f3E+ES1oGFtWgKXRWKbVP8KnH6tCcoS3ie6H7TTq8e/HEl2l9buU/IptFZByo+5URfMLrQ3UGn29p2sMOyh5u9PYYuA+tOC9Dtsn0O61GrW8Vd1aH6ESfgC5Jg/P8EeGoNSrO1RuOKZ6QOKuKyDdGpj3XS1dR40xjXig7TSGmF9BUEK49IG27ZCocDx5yYHgIKBh8yjbftWO9QPkIibON4Mkgr6TQvea8SNccZVMwuqhXXh1GcPOknL/us4J3nxgC/7gSJD6ZPnuEYD5h5xabgNFEADolRV4z8cp5UeJB0vLK0bCTjKuGoBUQPwToZ9JDn5+w5NxIp4QtgLQBtgfDq1Oc+biHviY+Jm56YXtd9rtk2tlOP76Fb93EUwCcuET2W7HdYPAfxuz11rhA9bgJiSxErg86pGuTrrkL8nelqi1o1VcikcTFPFpXBsQkF9hrfTG5MedxuuME2ltj2r/X8zXK+ZOiW1l5EdKm0wYA6zzCzH/b+cGOyASKNKByGzhU+dk/DSiX2v6GbD0sUznKsJdgSIpDB5vsOUmpSXMKxhQJdBh2zQB9Uga2d7mF1i5Z8Pb/mg0GVkuNZFeFdf6/sQsRJ50cShX0xvFi14EdTAyK5xklct0uG9dU9Ly1BB7e4OdFA2kzjJ4+m4cGSTZsV7nWyCf6oBZWxqinVt+YsTvf6sQA1rUNjuKCtq0KP8EGoOrnXterJwiZH5WDOMJ9wiaTF4E1V6uuU/1KwyzJ+H1nMWLaG9MzrZDB0QJOUnUSxKEth9LU1tb7gYILPvJutypcbbUg/cb8KOPnEjRaCOkwJVQYECuiICK6u6V6FnMA4Qdf4LKiO9CPrEHjf0QCB60rN/YDmrSfSJweSDouFYaper4DVl9KMj8Qq4nhIkrzSCV1VtB8Pv6oXTxphryWz16RTVKqPbbKq9zbQasDtcKWRE9WvP3FNcsICp2kRWQCpSzS+z4+Er1rJgNglbTAWRqrATd8ElRNLkfMfFJWHPwNMPW7vUSOpc9im7UGfizlYOdvT787XWsxMF36s1xPyQov0uMDNuh7HVeyHWziyzKJnJFH1zyJG7twS5yiydQvr+9XtYK/mjNWUEdhgM3TJsWQEK3aaE+HqwUhLE1b65h42a1E3HMqoXuC4BzlnNuEIgryVdgYucd4NsTHd+tf+jBWV+6h6kT2CgOBmdI7gEfBrIYkOCO9tZGY+K770tcEjoG+l/rLT2tDByN06xhRUokM4Ltw8U/fNh/ydTjO4JddSFJ0n6Z9SMiz3lreKURYDM2Z+Szp9+zXvKr6SE29NRrJAGbmRjkSxi3sOErHFrB10tJ2uuT+/tem+j2qexl1P1B2DlgxMa8kS4WHKFWv0vqTQxY7YqnQN8jE+lmv3woeUknMmJciOh8HaLQ2A4uHN+oXYqBkyrckpNz2iLo5vZD/nuEEs/JWzZsCcp2U8YtsPcGQNdIOqvcZRD40+RjBs4WmDr7pU77XhyaIrC93dqsR+qa8BHQOWj4Bu7/Ha59bpCbhRoXY5nTHcgXGvNW2VGXpouirMtJDL3cggbY4AV6rYdtSbnCb2FR0Z3oEVYPa38SZH/o+79XTKl48AVc9BeBWAJbggJXJboVa3PUkSLquk/t1LtVD19MizUfx5LVJ+bJeSq5krVfq1glKB5TIifOV/Do4YI96WDkPPZoWbriIDEdfqy828yhXsnn3/Q6xwJvxVRu4ckHYGnN8zaBRAdlIQwaphWujvdJ4yQCnsPlge7wXDKQuPB5N5wTIyBk/4aw/x/R8SmxQAIM6p4hOxgaYEqGMRpnHcImrDOAMzoXe5VuTKeSPwTmd9FAoKsDOcbGwJsRslfufhCPDSOeWxn4MGty5kg1UIKiP9KtE0xsFPeMLKY0a93YsRVF6su0Tt99uEIYYhogYODAIeFhKqEoyScLyLpjtsnsKTisrwea2HklEPbCjoHgxYi/aPGvA4ZvW8U1dmnMPBgKzwPWT0KUDrRhLPZrT5vB4pMbfon/pNjubIqSAql2YwbQQ66PYVPKvacgMpbKeSS7HSboMBqsLqOFLRlY6bT9QfjaHB7bGfcHQrij1HeGzjphnmbYO359jhvWcLnotM4nsaKU84N3l6nyqRVAQ2K1lrzE659W4Y8ff/hhirkxkgauyvgHNf5Azu8xxk+geLrsjEjx7wK9Z5DodQgqFhp5dO0L4xmvV4M0Y0SFL0OEAVJhhZCKKOnUEM+8TXV/ijaeWGRfwFcNXeQQ4Y7jPytH+ZKzujr6KtApadQaVPlBtAUtg9thT+0kGoo/CvMwOHLTWLuQAvZKzCXc2eFg388gR0yblNUY5JXJ0oFq8N6Et7LKFG367qbWxTUnt3vgemDfAeCT3iMX9+ixihTYoJQGQduFd2K61cIwIDy42PwyyfBAlB69X7pGJWNsTubeIzIBLt1b4a6OQB8ptWFIGIquvVlHu0wqhWx6QJPCQW+8z2h0mDaBT+D9Wddq+oAV60yhIgprTSh7klj8n15U6kkIEZluuJjvLpLZU1QoduLnoIodg37XTJlN/Y0gfKIMzYFZ03d5Wt7iluXVifzY6pDCEoLJ9wOz5Hy6CR/+zuPZFZd4t60NpSxXp6rd3nWq2NfD+YRwSdCNRPK6Lu8LkjZpvlgn+wl0xjLLDD1ixtN0kEMsMAhr8NFsCh6wXAOvrUOc0oEDDrlq9fZH0o8qXnYcv+cXGJweDpW6T2+Lt5q9nFKfv5/JnuxsfcdFm4RMa+wwv/5WLaaPCuv93AxVUQE4R4hKhMQ0H+TkXrcoWciBXUUSWJatVI4SzzvRkzb5PRI+wBz2lOju72rUh1j7mdyWptDkPB/q48dgfBzSCRDyLK/iwy+4+Ndx/I5XmXXV5dlkcnObFaHFJvI5aKgJzGYQ6qpcZ4zooB37BkE9QnAQ5rfxPDVE0hJ2oN6rBryoUXU3OiuuHV/IygkyxwkqeK+YUcsBo5CdWKXw1IC1oZd3U4uKEx93sE1J80d0cKwYmHeqt4jBHVC3p84ObsRrrlbAlJtJcKYXRdj/HwATFUYLcKM1oAAAAABJRU5ErkJggg\x3d\x3d";
e.onload=function(){a._noiseTexture=new f(a._rctx,{target:3553,pixelFormat:6408,dataType:5121,hasMipmap:!0,width:C,height:C},e);a._requestRender()}}else w.warn("SSAO is not supported for this browser or hardware")};d.prototype.getQuadVAO=function(){if(!this._quadVAO){var b=new Float32Array([-1,-1,1,-1,-1,1,1,1]);this._quadVAO=new a(this._rctx,q.Default3D,{geometry:u.Pos2},{geometry:s.createVertex(this._rctx,35044,b)})}return this._quadVAO};d.prototype.disable=function(){this.getEnableState()&&(this._enabled=
!1,this._quadVAO&&this._quadVAO.dispose(!0),this._noiseTexture&&this._noiseTexture.dispose(),this._blur1FBO.dispose(),this._blur0FBO.dispose(),this._ssaoFBO.dispose(),this._ssaoFBO=this._blur0FBO=this._blur1FBO=this._noiseTexture=this._quadVAO=null)};d.prototype.setAttenuation=function(a){this._attenuation=a};d.prototype.getAttenuation=function(){return this._attenuation};d.prototype.setRadius=function(a){this._radius=a};d.prototype.getRadius=function(){return this._radius};d.prototype.getFilterRadius=
function(){return 4};d.prototype.setSamples=function(a){this._samples=a};d.prototype.getSamples=function(){return this._samples};d.prototype.computeSSAO=function(a,b,c,d){if(this._noiseTexture){h.assert(this.getEnableState());var e=this._rctx,f=c.width,k=c.height,l=f/this._BLUR_F,q=k/this._BLUR_F;this._ssaoFBO.resize(f,k);this._blur0FBO.resize(l,q);this._blur1FBO.resize(l,q);l=1*f;q=1*k;e.bindFramebuffer(this._ssaoFBO);m.set(a.fullViewport,this._viewportToRestore);e.setViewport(0,0,f,k);var w=this._programRep.get(8>=
this._samples?"ssao8":16>=this._samples?"ssao16":32>=this._samples?"ssao32":"ssao64"),u=this._programRep.get("blur"),n=a.projectionMatrix;x[0]=-2/(l*n[0]);x[1]=-2/(q*n[5]);x[2]=(1-n[2])/n[0];x[3]=(1+n[6])/n[5];n=0===n[11];w.setUniform2f("rnmScale",f/C,k/C);w.setUniform3fv("pSphere",8>=this._samples?g:16>=this._samples?p:32>=this._samples?z:y);e.bindProgram(w);w.setUniform1f("numSpiralTurns",this._samples<A.length?A[this._samples]:5779);w.setUniform4fv("projInfo",new Float32Array(x));f=1/a.computePixelSizeAtDist(1);
w.setUniform1f("projScale",1*f);w.setUniform2f("screenDimensions",l,q);n?(w.setUniform2f("nearFar",a.near,a.far),w.setUniform2f("zScale",0,-1)):(w.setUniform2f("nearFar",a.near,a.far),w.setUniform2f("zScale",1,0));var s=2*this._radius,k=r.dist(a.eye,a.center),s=20*a.computePixelSizeAtDist(k),s=Math.max(0.1,s);w.setUniform1f("radius",s);w.setUniform1f("intensity",4*this._attenuation/Math.pow(s,6));w.setUniform1i("rnm",0);w.setUniform1i("normalMap",1);w.setUniform1i("depthMap",2);e.bindTexture(this._noiseTexture,
0);e.bindTexture(d.colorTexture,1);e.bindTexture(c.colorTexture,2);c=this.getQuadVAO();e.bindVAO(c);e.drawArrays(5,0,t.vertexCount(c,"geometry"));e.bindTexture(this._ssaoFBO.colorTexture,0);e.setViewport(0,0,l/this._BLUR_F,q/this._BLUR_F);e.bindFramebuffer(this._blur0FBO);u.setUniform2f("screenDimensions",l,q);u.setUniform1i("tex",0);u.setUniform1i("normalMap",1);u.setUniform1i("depthMap",2);u.setUniform2f("blurSize",0,1*this._BLUR_F/q);u.setUniform1i("radius",4);u.setUniform1f("g_BlurFalloff",0.08);
u.setUniform2f("nearFar",a.near,a.far);5E4<k&&(f=Math.max(0,f-(k-5E4)));u.setUniform1f("projScale",f);n?u.setUniform2f("zScale",0,-1):u.setUniform2f("zScale",1,0);e.drawArrays(5,0,t.vertexCount(c,"geometry"));u.setUniform2f("blurSize",1*this._BLUR_F/l,0);e.bindFramebuffer(this._blur1FBO);e.bindTexture(this._blur0FBO.colorTexture,0);e.drawArrays(5,0,t.vertexCount(c,"geometry"));e.bindFramebuffer(b);e.setViewport(this._viewportToRestore[0],this._viewportToRestore[1],this._viewportToRestore[2],this._viewportToRestore[3])}};
d.prototype.setUniforms=function(a){var b=this.getEnableState()&&this._noiseTexture,c=this._rctx;c.bindTexture(b?this._blur1FBO.colorTexture:this._emptyTexture,6);c.setActiveTexture(0);a.setUniform1i("ssaoTex",6);b?a.setUniform4f("viewportPixelSz",this._viewportToRestore[0],this._viewportToRestore[1],1/this._ssaoFBO.width,1/this._ssaoFBO.height):a.setUniform4f("viewportPixelSz",-1,-1,-1,-1)};d.prototype.bindAll=function(a){a=a.getProgramsUsingUniform("viewportPixelSz");for(var b=0;b<a.length;b++)this.setUniforms(a[b])};
d.prototype.drawQuad=function(b){h.assert(this.getEnableState());var c=this._programRep.get("showDepth");this._debugQuadVAO||(this._debugQuadVAO=new a(this._rctx,q.Default3D,{geometry:u.Pos2Tex},{geometry:s.createVertex(this._rctx,35044,B)}));var d=this._rctx;d.setDepthTestEnabled(!1);c.setUniformMatrix4fv("proj",new Float32Array(b));c.setUniform1i("depthTex",0);d.bindTexture(this._ssaoFBO.colorTexture,0);d.bindVAO(this._debugQuadVAO);d.drawArrays(5,0,t.vertexCount(this._debugQuadVAO,"geometry"));
d.setDepthTestEnabled(!0)};d.loadShaders=function(a,c,d,e){h.assert(null==a.samples);a.samples="samplesUNDEF";a._parse(b);c=new l(e,a.vertexShaderShowDepth,a.fragmentShaderShowDepth,q.Default3D);var g=a.createFsSSAOSrcObscurance,f=new l(e,a.vsUVQuad,g.replace("samplesUNDEF","8"),q.Default3D),m=new l(e,a.vsUVQuad,g.replace("samplesUNDEF","16"),q.Default3D),p=new l(e,a.vsUVQuad,g.replace("samplesUNDEF","32"),q.Default3D),g=new l(e,a.vsUVQuad,g.replace("samplesUNDEF","64"),q.Default3D);e=new l(e,a.vsUVQuad,
a.fsBlurEdgeAware,q.Default3D,["RADIUS "+(4).toString()]);d.add("showDepth",c);d.add("ssao8",f);d.add("ssao16",m);d.add("ssao32",p);d.add("ssao64",g);d.add("blur",e);delete a.samples};return d}();var x=m.create(),g=new Float32Array([0.186937,0,0,0.677503,0,0,-0.782832,0.128424,0.557187,0.248064,0.460317,-0.659755,0.062892,0.918659,0.312829,-0.241031,-0.814826,0.224206,-0.642866,0.132138,-0.45016,0.145727,-0.590568,-0.626141,0.005017,-0.002234,0.012668]),p=new Float32Array([0.186937,0,0,0.700542,0,
0,-0.864858,-0.481795,-0.111713,-0.624773,0.102853,-0.730153,-0.387172,0.260319,0.007229,-0.222367,-0.642631,-0.707697,-0.01336,-0.014956,0.169662,0.122575,0.1544,-0.456944,-0.177141,0.85997,-0.42346,-0.131631,0.814545,0.524355,-0.779469,0.007991,0.624833,0.308092,0.209288,0.35969,0.359331,-0.184533,-0.377458,0.192633,-0.482999,-0.065284,0.233538,0.293706,-0.055139,0.417709,-0.386701,0.442449,-0.301656,-0.836426,0.408344]),z=new Float32Array([0.837372,0,0,0.723531,-0.467287,0.034157,0.169582,-0.31169,
-0.881801,0.696236,0.455215,-0.204568,-0.304514,0.528086,0.626381,-0.053116,0.222507,0.037523,0.199755,0.311291,0.916799,-0.681552,-0.516264,0.501792,-0.37127,0.021088,0.737477,-0.029503,0.209188,-0.95298,-0.573731,0.009962,-0.154202,-0.257345,-0.905958,0.282747,0.370779,0.527867,-0.669424,-0.601758,-0.191278,-0.708243,0.271796,0.782684,0.535565,-0.006867,-0.015312,-0.017276,0.419958,0.265628,0.233036,-0.543898,0.554747,-0.174055,-0.079242,0.053475,-0.099539,0.372042,-0.339267,-0.357362,0.015781,
-0.011352,0.042707,-0.340564,-0.272507,-0.067725,0.799249,-0.127948,0.586808,0.450015,0.01965,-0.416454,-0.506524,0.323229,0.206546,-0.087316,-0.311097,0.466049,0.146374,-0.34528,-0.045904,-0.152614,-0.926686,-0.287529,-0.665726,-0.032904,0.246643,0.248703,0.637193,-0.062541,-0.073706,0.495925,-0.315143,0.05946,-0.116042,0.075586]),y=new Float32Array([0.186937,0,0,0.605726,-0.313457,-0.097616,0.003541,0.781245,0.283011,-0.225029,-0.373279,0.274442,-0.047511,0.04992,-0.226365,0.627629,-0.623617,-0.463628,
0.133094,-0.318299,0.528128,0.262035,0.100234,-0.09012,0.178335,-0.426972,-0.666048,-0.27306,-0.207352,0.05514,-0.613649,-0.063395,0.060608,-0.283391,-0.41382,-0.087565,0.136768,0.506126,0.484137,-0.593808,-0.344603,0.453164,0.675326,0.124799,-0.697865,-0.33502,0.411337,-0.09337,-0.15271,0.002908,-0.063582,0.366733,-0.699739,0.401148,-0.519536,-0.585625,-0.508413,0.106482,-0.428709,-0.260221,0.012847,-0.118806,0.016962,-0.188182,0.49945,0.452364,0.586617,0.722539,-0.23302,0.111295,0.202827,0.066695,
-0.036503,0.315842,0.896467,-0.039109,-0.270116,-0.080062,0.613435,0.508787,0.538656,-0.352275,0.566869,-0.666275,0.887876,-0.138341,-0.434135,-0.444711,0.269156,0.119506,-0.029457,-0.077316,0.754474,0.274125,-0.13876,-0.37082,-0.73268,0.332723,0.568545,-0.203992,0.878922,-0.430778,0.541154,-0.546752,0.11786,-3.93E-4,-0.083318,0.059333,-0.341406,-0.117017,-0.318568,-0.262425,-0.457913,0.848753,0.89229,-0.30157,0.322416,0.742328,0.032262,0.643827,0.048091,-0.078044,-0.49908,0.064858,0.549944,-0.796252,
-0.230688,0.88978,-0.010153,0.397241,-0.27645,0.405666,-0.46593,0.131187,-0.600166,0.333834,-0.078219,0.73837,-0.870169,-0.411658,-0.222175,-0.492421,0.741454,0.293757,-0.591244,0.389112,-0.388324,0.792346,0.578552,0.088459,-0.121858,-0.437241,-0.472535,-0.374835,0.302427,0.721264,0.057485,0.204085,-0.126575,0.510325,0.481492,-0.579888,-0.29411,-0.82136,0.156404,-0.819717,-0.042466,0.456573,0.079884,0.07019,0.179002,0.220279,0.970222,-0.088025,-0.299911,-0.234627,-0.820794,0.912112,0.243306,0.317869,
0.241336,0.161841,-0.721568,0.301135,-0.635993,-0.0939,-0.514731,-0.089673,0.850964,-0.905087,0.314604,-0.098397]),C=64,A=[1,1,1,2,3,2,5,2,3,2,3,3,5,5,3,4,7,5,5,7,9,8,5,5,7,7,7,8,5,8,11,12,7,10,13,8,11,8,7,14,11,11,13,12,13,19,17,13,11,18,19,11,11,14,17,21,15,16,17,18,13,17,11,17,19,18,25,18,19,19,29,21,19,27,31,29,21,18,17,29,31,31,23,18,25,26,25,23,19,34,19,27,21,25,39,29,17,21,27,29],B=new Float32Array([0,0,0,0,512,0,1,0,0,512,0,1,512,512,1,1]);return e})},"esri/views/3d/webgl-engine/lib/ShadowMap":function(){define("./Camera ./Util ./gl-matrix ../../../../core/Logger ../../../webgl/Texture ../../../webgl/FramebufferObject ../../../webgl/VertexArrayObject ../../../webgl/BufferObject ./DefaultVertexAttributeLocations ./DefaultVertexBufferLayouts ../../../webgl/Util".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s){var t=n.vec2d,v=n.vec3d,u=n.vec4d,q=n.mat3d,r=n.mat4d,m=n.mat4,w=h.getLogger("esri.views.3d.webgl-engine");return function(h,g){function p(a,b){v.set3(a[b],a[b+3],a[b+6],Ea);return Ea}var n=g.gl,y,C=4096,A,B=new d(g,{target:n.TEXTURE_2D,pixelFormat:n.RGBA,dataType:n.UNSIGNED_BYTE,samplingMode:n.NEAREST,width:4,height:4}),K=1,F=2,G=[0,0,0,0,0];this.dispose=function(){B.dispose();B=null};var P=function(){this.camera=new e;this.lightMat=r.create()},Q=[],H,D,L;for(H=0;4>
H;++H)Q[H]=new P;this.getIsSupported=function(){return g.extensions.standardDerivatives};this.setTextureResolution=function(a){C=a};this.getTextureResolution=function(){return C};this.setMaxNumCascades=function(a){F=k.clamp(Math.floor(a),1,4)};this.getMaxNumCascades=function(){return F};this.setEnableState=function(a){a?this.enable():this.disable()};this.getEnableState=function(){return void 0!==y};this.enable=function(){this.getEnableState()||(this.getIsSupported()?(y=new d(g,{target:n.TEXTURE_2D,
pixelFormat:n.RGBA,dataType:n.UNSIGNED_BYTE,wrapMode:n.CLAMP_TO_EDGE,samplingMode:n.NEAREST,flipped:!0,width:C,height:C}),A=b.createWithAttachments(g,y,{colorTarget:0,depthStencilTarget:1,width:C,height:C})):w.warn("Shadow maps are not supported for this browser or hardware"))};this.disable=function(){this.getEnableState()&&A&&(A.dispose(),y=A=void 0)};var E=r.create(),I=r.create(),R=u.create(),V=Array(8);for(H=0;8>H;++H)V[H]=u.create();var N=v.create(),M=v.create(),T=t.create(),U=t.create(),W=t.create(),
X=t.create(),O=t.create(),S=r.create(),ea=v.create();this.prepare=function(a,b,c,d,e){k.assert(this.getEnableState());r.multiply(a.projectionMatrix,a.viewMatrix,E);var f=e[0],m=e[1];2>f&&(f=2);2>m&&(m=2);f>=m&&(f=2,m=4);K=Math.min(1+Math.floor(k.logWithBase(m/f,4)),F);c=Math.pow(m/f,1/K);for(e=0;e<K+1;++e)G[e]=f*Math.pow(c,e);r.inverse(E,I);r.lookAt([0,0,0],[-b[0],-b[1],-b[2]],[0,1,0],S);c=a.viewMatrix;a=a.projectionMatrix;for(e=0;e<K;++e){d=Q[e];f=-G[e];m=-G[e+1];f=(a[10]*f+a[14])/Math.abs(a[11]*
f+a[15]);m=(a[10]*m+a[14])/Math.abs(a[11]*m+a[15]);k.assert(f<m);for(D=0;8>D;++D){u.set4(0===D%4||3==D%4?-1:1,0===D%4||1==D%4?-1:1,4>D?f:m,1,R);r.multiplyVec4(I,R,V[D]);for(L=0;3>L;++L)V[D][L]/=V[D][3]}v.negate(V[0],ea);r.translate(S,ea,d.camera.viewMatrix);for(D=0;8>D;++D)r.multiplyVec3(d.camera.viewMatrix,V[D]);v.set(V[0],N);v.set(V[0],M);for(D=1;8>D;++D)for(L=0;3>L;++L)N[L]=Math.min(N[L],V[D][L]),M[L]=Math.max(M[L],V[D][L]);N[2]-=200;M[2]+=200;d.camera.near=-M[2];d.camera.far=-N[2];f=1/V[0][3];
m=1/V[4][3];k.assert(f<m);var h=f+Math.sqrt(f*m),l=Math.sin(Math.acos(c[2]*b[0]+c[6]*b[1]+c[10]*b[2])),h=h/l,f=V,q=h,x=l,l=T,w=U,s=W,y=X,h=O;t.set2(0,0,ka);for(var B=void 0,B=0;4>B;++B)t.add(ka,f[B],ka);t.scale(ka,0.25);t.set2(0,0,ra);for(B=4;8>B;++B)t.add(ra,f[B],ra);t.scale(ra,0.25);t.lerp(f[4],f[5],0.5,sa[0]);t.lerp(f[5],f[6],0.5,sa[1]);t.lerp(f[6],f[7],0.5,sa[2]);t.lerp(f[7],f[4],0.5,sa[3]);for(var P=0,H=t.dist2(sa[0],ka),B=1;4>B;++B){var Y=t.dist2(sa[B],ka);Y<H&&(H=Y,P=B)}t.subtract(sa[P],f[P+
4],pa);B=pa[0];pa[0]=-pa[1];pa[1]=B;t.subtract(ra,ka,ya);t.lerp(pa,ya,x);t.normalize(pa);P=x=void 0;x=P=t.dot(t.subtract(f[0],ka,wa),pa);for(B=1;8>B;++B)H=t.dot(t.subtract(f[B],ka,wa),pa),H<x?x=H:H>P&&(P=H);t.set(ka,l);t.scale(pa,x-q,wa);t.add(l,wa,l);for(var Y=-1,ca=1,B=q=H=0;8>B;++B){t.subtract(f[B],l,ua);t.normalize(ua);var ba=pa[0]*ua[1]-pa[1]*ua[0];0<ba?ba>Y&&(Y=ba,H=B):ba<ca&&(ca=ba,q=B)}k.verify(0<Y,"leftArea");k.verify(0>ca,"rightArea");t.scale(pa,x,ta);t.add(ta,ka,ta);t.scale(pa,P,ja);t.add(ja,
ka,ja);za[0]=-pa[1];za[1]=pa[0];w=k.rayRay2D(l,f[q],ja,t.add(ja,za,wa),1,w);s=k.rayRay2D(l,f[H],ja,wa,1,s);y=k.rayRay2D(l,f[H],ta,t.add(ta,za,wa),1,y);f=k.rayRay2D(l,f[q],ta,wa,1,h);k.verify(w,"rayRay");k.verify(s,"rayRay");k.verify(y,"rayRay");k.verify(f,"rayRay");s=T;f=U;l=X;y=O;h=d.camera.projectionMatrix;t.scale(t.subtract(l,y,Aa),0.5);aa[0]=Aa[0];aa[1]=Aa[1];aa[2]=0;aa[3]=Aa[1];aa[4]=-Aa[0];aa[5]=0;aa[6]=Aa[0]*Aa[0]+Aa[1]*Aa[1];aa[7]=Aa[0]*Aa[1]-Aa[1]*Aa[0];aa[8]=1;aa[6]=-t.dot(p(aa,0),s);aa[7]=
-t.dot(p(aa,1),s);s=t.dot(p(aa,0),l)+aa[6];w=t.dot(p(aa,1),l)+aa[7];B=t.dot(p(aa,0),y)+aa[6];y=t.dot(p(aa,1),y)+aa[7];s=-(s+B)/(w+y);aa[0]+=aa[1]*s;aa[3]+=aa[4]*s;aa[6]+=aa[7]*s;s=1/(t.dot(p(aa,0),l)+aa[6]);w=1/(t.dot(p(aa,1),l)+aa[7]);aa[0]*=s;aa[3]*=s;aa[6]*=s;aa[1]*=w;aa[4]*=w;aa[7]*=w;aa[2]=aa[1];aa[5]=aa[4];aa[8]=aa[7];aa[7]+=1;s=t.dot(p(aa,1),f)+aa[7];w=t.dot(p(aa,2),f)+aa[8];B=t.dot(p(aa,1),l)+aa[7];y=t.dot(p(aa,2),l)+aa[8];s=-0.5*(s/w+B/y);aa[1]+=aa[2]*s;aa[4]+=aa[5]*s;aa[7]+=aa[8]*s;s=t.dot(p(aa,
1),f)+aa[7];w=t.dot(p(aa,2),f)+aa[8];B=-w/s;aa[1]*=B;aa[4]*=B;aa[7]*=B;h[0]=aa[0];h[1]=aa[1];h[2]=0;h[3]=aa[2];h[4]=aa[3];h[5]=aa[4];h[6]=0;h[7]=aa[5];h[8]=0;h[9]=0;h[10]=1;h[11]=0;h[12]=aa[6];h[13]=aa[7];h[14]=0;h[15]=aa[8];d.camera.projectionMatrix[10]=2/(N[2]-M[2]);d.camera.projectionMatrix[14]=-(N[2]+M[2])/(N[2]-M[2]);r.multiply(d.camera.projectionMatrix,d.camera.viewMatrix,d.lightMat);f=C/2;d.camera.viewport[0]=0===e%2?0:f;d.camera.viewport[1]=0===Math.floor(e/2)?0:f;d.camera.viewport[2]=f;d.camera.viewport[3]=
f}G[K]=100*m;g.bindFramebuffer(A);g.bindTexture(null,7);g.setClearColor(1,1,1,1);g.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT);g.setBlendingEnabled(!1)};var Y=[];this.getCascades=function(){for(var a=0;a<K;++a)Y[a]=Q[a];Y.length=K;return Y};this.finish=function(a){k.assert(this.getEnableState());g.bindFramebuffer(a)};this.bind=function(a){var b=this.getEnableState();g.bindTexture(b?y:B,7);g.bindProgram(a);a.setUniform1i("depthTex",7);a.setUniform1f("depthHalfPixelSz",b?0.5/C:-1);a.setUniform1i("shadowMapNum",
K);a.setUniform4f("shadowMapDistance",G[0],G[1],G[2],G[3])};this.bindAll=function(a){a=a.getProgramsUsingUniform("shadowMapDistance");for(var b=0;b<a.length;b++)this.bind(a[b])};var ca=m.create(),ba=new Float32Array(64);this.bindView=function(a,b){if(this.getEnableState()){var c;m.translate(Q[0].lightMat,b,ca);for(c=0;16>c;++c)ba[c]=ca[c];m.translate(Q[1].lightMat,b,ca);for(c=0;16>c;++c)ba[16+c]=ca[c];m.translate(Q[2].lightMat,b,ca);for(c=0;16>c;++c)ba[32+c]=ca[c];m.translate(Q[3].lightMat,b,ca);
for(c=0;16>c;++c)ba[48+c]=ca[c];a.setUniformMatrix4fv("shadowMapMatrix",ba)}};P=new Float32Array(16);P[0]=0;P[1]=0;P[2]=0;P[3]=0;P[4]=256;P[5]=0;P[6]=1;P[7]=0;P[8]=0;P[9]=256;P[10]=0;P[11]=1;P[12]=256;P[13]=256;P[14]=1;P[15]=1;var qa=new l(g,c.Default3D,{geometry:a.Pos2Tex},{geometry:f.createVertex(g,n.STATIC_DRAW,P)});this.drawDebugQuad=function(a){k.assert(this.getEnableState());var b=h.get("showDepth");g.setDepthTestEnabled(!1);g.bindProgram(b);b.setUniformMatrix4fv("proj",a);b.setUniform1i("depthTex",
0);g.bindTexture(y,0);g.bindVAO(qa);s.assertCompatibleVertexAttributeLocations(qa,b);g.drawArrays(n.TRIANGLE_STRIP,0,s.vertexCount(qa,"geometry"));g.setDepthTestEnabled(!0)};var ka=t.create(),ra=t.create(),sa=[t.create(),t.create(),t.create(),t.create()],pa=t.create(),ya=t.create(),wa=t.create(),ua=t.create(),ta=t.create(),ja=t.create(),za=t.create(),Ea=v.create(),Aa=t.create(),aa=q.create()}})},"esri/views/3d/webgl-engine/lib/NearFarCalc":function(){define(["require","exports","./Util","./gl-matrix"],
function(e,k,n,h){e=h.vec3d;var d=h.vec4d,b=h.mat4d;h=function(){function a(){this._context={content:[],near:[],far:[],nearSpecial:[],farSpecial:[],bestNear:0,bestFar:0,bestNear2:0,bestFar2:0};this._boundingInfoHelper=new l}a.prototype._resetContext=function(){var a=this._context;a.content.length=0;a.near.length=0;a.far.length=0;a.nearSpecial.length=0;a.farSpecial.length=0;a.bestNear=Number.MAX_VALUE;a.bestFar=-Number.MAX_VALUE;return this._context};a.prototype.calculateSceneNearFar=function(a,b,
c){var d=this._resetContext(),e=a.viewMatrix,f=e[2],h=e[6],g=e[10],p=e[14],k=0,l;for(l in b)if(e=b[l],!(null!=e.displayedIndexRange&&0===e.displayedIndexRange.length)&&e.castShadow&&c.get(e.idx)){var n=e.bsRadius,s=e.center,t=f*s[0]+h*s[1]+g*s[2]+p,s=t-n,n=t+n;d.content[k]=e;d.near[k]=-n;d.far[k]=-s;++k}if(0===k)return[d.bestNear,d.bestFar];for(b=0;b<k;++b)d.near[b]>d.bestFar&&(d.bestFar=d.near[b]),2<d.near[b]&&d.far[b]<d.bestNear&&(d.bestNear=d.far[b]);d.bestNear2=Math.max(0.5*d.bestNear,2);d.bestFar2=
2*d.bestFar;for(b=f=c=0;b<k;++b)d.near[b]<d.bestNear&&(d.near[b]>=d.bestNear2?d.bestNear=d.near[b]:d.nearSpecial[c++]=b),d.far[b]>d.bestFar&&(d.far[b]<=d.bestFar2?d.bestFar=d.far[b]:d.farSpecial[f++]=b);if(0===c&&0===f)return[d.bestNear,d.bestFar];d.nearSpecial.length=c;d.farSpecial.length=f;d.nearSpecial.sort(function(a,b){return d.near[a]<d.near[b]?-1:d.near[a]>d.near[b]?1:0});d.farSpecial.sort(function(a,b){return d.far[a]<d.far[b]?1:d.far[a]>d.far[b]?-1:0});this._boundingInfoHelper.init(a,d);
for(b=0;b<c;++b)d.near[d.nearSpecial[b]]<d.bestNear&&(e=d.content[d.nearSpecial[b]],a=e.boundingInfo,this._boundingInfoHelper.includeNearBoundingInfoRec(a,e.transformation));for(b=0;b<f;++b)d.far[d.farSpecial[b]]>d.bestFar&&(e=d.content[d.farSpecial[b]],a=e.boundingInfo,this._boundingInfoHelper.includeFarBoundingInfoRec(a,e.transformation));return[d.bestNear,d.bestFar]};return a}();var l=function(){function c(){this._clippingHelper=new f;this._planes=[d.create(),d.create(),d.create(),d.create(),d.create(),
d.create()];this._viewProj=b.create();this._view=b.create()}c.prototype.init=function(a,c){this._context=c;b.set(a.viewMatrix,this._view);b.multiply(a.projectionMatrix,this._view,this._viewProj);a.copyFrustumPlanes(this._planes);this._clippingHelper.init(c)};c.prototype.includeNearBoundingInfoRec=function(c,d){var e=c.getBSRadius(),f=c.getCenter();b.multiplyVec3(d,f,a);var f=d[2]*d[2]+d[6]*d[6]+d[10]*d[10],f=Math.sqrt(Math.max(Math.max(d[0]*d[0]+d[4]*d[4]+d[8]*d[8],d[1]*d[1]+d[5]*d[5]+d[9]*d[9]),
f)),m=a[0],h=a[1],k=a[2],e=e*f;if(!(this._planes[0][0]*m+this._planes[0][1]*h+this._planes[0][2]*k+this._planes[0][3]>e)&&(!(this._planes[1][0]*m+this._planes[1][1]*h+this._planes[1][2]*k+this._planes[1][3]>e)&&!(this._planes[2][0]*m+this._planes[2][1]*h+this._planes[2][2]*k+this._planes[2][3]>e)&&!(this._planes[3][0]*m+this._planes[3][1]*h+this._planes[3][2]*k+this._planes[3][3]>e))&&(f=this._view[2]*m+this._view[6]*h+this._view[10]*k+this._view[14],m=f+e,!(2>-(f-e))&&!(-m>=this._context.bestNear)))if(-m>
this._context.bestNear2)this._context.bestNear=-m;else{if(100<e&&(e=c.getChildren(),void 0!==e)){for(f=0;8>f;++f)void 0!==e[f]&&this.includeNearBoundingInfoRec(e[f],d);return}this._clippingHelper.intersectFrustumAABB(this._viewProj,d,c.getBBMin(),c.getBBMax())}};c.prototype.includeFarBoundingInfoRec=function(c,d){var e=c.getBSRadius(),f=c.getCenter();b.multiplyVec3(d,f,a);var f=d[2]*d[2]+d[6]*d[6]+d[10]*d[10],f=Math.sqrt(Math.max(Math.max(d[0]*d[0]+d[4]*d[4]+d[8]*d[8],d[1]*d[1]+d[5]*d[5]+d[9]*d[9]),
f)),m=a[0],h=a[1],k=a[2],e=e*f;if(!(this._planes[0][0]*m+this._planes[0][1]*h+this._planes[0][2]*k+this._planes[0][3]>e)&&(!(this._planes[1][0]*m+this._planes[1][1]*h+this._planes[1][2]*k+this._planes[1][3]>e)&&!(this._planes[2][0]*m+this._planes[2][1]*h+this._planes[2][2]*k+this._planes[2][3]>e)&&!(this._planes[3][0]*m+this._planes[3][1]*h+this._planes[3][2]*k+this._planes[3][3]>e))&&(f=this._view[2]*m+this._view[6]*h+this._view[10]*k+this._view[14]-e,!(-f<=this._context.bestFar)))if(-f<this._context.bestFar2)this._context.bestFar=
-f;else{if(100<e&&(e=c.getChildren(),void 0!==e)){for(f=0;8>f;++f)void 0!==e[f]&&this.includeFarBoundingInfoRec(e[f],d);return}this._clippingHelper.intersectFrustumAABB(this._viewProj,d,c.getBBMin(),c.getBBMax())}};return c}(),f=function(){function a(){this._clipP=Array(8);for(var b=0;8>b;++b)this._clipP[b]=d.create()}a.prototype.init=function(a){this._context=a};a.prototype.intersectFrustumAABB=function(a,d,e,f){b.multiply(a,d,s);for(a=0;8>a;++a){d=this._clipP[a];var m=0===a||3===a||4===a||7===a?
e[0]:f[0],h=0===a||1===a||4===a||5===a?e[1]:f[1],k=4>a?e[2]:f[2];d[0]=s[0]*m+s[4]*h+s[8]*k+s[12];d[1]=s[1]*m+s[5]*h+s[9]*k+s[13];d[2]=s[2]*m+s[6]*h+s[10]*k+s[14];d[3]=s[3]*m+s[7]*h+s[11]*k+s[15]}for(a=0;12>a;++a){e=this._clipTriangle(this._clipP[c[a][0]],this._clipP[c[a][1]],this._clipP[c[a][2]]);f=!0;for(d=0;d<e.length;++d)if(m=e[d][3],2<=m){f=!1;break}if(!f)for(d=0;d<e.length;++d)m=e[d][3],m<this._context.bestNear&&(this._context.bestNear=m),m>this._context.bestFar&&(this._context.bestFar=m)}};
a.prototype._inside=function(a,b){if(0===b)return a[0]>=-a[3];if(1===b)return a[1]>=-a[3];if(2===b)return a[0]<=a[3];if(3===b)return a[1]<=a[3];n.assert(!1)};a.prototype._intersect=function(a,b,c){var e=0;0===c?e=(-a[3]-a[0])/(b[0]-a[0]+b[3]-a[3]):1===c?e=(-a[3]-a[1])/(b[1]-a[1]+b[3]-a[3]):2===c?e=(a[3]-a[0])/(b[0]-a[0]-b[3]+a[3]):3===c&&(e=(a[3]-a[1])/(b[1]-a[1]-b[3]+a[3]));return d.lerp(a,b,e,d.create())};a.prototype._clipTriangle=function(a,b,c){a=[a,b,c];for(b=0;4>b;++b){c=a;a=[];for(var d=0;d<
c.length;++d){var e=c[d],f=c[(d+1)%c.length];this._inside(f,b)?(this._inside(e,b)||a.push(this._intersect(e,f,b)),a.push(f)):this._inside(e,b)&&a.push(this._intersect(e,f,b))}}return a};return a}(),c=[[0,1,3],[2,3,1],[1,5,2],[6,2,5],[5,4,6],[7,6,4],[4,0,7],[3,7,0],[3,2,7],[6,7,2],[4,5,0],[1,0,5]],a=e.create(),s=b.create();return h})},"esri/views/3d/webgl-engine/lib/HighlightHelper":function(){define("require exports ./Util ./gl-matrix dojo/text!../materials/internal/highlight.xml ../../../webgl/FramebufferObject ../../../webgl/Program ../../../webgl/VertexArrayObject ../../../webgl/BufferObject ../../../webgl/Util ../../../webgl/enums ./DefaultVertexBufferLayouts ./DefaultVertexAttributeLocations".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t,v){var u=h.vec4d;return function(){function e(a,b,c){this.blur1Fbo=this.blur0Fbo=this.quadVAO=null;this._rctx=c;this.viewportToRestore=u.create();this.programRep=a;this.color=u.create();this.exponent=0.3;this.fill=0.1;u.set4(1,0,0.5,1,this.color)}e.prototype.createQuadVAO=function(){var a=this._rctx,b=new Float32Array([-1,-1,1,-1,-1,1,1,1]);return new f(a,v.Default3D,{geometry:t.Pos2},{geometry:c.createVertex(a,35044,b)})};e.prototype.getIsSupported=function(){return!0};
e.prototype.setEnableState=function(a){a?this.enable():this.disable()};e.prototype.getEnableState=function(){return null!==this.blur0Fbo};e.prototype.enable=function(){this.quadVAO=this.createQuadVAO();var a={colorTarget:0,depthStencilTarget:0,width:0,height:0};this.blur0Fbo=b.create(this._rctx,a);this.blur1Fbo=b.create(this._rctx,a)};e.prototype.disable=function(){this.getEnableState()&&(this.quadVAO.dispose(!0),this.blur1Fbo.dispose(),this.blur0Fbo.dispose(),this.blur1Fbo=this.blur0Fbo=this.quadVAO=
null)};e.prototype.getHighlightFBO=function(){return this.blur0Fbo};e.prototype.render=function(b,c,d){this.updateDebugData();var e=this._rctx;n.assert(this.getEnableState());u.set(b.fullViewport,this.viewportToRestore);var g=d.height;b=Math.ceil(d.width/2);g=Math.ceil(g/2);this.blur0Fbo.resize(b,g);this.blur1Fbo.resize(b,g);var f=this.programRep.get("highlight-blur"),h=this.programRep.get("highlight-apply");e.bindVAO(this.quadVAO);e.setDepthWriteEnabled(!1);e.setDepthTestEnabled(!1);e.setBlendingEnabled(!1);
e.bindFramebuffer(this.blur0Fbo);e.bindTexture(d.colorTexture,0);e.bindProgram(f);f.setUniform1i("tex",0);f.setUniform2f("blurSize",1/b,0);e.setViewport(0,0,b,g);e.drawArrays(5,0,a.vertexCount(this.quadVAO,"geometry"));e.bindFramebuffer(this.blur1Fbo);this.blur0Fbo.colorTexture.setSamplingMode(9729);e.bindTexture(this.blur0Fbo.colorTexture,0);f.setUniform2f("blurSize",0,1/g);e.drawArrays(5,0,a.vertexCount(this.quadVAO,"geometry"));e.bindFramebuffer(c);e.setBlendingEnabled(!0);e.setBlendFunctionSeparate(770,
771,1,771);e.setViewport(this.viewportToRestore[0],this.viewportToRestore[1],this.viewportToRestore[2],this.viewportToRestore[3]);e.bindProgram(h);h.setUniform1i("tex",0);this.blur1Fbo.colorTexture.setSamplingMode(9729);e.bindTexture(this.blur1Fbo.colorTexture,0);h.setUniform1i("origin",1);h.setUniform4fv("color",this.color);h.setUniform1f("exponent",this.exponent);h.setUniform1f("fill",this.fill);e.bindTexture(d.colorTexture,1);e.drawArrays(5,0,a.vertexCount(this.quadVAO,"geometry"));e.bindVAO(null);
e.setDepthWriteEnabled(!0);e.setDepthTestEnabled(!0);e.setBlendingEnabled(!1)};e.prototype.updateDebugData=function(){window.webglEngineHighlightColor?u.set(window.webglEngineHighlightColor,this.color):window.webglEngineHighlightColor=[this.color[0],this.color[1],this.color[2],this.color[3]];void 0!==window.webglEngineHighlightExponent?this.exponent=window.webglEngineHighlightExponent:window.webglEngineHighlightExponent=this.exponent;void 0!==window.webglEngineHighlightFill?this.fill=window.webglEngineHighlightFill:
window.webglEngineHighlightFill=this.fill};e.loadShaders=function(a,b,c,e){a._parse(d);b=new l(e,a.vsHighlightBlurG9,a.fsHighlightBlurG9,v.Default3D);a=new l(e,a.vsHighlightApply,a.fsHighlightApply,v.Default3D);c.add("highlight-blur",b);c.add("highlight-apply",a)};return e}()})},"esri/views/3d/webgl-engine/lib/OffscreenRenderingHelper":function(){define("require exports ./Util dojo/text!../materials/internal/offscreen.xml ../../../webgl/FramebufferObject ../../../webgl/VertexArrayObject ../../../webgl/BufferObject ../../../webgl/Program ../../../webgl/Util ../../../webgl/enums ./DefaultVertexBufferLayouts ./DefaultVertexAttributeLocations".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s,t){return function(){function a(b,c){this._enabled=!1;this.height=this.width=0;this._programRep=b;this._rctx=c;this.height=this.width=null}a.prototype.enable=function(){if(!this.getEnableState()){var a=this._rctx;this._enabled=!0;this.framebuffer=d.createWithAttachments(a,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9729,wrapMode:33071,width:0,height:0},{colorTarget:0,depthStencilTarget:a.extensions.depthTexture?4:3});this.quadVAO=this.createQuadVAO(a)}};
a.prototype.disable=function(){this.getEnableState()&&(this._enabled=!1,this.framebuffer.dispose(),this.quadVAO.dispose(!0),this._depthStencilTextureCached=this.quadVAO=this.framebuffer=null)};a.prototype.createQuadVAO=function(a){var c=new Float32Array([-1,-1,-1,-1,1,-1,1,-1,-1,1,-1,1,1,1,1,1]);return new b(a,t.Default3D,{geometry:s.Pos2Tex},{geometry:l.createVertex(a,35044,c)})};a.prototype.setEnableState=function(a){a?this.enable():this.disable()};a.prototype.getEnableState=function(){return this._enabled};
a.prototype.getColorTexture=function(){return this.framebuffer.colorTexture};a.prototype.getDepthTexture=function(){return a.supportsDepthTexture(this._rctx.extensions)?this.framebuffer.depthStencilTexture||this._depthStencilTextureCached:null};a.supportsDepthTexture=function(a){return!!a.depthTexture};a.prototype.initializeFrame=function(a){n.assert(this.getEnableState());var b=this._rctx,c=b.gl;a=a.fullViewport;this.width=a[2];this.height=a[3];this.framebuffer.resize(this.width,this.height);b.bindFramebuffer(this.framebuffer);
b.setStencilWriteMask(255);b.setClearStencil(0);b.setClearColor(0,0,0,1);b.clear(c.COLOR_BUFFER_BIT|c.DEPTH_BUFFER_BIT|c.STENCIL_BUFFER_BIT)};a.prototype.bindFramebuffer=function(){this._rctx.bindFramebuffer(this.framebuffer)};a.prototype.getFramebuffer=function(){return this.framebuffer};a.prototype.detachDepthTextureFromBuffer=function(){this._depthStencilTextureCached=this.framebuffer.depthStencilTexture;this.framebuffer.detachDepthStencilTexture()};a.prototype.restoreDepthTextureToBuffer=function(){this.framebuffer.attachDepthStencilTexture(this._depthStencilTextureCached);
this._depthStencilTextureCached=null};a.prototype.drawQuad=function(a){n.assert(this.getEnableState());a=this._rctx;var b=a.gl,d=this._programRep.get("offscreenProgram");a.bindFramebuffer();a.setDepthTestEnabled(!1);a.clear(b.COLOR_BUFFER_BIT);a.bindProgram(d);d.setUniform1i("tex",1);a.bindTexture(this.framebuffer.colorTexture,1);a.bindVAO(this.quadVAO);a.drawArrays(5,0,c.vertexCount(this.quadVAO,"geometry"));a.setDepthTestEnabled(!0)};a.loadShaders=function(a,b,c,d){a._parse(h);a=new f(d,a.vsOffscreenRenderer,
a.fsOffscreenRenderer,t.Default3D);c.add("offscreenProgram",a)};return a}()})},"esri/views/3d/webgl-engine/materials/repository":function(){define("dojo/text!./internal/util.xml ./BillboardMaterial ./ColorMaterial ./HUDMaterial ./LeafCardMaterial ./Material ./RibbonLineMaterial ./WaterMaterial ./internal/SimpleGLMaterial ./internal/TexOnlyGLMaterial ./internal/BlendLayers".split(" "),function(e,k,n,h,d,b,l,f,c,a,s){return{initializeShaders:function(t,v,u,q){t._parse(e);c.loadShaders(t,v,u,q);a.loadShaders(t,
v,u,q);b.loadShaders(t,v,u,q);k.loadShaders(t,v,u,q);h.loadShaders(t,v,u,q);d.loadShaders(t,v,u,q);l.loadShaders(t,v,u,q);f.loadShaders(t,v,u,q);s.loadShaders(t,v,u,q);n.loadShaders(t,v,u,q)}}})},"esri/views/3d/webgl-engine/materials/BillboardMaterial":function(){define("dojo/text!./BillboardMaterial.xml ./internal/MaterialUtil ../lib/RenderSlot ../../../webgl/Program ../lib/DefaultVertexAttributeLocations ../lib/DefaultVertexBufferLayouts ../../../webgl/Util".split(" "),function(e,k,n,h,d,b,l){var f=
function(d,e){k.basicMaterialConstructor(this,e);var f=b.Pos3NormTex;this.getSize=function(){return 1.05};this.dispose=function(){};this.getTextureId=function(){return d};this.getOutputAmount=function(a){var b=l.getStride(f)/4;return 6*a*b};this.getVertexBufferLayout=function(){return f};this.fillInterleaved=function(a,b,c,d,e,g){d=k.fill;var f=a.faces.indices.va,h=a.vertexAttr.va.data,l=a.vertexAttr.tc4.data,n=a.vertexAttr.n0.data,s=a.vertexAttr.n1.data,u=a.vertexAttr.n2.data;a=a.vertexAttr.n3.data;
for(var t=0;t<f.length;++t){var v=4*f[t],G=3*f[t];g+=d(h,v,e,g,b,3);g+=d(n,G,e,g,c,3);e[g++]=l[v];e[g++]=l[v+1];g+=d(h,v,e,g,b,3);g+=d(s,G,e,g,c,3);e[g++]=l[v+2]+1;e[g++]=l[v+1];g+=d(h,v,e,g,b,3);g+=d(u,G,e,g,c,3);e[g++]=l[v+2]+1;e[g++]=l[v+3]+1;g+=d(h,v,e,g,b,3);g+=d(u,G,e,g,c,3);e[g++]=l[v+2]+1;e[g++]=l[v+3]+1;g+=d(h,v,e,g,b,3);g+=d(a,G,e,g,c,3);e[g++]=l[v];e[g++]=l[v+3]+1;g+=d(h,v,e,g,b,3);g+=d(n,G,e,g,c,3);e[g++]=l[v];e[g++]=l[v+1]}};this.intersect=function(){};this.getGLMaterials=function(){return{color:c,
depthShadowMap:s,normal:void 0,depth:a,highlight:void 0}};this.getAllTextureIds=function(){return[d]}},c=function(a,b,c){k.basicGLMaterialConstructor(this,a);var d=n.TRANSPARENT_MATERIAL,e=b.get("billboard");k.singleTextureGLMaterialConstructor(this,c,{textureId:a.getTextureId()});this.beginSlot=function(a){return d===a};this.getProgram=function(){return e};this.bind=function(a,b){a.bindProgram(e);this.bindTexture(a,e)};this.release=function(a){};this.bindView=function(a,b){k.bindView(b.origin,b.view,
e)};this.bindInstance=function(a,b){e.setUniformMatrix4fv("model",b.transformation);e.setUniformMatrix4fv("modelNormal",b.transformationNormal)};this.getDrawMode=function(a){return a.gl.TRIANGLES}},a=function(a,b,c,d){k.basicGLMaterialConstructor(this,a);var e=n.TRANSPARENT_MATERIAL,f=null==d?b.get("billboardDepth"):b.get("billboardDepthShadowMap");k.singleTextureGLMaterialConstructor(this,c,{textureId:a.getTextureId()});this.beginSlot=function(a){return e===a};this.getProgram=function(){return f};
this.bind=function(a,b){a.bindProgram(f);this.bindTexture(a,f);f.setUniform2fv("nearFar",b.nearFar)};this.release=function(a){};this.bindView=function(a,b){k.bindView(b.origin,b.view,f)};this.bindInstance=function(a,b){f.detUniformMatrix4fv("model",b.transformation)};this.getDrawMode=function(a){return a.gl.TRIANGLES}},s=function(b,c,d){a.call(this,b,c,d,!0)};f.loadShaders=function(a,b,c,f){a._parse(e);var k=new h(f,a.vertexShaderBillboard,a.fragmentShaderBillboard,d.Default3D),m=b.get("fsDepthTextured");
b=b.get("fsDepthTexturedShadowMap");m=new h(f,a.vertexShaderBillboardDepth,m.source,d.Default3D,m.defines);a=new h(f,a.vertexShaderBillboardDepth,b.source,d.Default3D,b.defines);c.add("billboard",k);c.add("billboardDepth",m);c.add("billboardDepthShadowMap",a)};return f})},"esri/views/3d/webgl-engine/materials/ColorMaterial":function(){define("dojo/_base/lang dojo/text!./ColorMaterial.xml ./internal/MaterialUtil ../lib/RenderSlot ../lib/Util ../../../webgl/Program ../lib/DefaultVertexAttributeLocations ../lib/DefaultVertexBufferLayouts ../../../webgl/Util".split(" "),
function(e,k,n,h,d,b,l,f,c){d=function(b,d){n.basicMaterialConstructor(this,d);b=b||{};b.color=b.color||[1,1,1,1];b.polygonOffset=b.polygonOffset||!1;b.vertexColors=b.vertexColors||!1;var e=f.Pos3Color;this.getParams=function(){return b};this.setColor=function(a){b.color=a;this.notifyDirty("matChanged")};this.getColor=function(){return b.color};this.setTransparent=function(a){b.transparent=a;this.notifyDirty("matChanged")};this.getTransparent=function(a){return b.transparent};this.dispose=function(){};
this.getOutputAmount=function(a){var b=c.getStride(e)/4;return a*b};this.getVertexBufferLayout=function(){return e};this.fillInterleaved=function(a,b,c,d,f,g,h){n.fillInterleaved(a,b,c,d,e,f,g,h)};this.intersect=n.intersectTriangleGeometry;this.getGLMaterials=function(){return{color:a,depthShadowMap:void 0,normal:void 0,depth:void 0,highlight:s}};this.getAllTextureIds=function(){return[]}};var a=function(a,b,c){n.basicGLMaterialConstructor(this,a);var d=e.clone(a.getParams()),f=b.get("colorMaterial"),
m=a.getColor();this.beginSlot=function(a){return a===(1>m[3]?h.TRANSPARENT_MATERIAL:h.OPAQUE_MATERIAL)};this.getProgram=function(){return f};this.updateParameters=function(){d.color=a.getColor();d.transparent=a.getTransparent()};this.bind=function(a,b){a.bindProgram(f);f.setUniform4fv("eColor",d.color);a.setFaceCullingEnabled(!1);d.polygonOffset&&(a.setPolygonOffsetFillEnabled(!0),a.setPolygonOffset(1,1));d.transparent&&a.setBlendingEnabled(!0)};this.release=function(a){a.setPolygonOffsetFillEnabled(!1);
d.transparent&&a.setBlendingEnabled(!1)};this.bindView=function(a,b){n.bindView(b.origin,b.view,f)};this.bindInstance=function(a,b){f.setUniformMatrix4fv("model",b.transformation)};this.getDrawMode=function(a){return a.gl.TRIANGLES}},s=function(a,b,c){n.basicGLMaterialConstructor(this,a);var d=e.clone(a.getParams()),f=b.get("colorMaterial"),m=[1,1,1,1];this.beginSlot=function(a){return a===(1>m[3]?h.TRANSPARENT_MATERIAL:h.OPAQUE_MATERIAL)};this.getProgram=function(){return f};this.updateParameters=
function(){d.color=a.getColor();d.transparent=a.getTransparent()};this.bind=function(a,b){a.bindProgram(f);f.setUniform4fv("eColor",d.color);a.setFaceCullingEnabled(!1);d.polygonOffset&&(a.setPolygonOffsetFillEnabled(!0),a.setPolygonOffset(1,1))};this.release=function(a){a.setPolygonOffsetFillEnabled(!1)};this.bindView=function(a,b){n.bindView(b.origin,b.view,f)};this.bindInstance=function(a,b){f.setUniformMatrix4fv("model",b.transformation)};this.getDrawMode=function(a){return a.gl.TRIANGLES}};d.programs=
null;d.loadShaders=function(a,c,d,e){a._parse(k);a=new b(e,a.vertexShaderColorMaterial,a.fragmentShaderColorMaterial,l.Default3D);d.add("colorMaterial",a)};return d})},"esri/views/3d/webgl-engine/materials/HUDMaterial":function(){define("dojo/_base/lang dojo/text!./HUDMaterial.xml ./internal/MaterialUtil ../lib/ShaderVariations ../lib/Util ../lib/gl-matrix ../lib/RenderSlot ../../../webgl/Program ../lib/DefaultVertexAttributeLocations ../../../webgl/Util".split(" "),function(e,k,n,h,d,b,l,f,c,a){var s=
b.vec2d,t=b.vec3d,v=b.mat4d,u=d.assert,q=d.VertexAttrConstants,r={"bottom-left":[0,0],bottom:[0.5,0],"bottom-right":[1,0],left:[0,0.5],center:[0.5,0.5],right:[1,0.5],"top-left":[0,1],top:[0.5,1],"top-right":[1,1]},m=[253/255,231/255,229/255];d=function(b,c){n.basicMaterialConstructor(this,c);b=b||null;b.texCoordScale=b.texCoordScale||[1,1];b.occlusionTest=void 0!==b.occlusionTest?b.occlusionTest:!0;b.color=b.color||[1,1,1,1];b.screenMinMaxSize=b.screenMinMaxSize||[0,1E5];b.outlineColor=b.outlineColor||
[1,1,1,1];b.outlineSize=b.outlineSize||0;b.textureIsSignedDistanceField=b.textureIsSignedDistanceField?1:0;b.distanceFieldBoundingBox=b.distanceFieldBoundingBox||[0.25,0.25,0.75,0.75];b.vvSizeEnabled=b.vvSizeEnabled||!1;b.vvSizeMinDataValue=b.vvSizeMinDataValue||[0,0,0];b.vvSizeMinSize=b.vvSizeMinSize||[1,1,1];b.vvSizeMaxDataValue=b.vvSizeMaxDataValue||[0,0,0];b.vvSizeMaxSize=b.vvSizeMaxSize||[100,100,100];b.vvColorEnabled=b.vvColorEnabled||!1;b.vvColorValues=b.vvColorValues||[0,0,0,0,0,0,0,0];b.vvColorColors=
b.vvColorColors||[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0];b.screenOffset?b.screenOffset.forEach(function(a,c){b.screenOffset[c]=2*a}):b.screenOffset=[0,0];"string"===typeof b.anchorPos?(u(r[b.anchorPos],"HUDMaterial: invalid anchorPos specified"),b.anchorPos=r[b.anchorPos]):b.anchorPos||(b.anchorPos=r.center);null==b.shaderPolygonOffset&&(b.shaderPolygonOffset=1E-5);var d=[{name:"position",count:3,type:5126,offset:0,stride:76,normalized:!1},{name:"normal",count:3,type:5126,
offset:12,stride:76,normalized:!1},{name:"uv0",count:2,type:5126,offset:24,stride:76,normalized:!1},{name:"color",count:4,type:5121,offset:32,stride:76,normalized:!1},{name:"size",count:2,type:5126,offset:36,stride:76,normalized:!1},{name:"auxpos1",count:4,type:5126,offset:44,stride:76,normalized:!1},{name:"auxpos2",count:4,type:5126,offset:60,stride:76,normalized:!1}],e=a.getStride(d),f=e/4;this.dispose=function(){};this.getParameterValues=function(){var a={color:b.color,texCoordScale:b.texCoordScale,
polygonOffset:b.polygonOffset,anchorPos:b.anchorPos,screenOffset:b.screenOffset,screenMinMaxSize:b.screenMinMaxSize,shaderPolygonOffset:b.shaderPolygonOffset,textureIsSignedDistanceField:b.textureIsSignedDistanceField,outlineColor:b.outlineColor,outlineSize:b.outlineSize,distanceFieldBoundingBox:b.distanceFieldBoundingBox,vvSizeEnabled:b.vvSizeEnabled,vvSizeMinDataValue:b.vvSizeMinDataValue,vvSizeMinSize:b.vvSizeMinSize,vvSizeMaxDataValue:b.vvSizeMaxDataValue,vvSizeMaxSize:b.vvSizeMaxSize,vvColorEnabled:b.vvColorEnabled,
vvColorValues:b.vvColorValues,vvColorColors:b.vvColorColors};b.textureId&&(a.textureId=b.textureId);b.direction&&(a.direction=b.direction);return a};this.setParameterValues=function(a){for(var c in a)"textureId"===c&&u(b.textureId,"Can only change texture of material that already has a texture"),"direction"===c&&u(b.direction,"Can only change direction of HUDMaterial which was initialized with a direction"),b[c]=a[c];this.notifyDirty("matChanged")};this.getParams=function(){return b};this.getOutputAmount=
function(a){return 6*a*f};this.getVertexBufferLayout=function(){return d};this.fillInterleaved=function(c,m,h,p,k,l){var r=4*l;p=n.fill;for(var x=c.faces.indices[q.POSITION],w=c.vertexAttr[q.POSITION].data,s=l+a.findAttribute(d,q.POSITION).offset/4,u=0;u<x.length;++u){var t=3*x[u];p(w,t,k,s,m,3);s+=f;p(w,t,k,s,m,3);s+=f;p(w,t,k,s,m,3);s+=f;p(w,t,k,s,m,3);s+=f;p(w,t,k,s,m,3);s+=f;p(w,t,k,s,m,3);s+=f}m=c.faces.indices[q.NORMAL];w=c.vertexAttr[q.NORMAL].data;s=l+a.findAttribute(d,q.NORMAL).offset/4;
for(u=0;u<m.length;++u)t=3*m[u],p(w,t,k,s,h,3),s+=f,p(w,t,k,s,h,3),s+=f,p(w,t,k,s,h,3),s+=f,p(w,t,k,s,h,3),s+=f,p(w,t,k,s,h,3),s+=f,p(w,t,k,s,h,3),s+=f;s=l+a.findAttribute(d,q.UV0).offset/4;u=c.vertexAttr[q.UV0].data;null==u||3>=u.length?(h=t=0,m=b.texCoordScale[0],w=b.texCoordScale[1]):(t=c.vertexAttr[q.UV0].data[0],h=c.vertexAttr[q.UV0].data[1],m=c.vertexAttr[q.UV0].data[2],w=c.vertexAttr[q.UV0].data[3]);m=Math.min(1.99999,m+1);w=Math.min(1.99999,w+1);for(u=0;u<x.length;++u)k[s]=t,k[s+1]=h,s+=f,
k[s]=m,k[s+1]=h,s+=f,k[s]=m,k[s+1]=w,s+=f,k[s]=m,k[s+1]=w,s+=f,k[s]=t,k[s+1]=w,s+=f,k[s]=t,k[s+1]=h,s+=f;x=c.faces.indices[q.COLOR];h=c.vertexAttr[q.COLOR].data;s=r+a.findAttribute(d,q.COLOR).offset;r=new Uint8Array(k.buffer);for(u=0;u<x.length;++u)t=4*x[u],p(h,t,r,s,null,4),s+=e,p(h,t,r,s,null,4),s+=e,p(h,t,r,s,null,4),s+=e,p(h,t,r,s,null,4),s+=e,p(h,t,r,s,null,4),s+=e,p(h,t,r,s,null,4),s+=e;r=c.faces.indices[q.SIZE];t=c.vertexAttr[q.SIZE].data;s=l+a.findAttribute(d,q.SIZE).offset/4;for(u=0;u<r.length;++u)x=
t[2*r[u]],h=t[2*r[u]+1],k[s]=x,k[s+1]=h,s+=f,k[s]=x,k[s+1]=h,s+=f,k[s]=x,k[s+1]=h,s+=f,k[s]=x,k[s+1]=h,s+=f,k[s]=x,k[s+1]=h,s+=f,k[s]=x,k[s+1]=h,s+=f;if(null!=c.faces.indices[q.AUXPOS1]&&null!=c.vertexAttr[q.AUXPOS1]){r=c.faces.indices[q.AUXPOS1];x=c.vertexAttr[q.AUXPOS1].data;s=l+a.findAttribute(d,"auxpos1").offset/4;for(u=0;u<r.length;++u)t=4*r[u],p(x,t,k,s,null,4),s+=f,p(x,t,k,s,null,4),s+=f,p(x,t,k,s,null,4),s+=f,p(x,t,k,s,null,4),s+=f,p(x,t,k,s,null,4),s+=f,p(x,t,k,s,null,4),s+=f}if(null!=c.faces.indices[q.AUXPOS2]&&
null!=c.vertexAttr[q.AUXPOS2]){r=c.faces.indices[q.AUXPOS2];c=c.vertexAttr[q.AUXPOS2].data;s=l+a.findAttribute(d,"auxpos2").offset/4;for(u=0;u<r.length;++u)t=4*r[u],p(c,t,k,s,null,4),s+=f,p(c,t,k,s,null,4),s+=f,p(c,t,k,s,null,4),s+=f,p(c,t,k,s,null,4),s+=f,p(c,t,k,s,null,4),s+=f,p(c,t,k,s,null,4),s+=f}};var m=t.create(),h=t.create(),k=v.create();v.identity(k);var l=[0,0];this.intersect=function(a,c,d,e,f,p,r,s){if(e.isSelection&&e.enableHUDSelection){f=c=1;s&&(f=s(k),c=f[0],f=f[5]);s=a.getData().getVertexAttr()[q.POSITION];
a=a.getData().getVertexAttr()[q.SIZE];u(3<=s.size);p=e.point;var x=e.camera,w=e.p0;e=e.p1;for(var n=0;n<s.data.length/s.size;n++){var y=n*s.size;t.set3(s.data[y],s.data[y+1],s.data[y+2],m);v.multiplyVec3(d,m,m);y=n*a.size;l[0]=a.data[y]*c;l[1]=a.data[y+1]*f;x.projectPoint(m,h);if(-1<h[0]){var z=b.anchorPos,y=h[0]-1-(0<z[0]?l[0]*z[0]:0),C=y+l[0],z=h[1]-1-(0<z[1]?l[1]*z[1]:0),W=z+l[1];if(b.textureIsSignedDistanceField)var X=b.distanceFieldBoundingBox,O=b.outlineSize/2,y=y+(l[0]*X[0]-O),C=C-(l[0]*(1-
X[2])-O),z=z+(l[1]*X[1]-O),W=W-(l[1]*(1-X[3])-O);p[0]>y&&(p[0]<C&&p[1]>z&&p[1]<W)&&(y=t.subtract(w,m,t.create()),C=t.length(y),t.scale(y,1/C),C=0.98*C/t.dist(w,e),r(C,y,-1,1,!0))}}}};this.getGLMaterials=function(){return{color:w,depthShadowMap:void 0,normal:void 0,depth:void 0,highlight:x}};this.getAllTextureIds=function(){return[b.textureId]};this._textureDirty=!1;this.setTextureDirty=function(){this._textureDirty=!0}};var w=function(a,b,c){function d(){return b.shaderVariators.HUDMaterial.getProgram([!!q.direction,
!!q.worldScale,q.occlusionTest,q.textureIsSignedDistanceField,!!q.vvSizeEnabled,!!q.vvColorEnabled])}n.basicGLMaterialConstructor(this,a);var f=l.OCCLUSION_PIXELS,h=l.OVERLAY,k=0,q=e.clone(a.getParams()),r=b.get("hudOcclusionTestPixel"),x=d();n.singleTextureGLMaterialConstructor(this,c,q);this.beginSlot=function(a){k=a;return q.occlusionTest?a===f||a===h:a===h};this.getProgram=function(){return k===f&&q.occlusionTest?r:x};this.getAllPrograms=function(){return[r,x]};this.updateParameters=function(){var b=
a.getParams();q.color=b.color;q.texCoordScale=b.texCoordScale;q.polygonOffset=b.polygonOffset;q.anchorPos=b.anchorPos;q.screenOffset=b.screenOffset;q.screenMinMaxSize=b.screenMinMaxSize;q.direction=b.direction;q.shaderPolygonOffset=b.shaderPolygonOffset;q.textureIsSignedDistanceField=b.textureIsSignedDistanceField;q.outlineColor=b.outlineColor;q.outlineSize=b.outlineSize;q.vvSizeEnabled=b.vvSizeEnabled;q.vvSizeMinDataValue=b.vvSizeMinDataValue;q.vvSizeMinSize=b.vvSizeMinSize;q.vvSizeMaxDataValue=
b.vvSizeMaxDataValue;q.vvSizeMaxSize=b.vvSizeMaxSize;q.vvColorEnabled=b.vvColorEnabled;q.vvColorValues=b.vvColorValues;q.vvColorColors=b.vvColorColors;this.updateTexture(b.textureId);x=d()};this.bind=function(b,c){a._textureDirty&&(this.renderTexture(b),a._textureDirty=!1);var d=b.gl,e=c.cameraAboveGround?1:-1;if(k===f&&q.occlusionTest)b.bindProgram(r),r.setUniform1f("cameraGroundRelative",e),r.setUniform1f("polygonOffset",q.shaderPolygonOffset),r.setUniform4fv("viewport",c.viewport),r.setUniform4f("color",
m[0],m[1],m[2],1),b.setDepthFunction(d.LEQUAL);else{b.bindProgram(x);x.setUniform1f("cameraGroundRelative",e);this.bindTexture(b,x);x.setUniform1i("framebufferTex",1);b.bindTexture(c.framebufferTex,1);b.setActiveTexture(0);x.setUniform3fv("markerColor",m);x.setUniform4fv("viewport",c.viewport);x.setUniform4fv("overrideColor",q.color);x.setUniform1f("pixelRatio",c.pixelRatio);x.setUniform1f("polygonOffset",q.shaderPolygonOffset);q.textureIsSignedDistanceField&&(x.setUniform4fv("outlineColor",q.outlineColor),
x.setUniform1f("outlineSize",q.outlineSize));q.vvSizeEnabled&&(x.setUniform3fv("vvSizeMinDataValue",q.vvSizeMinDataValue),x.setUniform3fv("vvSizeMaxDataValue",q.vvSizeMaxDataValue),x.setUniform3fv("vvSizeMinSize",q.vvSizeMinSize),x.setUniform3fv("vvSizeMaxSize",q.vvSizeMaxSize));q.vvColorEnabled&&(x.setUniform1fv("vvColorValues",q.vvColorValues),x.setUniform4fv("vvColorColors",q.vvColorColors));if(q.worldScale){var d=[-1,-1],e=q.screenMinMaxSize,h=c.proj,p=c.viewport[2]/c.pixelRatio;e&&(0!==h[11]?
(h=2*Math.atan(1/h[0]),p=2*(Math.tan(h/2)/p),d[0]=e[0]*p,d[1]=e[1]*p):s.scale(e,2/(h[0]*p),d));x.setUniform2fv("minMaxWorldSizeFactor",d)}q.direction&&x.setUniform3fv("direction",q.direction);x.setUniform2fv("texScale",q.texCoordScale);x.setUniform2fv("screenOffset",q.screenOffset);x.setUniform2fv("anchorPos",q.anchorPos);q.polygonOffset&&(b.setPolygonOffsetFillEnabled(!0),b.setPolygonOffset(0,-4));b.setBlendingEnabled(!0)}};this.release=function(a){var b=a.gl;k===f&&q.occlusionTest?a.setDepthFunction(b.LESS):
(a.setPolygonOffsetFillEnabled(!1),a.setBlendingEnabled(!1))};this.bindView=function(a,b){var c=b.origin;k===f&&q.occlusionTest?(n.bindView(c,b.view,r),n.bindCamPos(c,b.viewInvTransp,r)):(n.bindView(c,b.view,x),n.bindCamPos(c,b.viewInvTransp,x))};this.bindInstance=function(a,b){k===f&&q.occlusionTest?(r.setUniformMatrix4fv("model",b.transformation),r.setUniformMatrix4fv("modelNormal",b.transformationNormal)):x.setUniformMatrix4fv("model",b.transformation)};this.getDrawMode=function(a){a=a.gl;return k===
f&&q.occlusionTest?a.POINTS:a.TRIANGLES}},x=function(a,b,c){function d(){return b.shaderVariators.HUDMaterialHighlight.getProgram([!!f.direction,!!f.worldScale,f.occlusionTest,f.textureIsSignedDistanceField,!!f.vvSizeEnabled,!!f.vvColorEnabled])}n.basicGLMaterialConstructor(this,a);var f=e.clone(a.getParams()),h=b.get("hudOcclusionTestPixel"),k=d();n.singleTextureGLMaterialConstructor(this,c,f);this.beginSlot=function(a){return a===l.OVERLAY};this.getProgram=function(){return k};this.getAllPrograms=
function(){return[h,k]};this.updateParameters=function(){var b=a.getParams();f.color=b.color;f.texCoordScale=b.texCoordScale;f.polygonOffset=b.polygonOffset;f.anchorPos=b.anchorPos;f.screenOffset=b.screenOffset;f.screenMinMaxSize=b.screenMinMaxSize;f.direction=b.direction;f.shaderPolygonOffset=b.shaderPolygonOffset;f.textureIsSignedDistanceField=b.textureIsSignedDistanceField;f.outlineColor=b.outlineColor;f.outlineSize=b.outlineSize;this.updateTexture(b.textureId);k=d()};this.bind=function(b,c){a._textureDirty&&
(this.renderTexture(b),a._textureDirty=!1);b.bindProgram(k);this.bindTexture(b,k);k.setUniform1i("framebufferTex",1);b.bindTexture(c.framebufferTex,1);b.setActiveTexture(0);k.setUniform3fv("markerColor",m);k.setUniform4fv("viewport",c.viewport);k.setUniform4fv("overrideColor",f.color);k.setUniform1f("pixelRatio",c.pixelRatio);k.setUniform1f("polygonOffset",f.shaderPolygonOffset);f.textureIsSignedDistanceField&&(k.setUniform4fv("outlineColor",f.outlineColor),k.setUniform1f("outlineSize",f.outlineSize));
if(f.worldScale){var d=[-1,-1],e=f.screenMinMaxSize,h=c.proj,p=c.viewport[2]/c.pixelRatio;e&&(0!==h[11]?(h=2*Math.atan(1/h[0]),p=2*(Math.tan(h/2)/p),d[0]=e[0]*p,d[1]=e[1]*p):s.scale(e,2/(h[0]*p),d));k.setUniform2fv("minMaxWorldSizeFactor",d)}f.direction&&k.setUniform3fv("direction",f.direction);k.setUniform2fv("texScale",f.texCoordScale);k.setUniform2fv("screenOffset",f.screenOffset);k.setUniform2fv("anchorPos",f.anchorPos);f.polygonOffset&&(b.setPolygonOffsetFillEnabled(!0),b.setPolygonOffset(0,
-4));b.setBlendingEnabled(!0)};this.release=function(a){a.setPolygonOffsetFillEnabled(!1);a.setBlendingEnabled(!1)};this.bindView=function(a,b){var c=b.origin;n.bindView(c,b.view,k);n.bindCamPos(c,b.viewInvTransp,k)};this.bindInstance=function(a,b){k.setUniformMatrix4fv("model",b.transformation)};this.getDrawMode=function(a){return a.gl.TRIANGLES}};d.loadShaders=function(a,b,d,e){a._parse(k);var m=0<e.parameters.maxVertexTextureImageUnits,l=new h("hud",["vertexShaderHUD","fragmentShaderHUD"],null,
d,b,a,e);l.addBinaryShaderSnippetSuffix("Direction","Direction",[!0,!1]);l.addBinaryShaderSnippetSuffix("WorldScale","WorldScale",[!0,!1]);l.addDefine("OcclTest",m?"OCCL_TEST":"OCCL_PIXELSHADER");l.addDefine("SDF","SIGNED_DISTANCE_FIELD");l.addDefine("vvSize","VV_SIZE");l.addDefine("vvColor","VV_COLOR");d.shaderVariators.HUDMaterial=l;b=new h("hudHighlight",["vertexShaderHUD","fragmentShaderHUDHighlight"],null,d,b,a,e);b.addBinaryShaderSnippetSuffix("Direction","Direction",[!0,!1]);b.addBinaryShaderSnippetSuffix("WorldScale",
"WorldScale",[!0,!1]);b.addDefine("OcclTest",m?"OCCL_TEST":"OCCL_PIXELSHADER");b.addDefine("SDF","SIGNED_DISTANCE_FIELD");b.addDefine("vvSize","VV_SIZE");b.addDefine("vvColor","VV_COLOR");d.shaderVariators.HUDMaterialHighlight=b;a=new f(e,a.vertexShaderOcclusionTestPixel,a.fragmentShaderSimple,c.Default3D);d.add("hudOcclusionTestPixel",a)};return d})},"esri/views/3d/webgl-engine/lib/ShaderVariations":function(){define(["dojo/_base/lang","./Util","../../../webgl/Program","./DefaultVertexAttributeLocations"],
function(e,k,n,h){var d=k.assert,b=function(b,d){return b+d.toString()};return function(k,f,c,a,s,t,v){d(2===f.length,"you must specify shader snippet prefixes for vertex and fragment shaders");if(!c||0===c.length)c=[];var u=[],q=!1,r={};this.addDefine=function(a,b,c,e){d(!q,"you cannot add another variable after the first program has been generated");d(a,"you must specify a program name suffix");u.push({programNameSuffixes:["",a],shaderNameSuffixes:e||a,defineStr:b,affectsShaderTypes:c||[!0,!0]})};
this.addBinaryShaderSnippetSuffix=function(a,b,c){d(!q,"you cannot add another variable after the first program has been generated");d(a,"you must specify a program name suffix");u.push({programNameSuffixes:["",a],shaderSnippetSuffixes:["",b],affectsShaderTypes:c||[!0,!0]})};this.addNaryShaderSnippetSuffix=function(a,b){d(!q,"you cannot add another variable after the first program has been generated");var c=a.map(function(a){d(null!=a.value,"value must always be specified");return a.value});u.push({values:c,
programNameSuffixes:a.map(function(a,b){return null!=a.programNameSuffix?a.programNameSuffix:c[b]}),shaderSnippetSuffixes:a.map(function(a,b){return null!=a.shaderSnippetSuffix?a.shaderSnippetSuffix:c[b]}),affectsShaderTypes:b||[!0,!0]})};this.getShaderVariation=function(a){d(a.length===u.length,"you must specify a value for each variable");for(var b=k,h=e.clone(f),g=e.clone(f),p=e.clone(c),q=0;q<u.length;q++){var r=u[q],s=a[q],n;r.values?(n=r.values.indexOf(s),d(0<=n,"invalid value "+s+" for variable "+
q)):n=s?1:0;b+=r.programNameSuffixes[n];for(s=0;2>s;s++)r.affectsShaderTypes[s]&&(r.shaderSnippetSuffixes&&(h[s]+=r.shaderSnippetSuffixes[n],g[s]+=r.shaderSnippetSuffixes[n]),r.defineStr&&n&&(p.push(r.defineStr),g[s]+=r.shaderNameSuffixes))}return{programName:b,shaderSnippetNames:h,shaderNames:g,defines:p}};this.getProgram=function(c,e,f){e=e||t;f=f||v;q=!0;var g=c.reduce(b,"");if(r[g])return r[g];c=this.getShaderVariation(c);var p=a.get(c.programName);if(p)return p;var k,p=c.shaderSnippetNames[0];
k=e[p];d(null!=k,"shader snippet '"+p+"' does not exist");p=c.shaderSnippetNames[1];e=e[p];d(null!=e,"shader snippet '"+p+"' does not exist");p=new n(f,k,e,h.Default3D,c.defines);r[g]=p;a.add(c.programName,p);return p}}})},"esri/views/3d/webgl-engine/materials/LeafCardMaterial":function(){define("dojo/text!./LeafCardMaterial.xml ./internal/MaterialUtil ../lib/Util ../lib/gl-matrix ../lib/RenderSlot ../../../webgl/Program ../lib/DefaultVertexAttributeLocations ../../../webgl/Util".split(" "),function(e,
k,n,h,d,b,l,f){function c(){r=(9301*r+49297)%233280;return r/233280}var a=h.vec3,s=h.mat4,t=h.mat4d;h=function(b,d,e,g,h,l){k.basicMaterialConstructor(this,l);var r=[{name:"position",count:3,type:5126,offset:0,stride:44,normalized:!1},{name:"normal",count:4,type:5126,offset:12,stride:44,normalized:!1},{name:"uv0",count:4,type:5126,offset:28,stride:44,normalized:!1}],C=f.getStride(r)/4;this.getAmbient=function(){return d};this.getDiffuse=function(){return e};this.getSpecular=function(){return g};this.getShininess=
function(){return h};this.dispose=function(){};this.getTextureId=function(){return b};this.getOutputAmount=function(a){var b=0,c;for(c=0;c<a/6;c++)0===c%1&&(b+=6);a=b;for(c=b=0;c<a/6;c++)0===c%1&&(b+=6);return b*C};this.getVertexBufferLayout=function(){return r};this.reduce=function(a,b){for(var c=a.position,d=a.normal,e=a.uv0,g=[],f=[],m=[],h=0,p=0;p<c.length/6;p++)if(0===p%b)for(var k=0;6>k;k++)g[h]=c[6*p+k],f[h]=d[6*p+k],m[h]=e[6*p+k],h++;return{position:g,normal:f,uv0:m}};this.fillInterleaved=
function(b,d,e,g,f,m){g=k.fill;var h=this.reduce(b.faces.indices,1),h=this.reduce(h,1),p=this.getOutputAmount(b.faces.indices.position.length);n.assert(p===h.position.length*C);var l=h.position,q=h.normal,r=h.uv0,h=b.vertexAttr.position.data,x=b.vertexAttr.normal.data,w=b.vertexAttr.uv0.data,u=a.create();b=l.length/6;for(var p=m,v=a.createFrom(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),y=a.createFrom(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),z=0;z<b;++z){for(var U=a.create(),
W=a.create(),X=[100,100,-100,-100],O=a.create(),S=0;6>S;++S){var ea=6*z+S,Y=3*l[ea],ca=3*q[ea],ea=2*r[ea];U[0]+=h[Y+0];U[1]+=h[Y+1];U[2]+=h[Y+2];W[0]+=x[ca+0];W[1]+=x[ca+1];W[2]+=x[ca+2];ca=w[ea+0];ea=w[ea+1];X[0]=Math.min(X[0],ca);X[1]=Math.min(X[1],ea);X[2]=Math.max(X[2],ca);X[3]=Math.max(X[3],ea);0===S&&a.set3(h[Y+0],h[Y+1],h[Y+2],O)}U[0]/=6;U[1]/=6;U[2]/=6;W[0]/=6;W[1]/=6;W[2]/=6;U[0]+=0.1*(2*c()-1);U[1]+=0.1*(2*c()-1);U[2]+=0.1*(2*c()-1);void 0!==d&&(t.multiplyVec3(d,O,O),t.multiplyVec3(d,U,
U),t.multiplyVec3(e,W,W));a.add(U,u,u);a.max(v,U,v);a.min(y,U,y);X[0]+=0.01;X[1]+=0.01;X[2]-=0.01;X[3]-=0.01;for(S=0;4>S;S++)X[S]=Math.min(X[S],0.99999);S=2*c()*Math.PI;O=1.41*a.dist(O,U);m+=g(U,0,f,m,void 0,3);m+=g(W,0,f,m,void 0,3);f[m++]=0;f[m++]=X[0];f[m++]=X[1];f[m++]=S;f[m++]=O;m+=g(U,0,f,m,void 0,3);m+=g(W,0,f,m,void 0,3);f[m++]=0;f[m++]=X[2]+1;f[m++]=X[1];f[m++]=S;f[m++]=O;m+=g(U,0,f,m,void 0,3);m+=g(W,0,f,m,void 0,3);f[m++]=0;f[m++]=X[2]+1;f[m++]=X[3]+1;f[m++]=S;f[m++]=O;m+=g(U,0,f,m,void 0,
3);m+=g(W,0,f,m,void 0,3);f[m++]=0;f[m++]=X[2]+1;f[m++]=X[3]+1;f[m++]=S;f[m++]=O;m+=g(U,0,f,m,void 0,3);m+=g(W,0,f,m,void 0,3);f[m++]=0;f[m++]=X[0];f[m++]=X[3]+1;f[m++]=S;f[m++]=O;m+=g(U,0,f,m,void 0,3);m+=g(W,0,f,m,void 0,3);f[m++]=0;f[m++]=X[0];f[m++]=X[1];f[m++]=S;f[m++]=O}u[0]/=b;u[1]/=b;u[2]/=b;d=a.create();a.add(v,y,d);a.scale(d,0.5,d);m=a.create();a.subtract(v,y,m);m[0]=Math.abs(m[0])/2;m[1]=Math.abs(m[1])/2;m[2]=Math.abs(m[2])/2;l=a.create(u);l[1]-=(v[1]-y[1])/3;v=a.create();y=a.create();
h=a.create();q=[a.create(),a.create(),a.create(),a.create()];u=[0,0,0,0];r=s.create();for(z=0;z<b;++z){a.set3(f[p],f[p+1],f[p+2],h);a.subtract(h,l,v);a.normalize(v,v);y=a.subtract(h,d,y);a.normalize(y,y);w=Math.abs(a.dot(y,[1,0,0]));S=Math.abs(a.dot(y,[0,1,0]));x=Math.abs(a.dot(y,[0,0,1]));w=w*Math.abs(d[0]-h[0])/m[0];w+=S*Math.abs(d[1]-h[1])/m[1];w+=x*Math.abs(d[2]-h[2])/m[2];for(S=0;4>S;S++)s.identity(r),s.rotate(r,0.8*(2*c()-1),[0,1,0],r),s.rotate(r,0.8*(2*c()-1),[1,0,0],r),s.multiplyVec3(r,v,
q[S]),u[S]=0.5+0.5*w-0.2*(2*c()-1);x=0.8+0.3*(2*c()-1);for(S=0;6>S;++S){var ba;switch(S){case 0:ba=0;break;case 1:ba=1;break;case 2:ba=2;break;case 3:ba=2;break;case 4:ba=3;break;case 5:ba=0}p+=3;p+=g(q[ba],0,f,p,e,3);f[p++]=u[ba];p+=3;f[p++]*=x}}};this.intersect=function(){};this.getGLMaterials=function(){return{color:v,depthShadowMap:q,normal:void 0,depth:u,highlight:void 0}};this.getAllTextureIds=function(){return[b]}};var v=function(a,b,c){k.basicGLMaterialConstructor(this,a);var e=d.TRANSPARENT_MATERIAL,
f=b.get("leafCard");k.singleTextureGLMaterialConstructor(this,c,{textureId:a.getTextureId()});this.beginSlot=function(a){return e===a};this.getProgram=function(){return f};var h=a.getAmbient(),l=a.getDiffuse(),q=a.getSpecular(),r=a.getShininess();this.bind=function(a,b){a.bindProgram(f);this.bindTexture(a,f);f.setUniform3fv("ambient",h);f.setUniform3fv("diffuse",l);f.setUniform3fv("specular",q);f.setUniform1f("shininess",r);f.setUniform1f("trafoScale",1)};this.release=function(a){};this.bindView=
function(a,b){k.bindView(b.origin,b.view,f);k.bindCamPos(b.origin,b.viewInvTransp,f)};this.bindInstance=function(a,b){f.setUniformMatrix4fv("model",b.transformation);f.setUniformMatrix4fv("modelNormal",b.transformationNormal);var c=b.transformation,d=Math.sqrt(c[0]*c[0]+c[4]*c[4]+c[8]*c[8]),e=Math.sqrt(c[1]*c[1]+c[5]*c[5]+c[9]*c[9]),c=Math.sqrt(c[2]*c[2]+c[6]*c[6]+c[10]*c[10]);f.setUniform1f("trafoScale",(d+e+c)/3)};this.getDrawMode=function(a){return a.gl.TRIANGLES}},u=function(a,b,c,e){k.basicGLMaterialConstructor(this,
a);var f=d.TRANSPARENT_MATERIAL,h=null==e?b.get("leafCardDepth"):b.get("leafCardDepthShadowMap");k.singleTextureGLMaterialConstructor(this,c,{textureId:a.getTextureId()});this.beginSlot=function(a){return f===a};this.getProgram=function(){return h};this.bind=function(a,b){a.bindProgram(h);this.bindTexture(a,h);h.setUniform2fv("nearFar",b.nearFar)};this.release=function(a){};this.bindView=function(a,b){k.bindView(b.origin,b.view,h)};this.bindInstance=function(a,b){h.setUniformMatrix4fv("model",b.transformation);
var c=b.transformation,d=Math.sqrt(c[0]*c[0]+c[4]*c[4]+c[8]*c[8]),e=Math.sqrt(c[1]*c[1]+c[5]*c[5]+c[9]*c[9]),c=Math.sqrt(c[2]*c[2]+c[6]*c[6]+c[10]*c[10]);h.setUniform1f("trafoScale",(d+e+c)/3)};this.getDrawMode=function(a){return a.gl.TRIANGLES}},q=function(a,b,c){u.call(this,a,b,c,!0)};h.loadShaders=function(a,c,d,g){a._parse(e);var f=new b(g,a.vertexShaderLeafCard,a.fragmentShaderLeafCard,l.Default3D),h=c.get("fsDepthTextured");c=c.get("fsDepthTexturedShadowMap");h=new b(g,a.vertexShaderLeafCardDepth,
h.source,l.Default3D,h.defines);a=new b(g,a.vertexShaderLeafCardDepth,c.source,l.Default3D,c.defines);d.add("leafCard",f);d.add("leafCardDepth",h);d.add("leafCardDepthShadowMap",a)};var r=1234;return h})},"esri/views/3d/webgl-engine/materials/Material":function(){define("dojo/_base/lang dojo/text!./Material.xml ./internal/MaterialUtil ../../../webgl/Program ../lib/ShaderVariations ../lib/Util ../lib/gl-matrix ../lib/RenderSlot ../lib/DefaultVertexAttributeLocations ../lib/DefaultVertexBufferLayouts ../../../webgl/Util".split(" "),
function(e,k,n,h,d,b,l,f,c,a,s){function t(a,b){var c=b.vvSizeEnabled;b.vvSizeEnabled?(a.setUniform3fv("vvSizeMinDataValue",b.vvSizeMinDataValue),a.setUniform3fv("vvSizeMaxDataValue",b.vvSizeMaxDataValue),a.setUniform3fv("vvSizeMinSize",b.vvSizeMinSize),a.setUniform3fv("vvSizeMaxSize",b.vvSizeMaxSize)):c&&a.setUniform3fv("vvSizeValue",b.vvSizeValue);c&&(a.setUniform3fv("vvAnchorValue",b.vvAnchorValue),a.setUniformMatrix4fv("vvRotationValue",b.vvRotationValue));b.vvColorEnabled&&(a.setUniform1fv("vvColorValues",
b.vvColorValues),a.setUniform4fv("vvColorColors",b.vvColorColors))}function v(a,b){a.vvSizeEnabled=b.vvSizeEnabled;a.vvSizeMinDataValue=b.vvSizeMinDataValue;a.vvSizeMinSize=b.vvSizeMinSize;a.vvSizeMaxDataValue=b.vvSizeMaxDataValue;a.vvSizeMaxSize=b.vvSizeMaxSize;a.vvSizeValue=b.vvSizeValue;a.vvRotationValue=b.vvRotationValue;a.vvAnchorValue=b.vvAnchorValue}var u=b.assert,q=l.vec3,r,m=q.create();b=function(b,c){n.basicMaterialConstructor(this,c);b=b||{};b.ambient=b.ambient||[0.2,0.2,0.2];b.diffuse=
b.diffuse||[0.8,0.8,0.8];b.specular=b.specular||[0,0,0];b.shininess=b.shininess||10;b.opacity=void 0!==b.opacity?b.opacity:1;b.blendModeOneOne=b.blendModeOneOne||!1;b.inverseWindingOrder=b.inverseWindingOrder||!1;b.vertexColors=b.vertexColors||!1;b.flipV=b.flipV||!1;b.doubleSided=b.doubleSided||!1;b.cullFace=b.cullFace||void 0;b.instanced=b.instanced||!1;this.instanced=!!b.instanced;b.writeStencil=b.writeStencil||!1;b.textureId||(b.reflTextureId=void 0);b.receiveSSAO=void 0!==b.receiveSSAO?b.receiveSSAO:
!0;b.vvSizeEnabled=b.vvSizeEnabled||!1;b.vvSizeMinDataValue=b.vvSizeMinDataValue||[0,0,0];b.vvSizeMinSize=b.vvSizeMinSize||[1,1,1];b.vvSizeMaxDataValue=b.vvSizeMaxDataValue||[0,0,0];b.vvSizeMaxSize=b.vvSizeMaxSize||[100,100,100];b.vvSizeValue=b.vvSizeValue||[1,1,1];b.vvAnchorValue=b.vvAnchorValue||[0,0,0];b.vvRotationValue=b.vvRotationValue||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];b.vvColorEnabled=b.vvColorEnabled||!1;b.vvColorValues=b.vvColorValues||[0,0,0,0,0,0,0,0];b.vvColorColors=b.vvColorColors||[1,
0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0];var d;d=b.textureId?b.atlasRegions?"Pos3NormTexRegion":"Pos3NormTex":"Pos3Norm";b.vertexColors&&(d+="Col");var e=a[d],g=null;b.instanced&&(g=[],s.addDescriptor(g,"model",16,5126,!1,1),s.addDescriptor(g,"modelNormal",16,5126,!1,1),-1<b.instanced.indexOf("color")&&s.addDescriptor(g,"instanceColor",4,5126,!1,1),-1<b.instanced.indexOf("featureAttribute")&&s.addDescriptor(g,"instanceFeatureAttribute",4,5126,!1,1));var f=this.isVisible.bind(this);
this.isVisible=function(){return f()&&0<b.opacity};this.dispose=function(){};this.getParams=function(){return b};this.getParameterValues=function(){var a={ambient:b.ambient,diffuse:b.diffuse,specular:b.specular,shininess:b.shininess,opacity:b.opacity,transparent:b.transparent,polygonOffset:b.polygonOffset,reflectivity:b.reflectivity,atlasRegions:b.atlasRegions,flipV:b.flipV,doubleSided:b.doubleSided,cullFace:b.cullFace,writeStencil:b.writeStencil,receiveSSAO:b.receiveSSAO,vvSizeEnabled:b.vvSizeEnabled,
vvSizeMinDataValue:b.vvSizeMinDataValue,vvSizeMinSize:b.vvSizeMinSize,vvSizeMaxDataValue:b.vvSizeMaxDataValue,vvSizeMaxSize:b.vvSizeMaxSize,vvSizeValue:b.vvSizeValue,vvRotationValue:b.vvRotationValue,vvAnchorValue:b.vvAnchorValue,vvColorEnabled:b.vvColorEnabled,vvColorValues:b.vvColorValues,vvColorColors:b.vvColorColors};b.textureId&&(a.textureId=b.textureId,a.initTexture=b.initTexture);return a};this.setParameterValues=function(a){for(var c in a)"textureId"===c&&u(b.textureId,"Can only change texture of material that already has a texture"),
b[c]=a[c];this.notifyDirty("matChanged")};this.getOutputAmount=function(a){var b=s.getStride(e)/4;return a*b};this.getVertexBufferLayout=function(){return e};this.getInstanceBufferLayout=function(){return g};this.fillInterleaved=function(a,b,c,d,g,f,m){n.fillInterleaved(a,b,c,d,e,g,f,m)};this.intersect=n.intersectTriangleGeometry;this.getGLMaterials=function(){return{color:p,depthShadowMap:y,normal:C,depth:z,highlight:A}};this.getAllTextureIds=function(){var a=[];b.textureId&&a.push(b.textureId);
b.reflTextureId&&a.push(b.reflTextureId);return a}};b.paramsFromOldConstructor=function(a,b,c,d,e,g,f,m,h,p,k,l,q){return{textureId:a,transparent:b,ambient:c,diffuse:d,specular:e,shininess:g,opacity:f,polygonOffset:m,initTexture:h,reflTextureId:p,reflectivity:k,flipV:l,doubleSided:q,cullFace:void 0}};var w=function(a,b){var c=a.gl;(b.cullFace?"none"!==b.cullFace:!b.transparent)?(a.setFaceCullingEnabled(!0),"front"===b.cullFace&&a.setCullFace(c.FRONT)):a.setFaceCullingEnabled(!1)},x=function(a,b){var c=
a.gl;(b.cullFace?"none"!==b.cullFace:!b.transparent)?(a.setFaceCullingEnabled(!1),"front"===b.cullFace&&a.setCullFace(c.BACK)):a.setFaceCullingEnabled(!0)},g=function(a,b){return a?f.TRANSPARENT_MATERIAL:b?f.STENCIL_MATERIAL:f.OPAQUE_MATERIAL},p=function(a,b,c){n.basicGLMaterialConstructor(this,a);var d=e.clone(a.getParams()),f=g(d.transparent,d.writeStencil);n.singleTextureGLMaterialConstructor(this,c,d);var h=n.aquireIfNotUndefined(d.reflTextureId,d.reflInitTexture,c);h&&(h=h.getGLTexture());u(!(d.atlasRegions&&
d.reflTextureId),"Atlas texture with reflection is not yet supported");var p=!d.textureId?"none":d.atlasRegions?"AtlasTextured":"Textured";this.instanced=r&&d.instanced;var k=!!this.instanced&&-1<this.instanced.indexOf("color");this._loadProgram=function(a,c){return b.shaderVariators.Material.getProgram([p,!!d.reflTextureId,d.vertexColors,d.flipV,d.doubleSided,!!this.instanced,k,a,c,!!d.vvSizeEnabled,!!d.vvColorEnabled])};var l=this._loadProgram(!1,d.receiveSSAO),s=this._loadProgram(!0,d.receiveSSAO),
y=null,z="AtlasTextured"===p,A=this.dispose;this.dispose=function(){A();n.releaseIfNotUndefined(d.reflTextureId,c)};this.beginSlot=function(a){return f===a};this.getProgram=function(){return y||l};this.getAllPrograms=function(){return[s,l]};this.updateParameters=function(){var b=a.getParams();d.ambient=b.ambient;d.diffuse=b.diffuse;d.specular=b.specular;d.shininess=b.shininess;d.opacity=b.opacity;d.polygonOffset=b.polygonOffset;d.reflectivity=b.reflectivity;d.flipV=b.flipV;d.doubleSided=b.doubleSided;
d.cullFace=b.cullFace;d.receiveSSAO=b.receiveSSAO;v(d,b);d.vvColorEnabled=b.vvColorEnabled;d.vvColorValues=b.vvColorValues;d.vvColorColors=b.vvColorColors;d.transparent!=b.transparent&&(f=g(b.transparent),d.transparent=b.transparent);d.initTexture=b.initTexture;this.updateTexture(b.textureId);b.atlasRegions&&(d.atlasRegions=b.atlasRegions);d.blendModeOneOne=b.blendModeOneOne;d.inverseWindingOrder=b.inverseWindingOrder;l=this._loadProgram(!1,d.receiveSSAO);s=this._loadProgram(!0,d.receiveSSAO)};this.bind=
function(a,b){var c=a.gl;y=b.shadowMap&&b.shadowMap.getEnableState()?s:l;a.bindProgram(y);y.setUniform3fv("ambient",d.ambient);y.setUniform3fv("diffuse",d.diffuse);y.setUniform3fv("specular",d.specular);y.setUniform1f("shininess",d.shininess);y.setUniform1f("opacity",d.opacity);b.shadowMap||y.setUniform1f("depthHalfPixelSz",-1);t(y,d);this.bindTexture(a,y);z&&this.bindTextureSize(a,y);a.setBlendFunctionSeparate(c.SRC_ALPHA,c.ONE_MINUS_SRC_ALPHA,c.ONE,c.ONE_MINUS_SRC_ALPHA);void 0!==h&&(y.setUniform1i("reflTex",
1),a.bindTexture(h,1),y.setUniform1f("reflectivity",d.reflectivity));d.inverseWindingOrder&&a.setFrontFace(c.CW);d.transparent?(a.setBlendingEnabled(!0),d.blendModeOneOne?(a.setBlendFunction(c.ONE,c.ONE),a.setDepthWriteEnabled(!1)):a.setBlendFunctionSeparate(c.SRC_ALPHA,c.ONE_MINUS_SRC_ALPHA,c.ONE,c.ONE_MINUS_SRC_ALPHA)):a.setBlendingEnabled(!1);d.polygonOffset&&(a.setPolygonOffsetFillEnabled(!0),a.setPolygonOffset(2,2));w(a,d);a.setDepthTestEnabled(!0)};this.release=function(a,b){var c=a.gl;a.setPolygonOffsetFillEnabled(!1);
x(a,d);a.setBlendingEnabled(!1);a.setBlendFunctionSeparate(c.SRC_ALPHA,c.ONE_MINUS_SRC_ALPHA,c.ONE,c.ONE_MINUS_SRC_ALPHA);a.setDepthWriteEnabled(!0);a.setFrontFace(c.CCW)};this.bindView=function(a,b){y=b.shadowMap&&b.shadowMap.getEnableState()?s:l;var c=b.origin;n.bindView(c,b.view,y);n.bindCamPos(c,b.viewInvTransp,y);b.shadowMap&&b.shadowMap.bindView(y,c)};this.bindInstance=function(a,b){y.setUniformMatrix4fv("model",b.transformation);y.setUniformMatrix4fv("modelNormal",b.transformationNormal);if(k&&
b.instanceParameters){var c=b.instanceParameters.color;c&&(q.multiply(d.ambient,c,m),y.setUniform3fv("ambient",m),q.multiply(d.diffuse,c,m),y.setUniform3fv("diffuse",m),y.setUniform1f("opacity",d.opacity*c[3]))}};this.getDrawMode=function(a){return a.gl.TRIANGLES}},z=function(a,b,c,d){n.basicGLMaterialConstructor(this,a);var f=e.clone(a.getParams());this.instanced=r&&f.instanced;var m=!s.hasAttribute(a.getVertexBufferLayout(),"uv0")?"none":"Textured",h=b.shaderVariators.MaterialDepth.getProgram([m,
f.flipV,!!this.instanced,!!d,!!f.vvSizeEnabled]),p=g(f.transparent,f.writeStencil);n.singleTextureGLMaterialConstructor(this,c,f);this.beginSlot=function(a){return p===a};this.getProgram=function(){return h};this.updateParameters=function(){var b=a.getParams();f.initTexture=b.initTexture;f.cullFace=b.cullFace;f.inverseWindingOrder=b.inverseWindingOrder;f.flipV=b.flipV;v(f,b);this.updateTexture(b.textureId)};this.bind=function(a,b){var c=a.gl;a.bindProgram(h);h.setUniform2fv("nearFar",b.nearFar);f.inverseWindingOrder&&
a.setFrontFace(c.CW);t(h,f);this.bindTexture(a,h);w(a,f);a.setDepthTestEnabled(!0)};this.release=function(a){var b=a.gl;x(a,f);f.inverseWindingOrder&&a.setFrontFace(b.CCW)};this.bindView=function(a,b){n.bindView(b.origin,b.view,h)};this.bindInstance=function(a,b){h.setUniformMatrix4fv("model",b.transformation)};this.getDrawMode=function(a){return a.gl.TRIANGLES}},y=function(a,b,c){z.call(this,a,b,c,!0)},C=function(a,b,c){n.basicGLMaterialConstructor(this,a);var d=e.clone(a.getParams()),f=!s.hasAttribute(a.getVertexBufferLayout(),
"uv0")?"none":"Textured";this.instanced=r&&d.instanced;var m=b.shaderVariators.MaterialNormal.getProgram([f,d.flipV,!!this.instanced,!!d.vvSizeEnabled]),h=g(d.transparent,d.writeStencil);n.singleTextureGLMaterialConstructor(this,c,d);this.beginSlot=function(a){return h===a};this.getProgram=function(){return m};this.updateParameters=function(){var b=a.getParams();d.initTexture=b.initTexture;d.cullFace=b.cullFace;d.inverseWindingOrder=b.inverseWindingOrder;d.flipV=b.flipV;v(d,b);this.updateTexture(b.textureId)};
this.bind=function(a,b){var c=a.gl;a.bindProgram(m);this.bindTexture(a,m);m.setUniformMatrix4fv("viewNormal",b.viewInvTransp);t(m,d);w(a,d);d.inverseWindingOrder&&a.setFrontFace(c.CW);a.setDepthTestEnabled(!0)};this.release=function(a){var b=a.gl;x(a,d);d.inverseWindingOrder&&a.setFrontFace(b.CCW)};this.bindView=function(a,b){n.bindView(b.origin,b.view,m)};this.bindInstance=function(a,b){m.setUniformMatrix4fv("model",b.transformation);m.setUniformMatrix4fv("modelNormal",b.transformationNormal)};this.getDrawMode=
function(a){return a.gl.TRIANGLES}},A=function(a,b,c,d){n.basicGLMaterialConstructor(this,a);var g=e.clone(a.getParams());d=!s.hasAttribute(a.getVertexBufferLayout(),"uv0")?"none":"Textured";this.instanced=r&&g.instanced;var m=b.shaderVariators.MaterialHighlight.getProgram([d,g.flipV,!!this.instanced,!!g.vvSizeEnabled]),h=f.OPAQUE_MATERIAL;n.singleTextureGLMaterialConstructor(this,c,g);this.beginSlot=function(a){return h===a};this.getProgram=function(){return m};this.updateParameters=function(){var b=
a.getParams();g.initTexture=b.initTexture;g.cullFace=b.cullFace;g.inverseWindingOrder=b.inverseWindingOrder;g.flipV=b.flipV;v(g,b);this.updateTexture(b.textureId)};this.bind=function(a,b){var c=a.gl;a.bindProgram(m);this.bindTexture(a,m);t(m,g);w(a,g);g.inverseWindingOrder&&a.setFrontFace(c.CW);a.setDepthTestEnabled(!0)};this.release=function(a){var b=a.gl;x(a,g);g.inverseWindingOrder&&a.setFrontFace(b.CW)};this.bindView=function(a,b){n.bindView(b.origin,b.view,m)};this.bindInstance=function(a,b){m.setUniformMatrix4fv("model",
b.transformation);m.setUniformMatrix4fv("modelNormal",b.transformationNormal)};this.getDrawMode=function(a){return a.gl.TRIANGLES}};b.loadShaders=function(a,b,e,g){a._parse(k);r=g.extensions.angleInstancedArrays;g.extensions.shaderTextureLOD;g.extensions.standardDerivatives;var f=new d("phong",["vsPhong","fsPhong"],null,e,b,a,g);f.addNaryShaderSnippetSuffix([{value:"none",programNameSuffix:"",shaderSnippetSuffix:""},{value:"Textured"},{value:"AtlasTextured"}]);f.addBinaryShaderSnippetSuffix("Refl",
"Refl",[!1,!0]);f.addDefine("Color","VERTEXCOLORS");f.addDefine("FlipV","FLIPV");f.addDefine("DoubleSided","DOUBLESIDED");f.addDefine("Instanced","INSTANCED");f.addDefine("InstColor","INSTANCEDCOLOR");f.addDefine("ReceiveShadows","RECEIVE_SHADOWS");f.addDefine("ReceiveSSAO","RECEIVE_SSAO");f.addDefine("vvSize","VV_SIZE");f.addDefine("vvColor","VV_COLOR");e.shaderVariators.Material=f;f=new d("depth",["vsDepth","fsDepth"],null,e,b,a,g);f.addNaryShaderSnippetSuffix([{value:"none",programNameSuffix:"",
shaderSnippetSuffix:""},{value:"Textured"},{value:"AtlasTextured"}]);f.addDefine("FlipV","FLIPV");f.addDefine("Instanced","INSTANCED");f.addDefine("ShadowMap","BIAS_SHADOWMAP");f.addDefine("vvSize","VV_SIZE");e.shaderVariators.MaterialDepth=f;f=new d("normal",["vsNormal","fsNormal"],null,e,b,a,g);f.addNaryShaderSnippetSuffix([{value:"none",programNameSuffix:"",shaderSnippetSuffix:""},{value:"Textured"},{value:"AtlasTextured"}]);f.addDefine("FlipV","FLIPV");f.addDefine("Instanced","INSTANCED");f.addDefine("vvSize",
"VV_SIZE");e.shaderVariators.MaterialNormal=f;f=new d("highlight",["vsNormal","fsNormal"],null,e,b,a,g);f.addNaryShaderSnippetSuffix([{value:"none",programNameSuffix:"",shaderSnippetSuffix:""},{value:"Textured"},{value:"AtlasTextured"}]);f.addDefine("FlipV","FLIPV");f.addDefine("Instanced","INSTANCED");f.addDefine("vvSize","VV_SIZE");e.shaderVariators.MaterialHighlight=f;var f=new h(g,a.vsDepth,a.fsDepth,c.Default3D,["BIAS_SHADOWMAP 1"]),m=new h(g,a.vsDepthTextured,a.fsDepthTextured,c.Default3D,["BIAS_SHADOWMAP 1"]),
p=new h(g,a.vsDepth,a.fsDepth,c.Default3D),l=new h(g,a.vsDepthTextured,a.fsDepthTextured,c.Default3D),q=new h(g,a.vsNormal,a.fsNormal,c.Default3D),s=new h(g,a.vsNormalTextured,a.fsNormalTextured,c.Default3D),x=new h(g,a.vsHighlight,a.fsHighlight,c.Default3D);g=new h(g,a.vsHighlightTextured,a.fsHighlightTextured,c.Default3D);e.add("depthShadowMap",f);e.add("depthTexturedShadowMap",m);e.add("depth",p);e.add("depthTextured",l);e.add("normal",q);e.add("normalTextured",s);e.add("highlight",x);e.add("highlightTextured",
g);b.add("fsDepth",{source:a.fsDepth});b.add("fsDepthTextured",{source:a.fsDepthTextured});b.add("fsDepthShadowMap",{source:a.fsDepthShadowMap,defines:["BIAS_SHADOWMAP 1"]});b.add("fsDepthTexturedShadowMap",{source:a.fsDepthTextured,defines:["BIAS_SHADOWMAP 1"]});b.add("vsDepth",{source:a.vsDepth});b.add("fsNormal",{source:a.fsNormal})};return b})},"esri/views/3d/webgl-engine/materials/RibbonLineMaterial":function(){define("dojo/_base/lang dojo/text!./RibbonLineMaterial.xml ./internal/MaterialUtil ../lib/Util ../lib/gl-matrix ../lib/RenderSlot ../../../webgl/Program ../lib/DefaultVertexAttributeLocations ../lib/DefaultVertexBufferLayouts ../../../webgl/Util".split(" "),
function(e,k,n,h,d,b,l,f,c,a){var s=[255,255,255,255],t=[0,0,0,0],v=d.vec3d,u=d.vec2d,q=d.mat4d,r=v.create(),m=v.create(),w=v.create(),x=v.create(),g=u.create(),p=u.create(),z=v.create(),y=v.create();d=function(b,d){n.basicMaterialConstructor(this,d);var e=h.VertexAttrConstants;b=b||{};b.color=b.color||[1,1,1,1];b.width=b.width||0;b.type=b.type||"screen";b.join=b.join||"miter";b.miterLimit="miter"===b.join?b.miterLimit||5:b.miterLimit;var f="wall"===b.type?2:4,k=c.Pos3Tex;"wall"!==b.type&&(k=[{name:"position",
count:3,type:5126,offset:0,stride:64,normalized:!1},{name:"uv0",count:2,type:5126,offset:12,stride:64,normalized:!1},{name:"auxpos1",count:3,type:5126,offset:20,stride:64,normalized:!1},{name:"auxpos2",count:3,type:5126,offset:32,stride:64,normalized:!1},{name:"color",count:4,type:5126,offset:44,stride:64,normalized:!1},{name:"size",count:1,type:5126,offset:60,stride:64,normalized:!1}]);this.canBeMerged=!1;this.getParams=function(){return b};this.getParameterValues=function(){var a={color:b.color,
width:b.width,type:b.type,join:b.join,polygonOffset:b.polygonOffset};"miter"===b.join&&(a.miterLimit=b.miterLimit);return a};this.setParameterValues=function(a){for(var c in a)a.hasOwnProperty(c)&&(h.assert("type"!==c,"RibbonLineMaterial: type cannot be changed after creation"),b[c]=a[c]);this.notifyDirty("matChanged")};this.dispose=function(){};this.getOutputAmount=function(b){return((b/2+1-2)*f+4)*a.getStride(k)/4};this.getVertexBufferLayout=function(){return k};this.fillInterleaved=function(a,
c,d,g,f,m){d=a.vertexAttr[e.POSITION].data;g=a.vertexAttr[e.COLOR]?a.vertexAttr[e.COLOR].data:s;var h=a.vertexAttr[e.SIZE]?a.vertexAttr[e.SIZE].data:t;(a=a.faces&&a.faces.indices&&a.faces.indices.position)&&a.length!=2*(d.length/3-1)&&console.warn("RibbonLineMaterial does not support indices");if("wall"===b.type){g=m;h=d.length/3;m=0;a=d[0];for(var p=d[1],k=d[2],l,q,r,x=0;x<h;x++){var w=3*x;l=a;q=p;r=k;a=d[w];p=d[w+1];k=d[w+2];c&&(a=c[0]*a+c[4]*p+c[8]*k+c[12],p=c[1]*a+c[5]*p+c[9]*k+c[13],k=c[2]*a+
c[6]*p+c[10]*k+c[14]);m+=Math.sqrt((a-l)*(a-l)+(p-q)*(p-q)+(k-r)*(k-r));f[g++]=a;f[g++]=p;f[g++]=k;f[g++]=m;f[g++]=-1;f[g++]=a;f[g++]=p;f[g++]=k;f[g++]=m;f[g++]=1}}else{a=d.length/3;p=d[0];k=d[1];l=d[2];q=0;c&&(p=c[0]*p+c[4]*k+c[8]*l+c[12],k=c[1]*p+c[5]*k+c[9]*l+c[13],l=c[2]*p+c[6]*k+c[10]*l+c[14]);r=p;var x=k,w=l,n=d[3],u=d[4],v=d[5];c&&(n=c[0]*n+c[4]*u+c[8]*v+c[12],u=c[1]*n+c[5]*u+c[9]*v+c[13],v=c[2]*n+c[6]*u+c[10]*v+c[14]);for(var y=0;y<a;y++){var z=3*y;y<a-1&&(n=d[z+3],u=d[z+4],v=d[z+5],c&&(n=
c[0]*n+c[4]*u+c[8]*v+c[12],u=c[1]*n+c[5]*u+c[9]*v+c[13],v=c[2]*n+c[6]*u+c[10]*v+c[14]));q+=Math.sqrt((r-p)*(r-p)+(x-k)*(x-k)+(w-l)*(w-l));f[m++]=r;f[m++]=x;f[m++]=w;f[m++]=q;f[m++]=0===y?-1.2:-1;f[m++]=p;f[m++]=k;f[m++]=l;f[m++]=n;f[m++]=u;f[m++]=v;f[m++]=g[0];f[m++]=g[1];f[m++]=g[2];f[m++]=g[3];f[m++]=h[0];f[m++]=r;f[m++]=x;f[m++]=w;f[m++]=q;f[m++]=0===y?1.2:1;f[m++]=p;f[m++]=k;f[m++]=l;f[m++]=n;f[m++]=u;f[m++]=v;f[m++]=g[0];f[m++]=g[1];f[m++]=g[2];f[m++]=g[3];f[m++]=h[0];0<y&&y<a-1&&(f[m++]=r,f[m++]=
x,f[m++]=w,f[m++]=q,f[m++]=-1.2,f[m++]=p,f[m++]=k,f[m++]=l,f[m++]=n,f[m++]=u,f[m++]=v,f[m++]=g[0],f[m++]=g[1],f[m++]=g[2],f[m++]=g[3],f[m++]=h[0],f[m++]=r,f[m++]=x,f[m++]=w,f[m++]=q,f[m++]=1.2,f[m++]=p,f[m++]=k,f[m++]=l,f[m++]=n,f[m++]=u,f[m++]=v,f[m++]=g[0],f[m++]=g[1],f[m++]=g[2],f[m++]=g[3],f[m++]=h[0]);p=r;k=x;l=w;r=n;x=u;w=v}}};this.intersect=function(a,c,d,f,k,l,s){if(f.isSelection){c=a.getData().getVertexAttr(e.position).position.data;a=a.getData().getVertexAttr(e.SIZE).size;a=(a&&a.data[0])+
b.width;k=Number.MAX_VALUE;var n,u;l=f.camera;for(var t=f.point,C=0;C<c.length-5;C+=3){r[0]=c[C];r[1]=c[C+1];r[2]=c[C+2];q.multiplyVec3(d,r);m[0]=c[C+3];m[1]=c[C+4];m[2]=c[C+5];q.multiplyVec3(d,m);l.projectPoint(r,g);l.projectPoint(m,p);if(0>g[2]&&0<p[2])v.subtract(r,m,w),n=l.frustumPlanes,u=-(v.dot(n[4],r)+n[4][3]),n=u/v.dot(w,n[4]),v.scale(w,n,w),v.add(r,w,r),l.projectPoint(r,g);else if(0<g[2]&&0>p[2])v.subtract(m,r,w),n=l.frustumPlanes,u=-(v.dot(n[4],m)+n[4][3]),n=u/v.dot(w,n[4]),v.scale(w,n,w),
v.add(m,w,m),l.projectPoint(m,p);else if(0>g[2]&&0>p[2])continue;n=h.projectVectorVector2D(g,p,t);n<k&&(k=n,v.set(r,z),v.set(m,y))}d=f.p0;f=f.p1;k<a/2+4&&(c=h.linelineDistance3D(z,y,d,f),a=Number.MAX_VALUE,c[0]&&(v.subtract(c[2],d,x),a=0.98*v.length(x)/v.dist(d,f)),s(a,x))}};this.getGLMaterials=function(){return{color:C,depthShadowMap:void 0,normal:void 0,depth:void 0,highlight:void 0}};this.getAllTextureIds=function(){return[]}};var C=function(a,c){n.basicGLMaterialConstructor(this,a);var d=e.clone(a.getParams());
d.miterLimit="miter"===d.join?d.miterLimit:0;delete d.join;var g=c.get("ribbonLine_"+d.type);this.updateParameters=function(){var b=a.getParams();d.polygonOffset=b.polygonOffset;d.color=b.color;d.width=b.width;d.miterLimit="miter"===b.join?b.miterLimit:0};this.beginSlot=function(a){return a===b.TRANSPARENT_MATERIAL};this.getProgram=function(){return g};this.bind=function(a,b){a.bindProgram(g);g.setUniform4fv("eColor",d.color);g.setUniform1f("miterLimit",d.miterLimit);g.setUniform1f("nearPlane",b.nearFar[0]);
"screen"===d.type?(g.setUniform2fv("screenSize",[b.viewport[2],b.viewport[3]]),g.setUniform1f("extLineWidth",d.width*b.pixelRatio)):g.setUniform1f("extLineWidth",d.width);d.polygonOffset&&(a.setPolygonOffsetFillEnabled(!0),a.setPolygonOffset(0,-4));a.setBlendingEnabled(!0);a.setFaceCullingEnabled(!1);1>d.color[3]&&a.setDepthWriteEnabled(!1)};this.release=function(a){d.polygonOffset&&a.setPolygonOffsetFillEnabled(!1);a.setBlendingEnabled(!1);a.setDepthWriteEnabled(!0)};this.bindView=function(a,b){n.bindView(b.origin,
b.view,g)};this.bindInstance=function(a,b){g.setUniformMatrix4fv("model",b.transformation)};this.getDrawMode=function(a){return a.gl.TRIANGLE_STRIP}};d.loadShaders=function(a,b,c,d){a._parse(k);b=new l(d,a.vsRibbonLine,a.fsRibbonLine,f.Default3D,["SCREENSCALE"]);var e=new l(d,a.vsRibbonLine,a.fsRibbonLine,f.Default3D);a=new l(d,a.vsRibbonLine,a.fsRibbonLine,f.Default3D,["WALL"]);c.add("ribbonLine_screen",b);c.add("ribbonLine_strip",e);c.add("ribbonLine_wall",a)};return d})},"esri/views/3d/webgl-engine/materials/WaterMaterial":function(){define("dojo/text!./WaterMaterial.xml ./internal/MaterialUtil ../lib/RenderSlot ../../../webgl/Program ../lib/DefaultVertexAttributeLocations ../lib/DefaultVertexBufferLayouts ../../../webgl/Util".split(" "),
function(e,k,n,h,d,b,l){var f=function(a,d,e,f,h,q){k.basicMaterialConstructor(this,q);var r=b.Pos3;this.dispose=function(){};this.getNoiseTextureId=function(){return a};this.getReflTextureId=function(){return d};this.getColor=function(){return e};this.getScale=function(){return f};this.getSpeed=function(){return h};this.getOutputAmount=function(a){return a*l.getStride(r)/4};this.getVertexBufferLayout=function(){return r};this.fillInterleaved=function(a,b,c,d,e,f,h){k.fillInterleaved(a,b,c,d,r,e,
f,h)};this.intersect=k.intersectTriangleGeometry;this.getGLMaterials=function(){return{color:c,depthShadowMap:void 0,normal:void 0,depth:void 0,highlight:void 0}};this.getAllTextureIds=function(){return[a,d]}},c=function(a,b,c){k.basicGLMaterialConstructor(this,a);var d=n.TRANSPARENT_MATERIAL,e=b.get("water");b={noiseTextureId:a.getNoiseTextureId(),reflTextureId:a.getReflTextureId()};k.multiTextureGLMaterialConstructor(this,c,b,[["noiseTextureId",void 0,"noiseTex"],["reflTextureId",void 0,"reflTex"]]);
var f=a.getColor(),h=a.getScale(),m=a.getSpeed(),l=Date.now();this.beginSlot=function(a){return d===a};this.getProgram=function(){return e};this.bind=function(a,b){a.bindProgram(e);this.bindTextures(a,e);e.setUniform3fv("color",f);e.setUniform1f("scale",h);var c=(Date.now()-l)/1E5*m,c=c-Math.floor(c);e.setUniform1f("speed",c);b.shadowMap||e.setUniform1f("depthHalfPixelSz",-1)};this.release=function(a){};this.bindView=function(a,b){var c=b.origin;k.bindView(c,b.view,e);k.bindCamPos(c,b.viewInvTransp,
e);b.shadowMap&&b.shadowMap.bindView(e,c)};this.bindInstance=function(a,b){e.setUniformMatrix4fv("model",b.transformation)};this.getDrawMode=function(a){return a.gl.TRIANGLES}};f.loadShaders=function(a,b,c,f){a._parse(e);a=new h(f,a.vertexShaderWater,a.fragmentShaderWater,d.Default3D);c.add("water",a)};return f})},"esri/views/3d/webgl-engine/materials/internal/BlendLayers":function(){define(["dojo/text!./BlendLayers.xml","../../../../webgl/Program","../../lib/DefaultVertexAttributeLocations"],function(e,
k,n){return{loadShaders:function(h,d,b,l){h._parse(e);h=new k(l,h.vertexShaderBlendLayers,h.fragmentShaderBlendLayers,n.Default3D);b.add("blendLayers",h)}}})},"esri/views/3d/webgl-engine/lib/tracer":function(){define(["require","exports","./webgl-debug"],function(e,k,n){var h=null,d=[];k.enabled=!1;k.begin=function(){k.enabled&&(h=[])};k.trace=function(b){k.enabled&&null!=h&&h.push(b)};k.end=function(){if(k.enabled){var b=h;h=null;b&&(d.forEach(function(d){return d(b)}),d.length=0);return b}};k.instrumentContext=
function(b){return!k.enabled?b:n.makeDebugContext(b,void 0,function(b,d){k.enabled&&h&&h.push("gl."+b+"("+n.glFunctionArgsToString(b,d)+")")})};k.request=function(b){d.push(b)}})},"esri/views/3d/webgl-engine/lib/webgl-debug":function(){define([],function(){function e(b){if(null==c){c={};a={};for(var d in b)"number"==typeof b[d]&&(c[b[d]]=d,a[d]=b[d])}}function k(){if(null==c)throw"WebGLDebugUtils.init(ctx) not called";}function n(a){k();var b=c[a];return void 0!==b?"gl."+b:"/*UNKNOWN WebGL ENUM*/ 0x"+
a.toString(16)+""}function h(b,c,d,e){b=f[b];if(void 0!==b&&(b=b[c],void 0!==b&&b[d])){if("object"===typeof b[d]&&void 0!==b[d].enumBitwiseOr){c=b[d].enumBitwiseOr;d=0;b=[];for(var h=0;h<c.length;++h){var k=a[c[h]];0!==(e&k)&&(d|=k,b.push(n(k)))}return d===e?b.join(" | "):n(e)}return n(e)}return null===e?"null":void 0===e?"undefined":e.toString()}function d(a,b,c){a.__defineGetter__(c,function(){return b[c]});a.__defineSetter__(c,function(a){b[c]=a})}function b(a,c,f,k){function l(a,b){return function(){f&&
f(b,arguments);var d=a[b].apply(a,arguments),e=k.getError();0!=e&&(r[e]=!0,c(e,b,arguments));return d}}k=k||a;e(a);c=c||function(a,b,c){for(var d="",e=c.length,f=0;f<e;++f)d+=(0==f?"":", ")+h(b,e,f,c[f]);a="WebGL error "+n(a)+" in "+b+"("+d+")";window.console&&window.console.error?window.console.error(a):window.console&&window.console.log&&window.console.log(a)};var r={},m={},w;for(w in a)if("function"==typeof a[w])if("getExtension"!=w)m[w]=l(a,w);else{var x=l(a,w);m[w]=function(){var d=x.apply(a,
arguments);return b(d,c,f,k)}}else d(m,a,w);m.getError=function(){for(var b in r)if(r.hasOwnProperty(b)&&r[b])return r[b]=!1,b;return a.NO_ERROR};return m}function l(a){var b=a.getParameter(a.MAX_VERTEX_ATTRIBS),c=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,c);for(var d=0;d<b;++d)a.disableVertexAttribArray(d),a.vertexAttribPointer(d,4,a.FLOAT,!1,0,0),a.vertexAttrib1f(d,0);a.deleteBuffer(c);b=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS);for(d=0;d<b;++d)a.activeTexture(a.TEXTURE0+d),a.bindTexture(a.TEXTURE_CUBE_MAP,
null),a.bindTexture(a.TEXTURE_2D,null);a.activeTexture(a.TEXTURE0);a.useProgram(null);a.bindBuffer(a.ARRAY_BUFFER,null);a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,null);a.bindFramebuffer(a.FRAMEBUFFER,null);a.bindRenderbuffer(a.RENDERBUFFER,null);a.disable(a.BLEND);a.disable(a.CULL_FACE);a.disable(a.DEPTH_TEST);a.disable(a.DITHER);a.disable(a.SCISSOR_TEST);a.blendColor(0,0,0,0);a.blendEquation(a.FUNC_ADD);a.blendFunc(a.ONE,a.ZERO);a.clearColor(0,0,0,0);a.clearDepth(1);a.clearStencil(-1);a.colorMask(!0,!0,
!0,!0);a.cullFace(a.BACK);a.depthFunc(a.LESS);a.depthMask(!0);a.depthRange(0,1);a.frontFace(a.CCW);a.hint(a.GENERATE_MIPMAP_HINT,a.DONT_CARE);a.lineWidth(1);a.pixelStorei(a.PACK_ALIGNMENT,4);a.pixelStorei(a.UNPACK_ALIGNMENT,4);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1);a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);a.UNPACK_COLORSPACE_CONVERSION_WEBGL&&a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.BROWSER_DEFAULT_WEBGL);a.polygonOffset(0,0);a.sampleCoverage(1,!1);a.scissor(0,0,a.canvas.width,
a.canvas.height);a.stencilFunc(a.ALWAYS,0,4294967295);a.stencilMask(4294967295);a.stencilOp(a.KEEP,a.KEEP,a.KEEP);a.viewport(0,0,a.canvas.width,a.canvas.height);for(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT|a.STENCIL_BUFFER_BIT);a.getError(););}var f={enable:{1:{"0":!0}},disable:{1:{"0":!0}},getParameter:{1:{"0":!0}},drawArrays:{3:{"0":!0}},drawElements:{4:{"0":!0,2:!0}},createShader:{1:{"0":!0}},getShaderParameter:{2:{1:!0}},getProgramParameter:{2:{1:!0}},getShaderPrecisionFormat:{2:{"0":!0,
1:!0}},getVertexAttrib:{2:{1:!0}},vertexAttribPointer:{6:{2:!0}},bindTexture:{2:{"0":!0}},activeTexture:{1:{"0":!0}},getTexParameter:{2:{"0":!0,1:!0}},texParameterf:{3:{"0":!0,1:!0}},texParameteri:{3:{"0":!0,1:!0,2:!0}},texImage2D:{9:{"0":!0,2:!0,6:!0,7:!0},6:{"0":!0,2:!0,3:!0,4:!0}},texSubImage2D:{9:{"0":!0,6:!0,7:!0},7:{"0":!0,4:!0,5:!0}},copyTexImage2D:{8:{"0":!0,2:!0}},copyTexSubImage2D:{8:{"0":!0}},generateMipmap:{1:{"0":!0}},compressedTexImage2D:{7:{"0":!0,2:!0}},compressedTexSubImage2D:{8:{"0":!0,
6:!0}},bindBuffer:{2:{"0":!0}},bufferData:{3:{"0":!0,2:!0}},bufferSubData:{3:{"0":!0}},getBufferParameter:{2:{"0":!0,1:!0}},pixelStorei:{2:{"0":!0,1:!0}},readPixels:{7:{4:!0,5:!0}},bindRenderbuffer:{2:{"0":!0}},bindFramebuffer:{2:{"0":!0}},checkFramebufferStatus:{1:{"0":!0}},framebufferRenderbuffer:{4:{"0":!0,1:!0,2:!0}},framebufferTexture2D:{5:{"0":!0,1:!0,2:!0}},getFramebufferAttachmentParameter:{3:{"0":!0,1:!0,2:!0}},getRenderbufferParameter:{2:{"0":!0,1:!0}},renderbufferStorage:{4:{"0":!0,1:!0}},
clear:{1:{"0":{enumBitwiseOr:["COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","STENCIL_BUFFER_BIT"]}}},depthFunc:{1:{"0":!0}},blendFunc:{2:{"0":!0,1:!0}},blendFuncSeparate:{4:{"0":!0,1:!0,2:!0,3:!0}},blendEquation:{1:{"0":!0}},blendEquationSeparate:{2:{"0":!0,1:!0}},stencilFunc:{3:{"0":!0}},stencilFuncSeparate:{4:{"0":!0,1:!0}},stencilMaskSeparate:{2:{"0":!0}},stencilOp:{3:{"0":!0,1:!0,2:!0}},stencilOpSeparate:{4:{"0":!0,1:!0,2:!0,3:!0}},cullFace:{1:{"0":!0}},frontFace:{1:{"0":!0}},drawArraysInstancedANGLE:{4:{"0":!0}},
drawElementsInstancedANGLE:{5:{"0":!0,2:!0}},blendEquationEXT:{1:{"0":!0}}},c=null,a=null;return{init:e,mightBeEnum:function(a){k();return void 0!==c[a]},glEnumToString:n,glFunctionArgToString:h,glFunctionArgsToString:function(a,b){for(var c="",d=b.length,e=0;e<d;++e)c+=(0==e?"":", ")+h(a,d,e,b[e]);return c},makeDebugContext:b,makeLostContextSimulatingCanvas:function(a){function b(a){return"function"==typeof a?a:function(b){a.handleEvent(b)}}function c(){for(var a=Object.keys(G),b=0;b<a.length;++b)delete G[a]}
function e(){++B;y||A==B&&a.loseContext()}function f(a,b){var c=a[b];return function(){e();if(!y)return c.apply(a,arguments)}}function h(a){return{statusMessage:a,preventDefault:function(){K=!0}}}function m(a){for(var b in a)"function"==typeof a[b]?x[b]=f(a,b):d(x,a,b);x.getError=function(){e();if(!y)for(var a;a=k.getError();)G[a]=!0;for(a in G)if(G[a])return delete G[a],a;return x.NO_ERROR};var c="createBuffer createFramebuffer createProgram createRenderbuffer createShader createTexture".split(" ");
for(b=0;b<c.length;++b){var g=c[b];x[g]=function(b){return function(){e();if(y)return null;var c=b.apply(a,arguments);c.__webglDebugContextLostId__=n;C.push(c);return c}}(a[g])}c="getActiveAttrib getActiveUniform getBufferParameter getContextAttributes getAttachedShaders getFramebufferAttachmentParameter getParameter getProgramParameter getProgramInfoLog getRenderbufferParameter getShaderParameter getShaderInfoLog getShaderSource getTexParameter getUniform getUniformLocation getVertexAttrib".split(" ");
for(b=0;b<c.length;++b)g=c[b],x[g]=function(b){return function(){e();return y?null:b.apply(a,arguments)}}(x[g]);c="isBuffer isEnabled isFramebuffer isProgram isRenderbuffer isShader isTexture".split(" ");for(b=0;b<c.length;++b)g=c[b],x[g]=function(b){return function(){e();return y?!1:b.apply(a,arguments)}}(x[g]);x.checkFramebufferStatus=function(b){return function(){e();return y?x.FRAMEBUFFER_UNSUPPORTED:b.apply(a,arguments)}}(x.checkFramebufferStatus);x.getAttribLocation=function(b){return function(){e();
return y?-1:b.apply(a,arguments)}}(x.getAttribLocation);x.getVertexAttribOffset=function(b){return function(){e();return y?0:b.apply(a,arguments)}}(x.getVertexAttribOffset);x.isContextLost=function(){return y};return x}var k,x,g=[],p=[];x={};var n=1,y=!1,C=[],A=0,B=0,K=!1,F=0,G={};a.getContext=function(b){return function(){var c=b.apply(a,arguments);if(c instanceof WebGLRenderingContext){if(c!=k){if(k)throw"got different context";k=c;x=m(k)}return x}return c}}(a.getContext);(function(a){var c=a.addEventListener;
a.addEventListener=function(d,e,f){switch(d){case "webglcontextlost":g.push(b(e));break;case "webglcontextrestored":p.push(b(e));break;default:c.apply(a,arguments)}}})(a);a.loseContext=function(){if(!y){y=!0;A=0;for(++n;k.getError(););c();G[k.CONTEXT_LOST_WEBGL]=!0;var b=h("context lost"),d=g.slice();setTimeout(function(){for(var c=0;c<d.length;++c)d[c](b);0<=F&&setTimeout(function(){a.restoreContext()},F)},0)}};a.restoreContext=function(){y&&p.length&&setTimeout(function(){if(!K)throw"can not restore. webglcontestlost listener did not call event.preventDefault";
for(var a=0;a<C.length;++a){var b=C[a];b instanceof WebGLBuffer?k.deleteBuffer(b):b instanceof WebGLFramebuffer?k.deleteFramebuffer(b):b instanceof WebGLProgram?k.deleteProgram(b):b instanceof WebGLRenderbuffer?k.deleteRenderbuffer(b):b instanceof WebGLShader?k.deleteShader(b):b instanceof WebGLTexture&&k.deleteTexture(b)}l(k);y=!1;B=0;K=!1;for(var a=p.slice(),b=h("context restored"),c=0;c<a.length;++c)a[c](b)},0)};a.loseContextInNCalls=function(a){if(y)throw"You can not ask a lost contet to be lost";
A=B+a};a.getNumCalls=function(){return B};a.setRestoreTimeout=function(a){F=a};return a},resetToInitialState:l}})},"esri/views/webgl/RenderingContext":function(){define(["require","exports","./enums","./Extensions"],function(e,k,n,h){return function(){function d(b,d){this.gl=null;this._extensions=void 0;this._blendEnabled=!1;this._blendColorState={r:0,g:0,b:0,a:0};this._blendFunctionState={srcRGB:1,dstRGB:0,srcAlpha:1,dstAlpha:0};this._blendEquationState={mode:32774,modeAlpha:32774};this._colorMaskState=
{r:!0,g:!0,b:!0,a:!0};this._polygonCullingEnabled=!1;this._cullFace=1029;this._frontFace=2305;this._scissorTestEnabled=!1;this._scissorRect={x:0,y:0,width:0,height:0};this._depthTestEnabled=!1;this._depthFunction=513;this._clearDepth=1;this._depthWriteEnabled=!0;this._depthRange={zNear:0,zFar:1};this._viewport=null;this._polygonOffsetFillEnabled=this._stencilTestEnabled=!1;this._polygonOffset=[0,0];this._stencilFunction={face:1032,func:519,ref:0,mask:1};this._clearStencil=0;this._stencilWriteMask=
1;this._stencilOperation={face:1032,fail:7680,zFail:7680,zPass:7680};this._lineWidth=1;this._clearColor={r:0,g:0,b:0,a:0};this._activeFramebuffer=this._activeIndexBuffer=this._activeVertexBuffer=this._activeShaderProgram=null;this._activeTextureUnit=0;this._textureUnitMap={};this.gl=b;this._extensions=new h(b,d);var e=b.getParameter(b.VIEWPORT);this._viewport={x:e[0],y:e[1],width:e[2],height:e[3]};e=this.extensions.textureFilterAnisotropic;this._parameters={versionString:b.getParameter(b.VERSION),
maxVertexTextureImageUnits:b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxVertexAttributes:b.getParameter(b.MAX_VERTEX_ATTRIBS),maxMaxAnisotropy:e?b.getParameter(e.MAX_TEXTURE_MAX_ANISOTROPY_EXT):void 0,maxTextureImageUnits:b.getParameter(b.MAX_TEXTURE_IMAGE_UNITS)};this.enforceState()}Object.defineProperty(d.prototype,"extensions",{get:function(){return this._extensions},enumerable:!0,configurable:!0});Object.defineProperty(d.prototype,"contextAttributes",{get:function(){return this.gl.getContextAttributes()},
enumerable:!0,configurable:!0});Object.defineProperty(d.prototype,"parameters",{get:function(){return this._parameters},enumerable:!0,configurable:!0});d.prototype.setBlendingEnabled=function(b){this._blendEnabled!==b&&(!0===b?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this._blendEnabled=b)};d.prototype.setBlendColor=function(b,d,e,c){if(b!==this._blendColorState.r||d!==this._blendColorState.g||e!==this._blendColorState.b||c!==this._blendColorState.a)this.gl.blendColor(b,d,e,c),
this._blendColorState.r=b,this._blendColorState.g=d,this._blendColorState.b=e,this._blendColorState.a=c};d.prototype.setBlendFunction=function(b,d){if(b!==this._blendFunctionState.srcRGB||d!==this._blendFunctionState.dstRGB)this.gl.blendFunc(b,d),this._blendFunctionState.srcRGB=b,this._blendFunctionState.srcAlpha=b,this._blendFunctionState.dstRGB=d,this._blendFunctionState.dstAlpha=d};d.prototype.setBlendFunctionSeparate=function(b,d,e,c){if(this._blendFunctionState.srcRGB!==b||this._blendFunctionState.srcAlpha!==
e||this._blendFunctionState.dstRGB!==d||this._blendFunctionState.dstAlpha!==c)this.gl.blendFuncSeparate(b,d,e,c),this._blendFunctionState.srcRGB=b,this._blendFunctionState.srcAlpha=e,this._blendFunctionState.dstRGB=d,this._blendFunctionState.dstAlpha=c};d.prototype.setBlendEquation=function(b){this._blendEquationState.mode!==b&&(this.gl.blendEquation(b),this._blendEquationState.mode=b,this._blendEquationState.modeAlpha=b)};d.prototype.setBlendEquationSeparate=function(b,d){if(this._blendEquationState.mode!==
b||this._blendEquationState.modeAlpha!==d)this.gl.blendEquationSeparate(b,d),this._blendEquationState.mode=b,this._blendEquationState.modeAlpha=d};d.prototype.setColorMask=function(b,d,e,c){if(this._colorMaskState.r!==b||this._colorMaskState.g!==d||this._colorMaskState.b!==e||this._colorMaskState.a!==c)this.gl.colorMask(b,d,e,c),this._colorMaskState.r=b,this._colorMaskState.g=d,this._colorMaskState.b=e,this._colorMaskState.a=c};d.prototype.setClearColor=function(b,d,e,c){if(this._clearColor.r!==b||
this._clearColor.g!==d||this._clearColor.b!==e||this._clearColor.a!==c)this.gl.clearColor(b,d,e,c),this._clearColor.r=b,this._clearColor.g=d,this._clearColor.b=e,this._clearColor.a=c};d.prototype.setFaceCullingEnabled=function(b){this._polygonCullingEnabled!==b&&(!0===b?this.gl.enable(this.gl.CULL_FACE):this.gl.disable(this.gl.CULL_FACE),this._polygonCullingEnabled=b)};d.prototype.setPolygonOffsetFillEnabled=function(b){this._polygonOffsetFillEnabled!==b&&(!0===b?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):
this.gl.disable(this.gl.POLYGON_OFFSET_FILL),this._polygonOffsetFillEnabled=b)};d.prototype.setPolygonOffset=function(b,d){if(this._polygonOffset[0]!==b||this._polygonOffset[1]!==d)this._polygonOffset[0]=b,this._polygonOffset[1]=d,this.gl.polygonOffset(b,d)};d.prototype.setCullFace=function(b){this._cullFace!==b&&(this.gl.cullFace(b),this._cullFace=b)};d.prototype.setFrontFace=function(b){this._frontFace!==b&&(this.gl.frontFace(b),this._frontFace=b)};d.prototype.setScissorTestEnabled=function(b){this._scissorTestEnabled!==
b&&(!0===b?this.gl.enable(this.gl.SCISSOR_TEST):this.gl.disable(this.gl.SCISSOR_TEST),this._scissorTestEnabled=b)};d.prototype.setScissorRect=function(b,d,e,c){if(this._scissorRect.x!==b||this._scissorRect.y!==d||this._scissorRect.width!==e||this._scissorRect.height!==c)this.gl.scissor(b,d,e,c),this._scissorRect.x=b,this._scissorRect.y=d,this._scissorRect.width=e,this._scissorRect.height=c};d.prototype.setDepthTestEnabled=function(b){this._depthTestEnabled!==b&&(!0===b?this.gl.enable(this.gl.DEPTH_TEST):
this.gl.disable(this.gl.DEPTH_TEST),this._depthTestEnabled=b)};d.prototype.setClearDepth=function(b){this._clearDepth!==b&&(this.gl.clearDepth(b),this._clearDepth=b)};d.prototype.setDepthFunction=function(b){this._depthFunction!==b&&(this.gl.depthFunc(b),this._depthFunction=b)};d.prototype.setDepthWriteEnabled=function(b){this._depthWriteEnabled!==b&&(this.gl.depthMask(b),this._depthWriteEnabled=b)};d.prototype.setDepthRange=function(b,d){if(this._depthRange.zNear!==b||this._depthRange.zFar!==d)this.gl.depthRange(b,
d),this._depthRange.zNear=b,this._depthRange.zFar=d};d.prototype.setStencilTestEnabled=function(b){this._stencilTestEnabled!==b&&(!0===b?this.gl.enable(this.gl.STENCIL_TEST):this.gl.disable(this.gl.STENCIL_TEST),this._stencilTestEnabled=b)};d.prototype.setClearStencil=function(b){b!==this._clearStencil&&(this.gl.clearStencil(b),this._clearStencil=b)};d.prototype.setStencilFunction=function(b,d,e){if(this._stencilFunction.func!==b||this._stencilFunction.ref!==d||this._stencilFunction.mask!==e)this.gl.stencilFunc(b,
d,e),this._stencilFunction.face=1032,this._stencilFunction.func=b,this._stencilFunction.ref=d,this._stencilFunction.mask=e};d.prototype.setStencilFunctionSeparate=function(b,d,e,c){if(this._stencilFunction.face!==b||this._stencilFunction.func!==d||this._stencilFunction.ref!==e||this._stencilFunction.mask!==c)this.gl.stencilFuncSeparate(b,d,e,c),this._stencilFunction.face=b,this._stencilFunction.func=d,this._stencilFunction.ref=e,this._stencilFunction.mask=c};d.prototype.setStencilWriteMask=function(b){this._stencilWriteMask!==
b&&(this.gl.stencilMask(b),this._stencilWriteMask=b)};d.prototype.setStencilOp=function(b,d,e){if(this._stencilOperation.fail!==b||this._stencilOperation.zFail!==d||this._stencilOperation.zPass!==e)this.gl.stencilOp(b,d,e),this._stencilOperation.face=1032,this._stencilOperation.fail=b,this._stencilOperation.zFail=d,this._stencilOperation.zPass=e};d.prototype.setStencilOpSeparate=function(b,d,e,c){if(this._stencilOperation.face!==b||this._stencilOperation.fail!==d||this._stencilOperation.zFail!==e||
this._stencilOperation.zPass!==c)this.gl.stencilOpSeparate(b,d,e,c),this._stencilOperation.face=b,this._stencilOperation.face=b,this._stencilOperation.fail=d,this._stencilOperation.zFail=e,this._stencilOperation.zPass=c};d.prototype.setLineWidth=function(b){var d=this._lineWidth;this._lineWidth!==b&&(this.gl.lineWidth(b),this._lineWidth=b);return d};d.prototype.setActiveTexture=function(b){var d=this._activeTextureUnit;0<=b&&b!==this._activeTextureUnit&&(this.gl.activeTexture(n.BASE_TEXTURE_UNIT+
b),this._activeTextureUnit=b);return d};d.prototype.clear=function(b){b&&this.gl.clear(b)};d.prototype.drawArrays=function(b,d,e){this.gl.drawArrays(b,d,e)};d.prototype.drawElements=function(b,d,e,c){5123===e?this.gl.drawElements(b,d,e,c):5125===e&&this._extensions.elementIndexUint?this.gl.drawElements(b,d,e,c):console.warn("Data type is uint however extension OES_Element_index_unit is not supported therefore this draw call cannot be made")};d.prototype.drawArraysInstanced=function(b,d,e,c){this._extensions.angleInstancedArrays?
this._extensions.angleInstancedArrays.drawArraysInstancedANGLE(b,d,e,c):console.error("Extension ANGLE_instanced_arrays isn't supported!")};d.prototype.drawElementsInstanced=function(b,d,e,c,a){this._extensions.angleInstancedArrays?this._extensions.angleInstancedArrays.drawElementsInstancedANGLE(b,d,e,c,a):console.error("Extension ANGLE_instanced_arrays isn't supported!")};d.prototype.setViewport=function(b,d,e,c){var a=this._viewport;if(a.x!==b||a.y!==d||a.width!==e||a.height!==c)a.x=b,a.y=d,a.width=
e,a.height=c,this.gl.viewport(b,d,e,c)};d.prototype.getViewport=function(){return this._viewport};d.prototype.bindProgram=function(b){b?this._activeShaderProgram!==b&&(b.initialize(),this.gl.useProgram(b.glName),this._activeShaderProgram=b):(this.gl.useProgram(null),this._activeShaderProgram=null)};d.prototype.bindTexture=function(b,e){void 0===e&&(e=0);-1===d._MAX_TEXTURE_IMAGE_UNITS&&(d._MAX_TEXTURE_IMAGE_UNITS=this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS));(e>=d._MAX_TEXTURE_IMAGE_UNITS||
0>e)&&console.error("Input texture unit is out of range of available units!");var f=this._textureUnitMap[e];this.setActiveTexture(e);null==b?(null!=f&&this.gl.bindTexture(f.descriptor.target,null),this._textureUnitMap[e]=null):f&&f.id===b.id?b.applyChanges():(this.gl.bindTexture(b.descriptor.target,b.glName),b.applyChanges(),this._textureUnitMap[e]=b)};d.prototype.bindFramebuffer=function(b){b?this._activeFramebuffer!==b&&(b.initialize()||this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,b.glName),this._activeFramebuffer=
b):(this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),this._activeFramebuffer=null)};d.prototype.bindBuffer=function(b){b&&(34962===b.bufferType?this._activeVertexBuffer=d._bindBuffer(this.gl,b,b.bufferType,this._activeVertexBuffer):this._activeIndexBuffer=d._bindBuffer(this.gl,b,b.bufferType,this._activeIndexBuffer))};d.prototype.unbindBuffer=function(b){34962===b?this._activeVertexBuffer=d._bindBuffer(this.gl,null,b,this._activeVertexBuffer):this._activeIndexBuffer=d._bindBuffer(this.gl,null,b,
this._activeIndexBuffer)};d.prototype.bindVAO=function(b){b?this._activeVertexArrayObject&&this._activeVertexArrayObject.id===b.id||(b.bind(),this._activeVertexArrayObject=b):this._activeVertexArrayObject&&(this._activeVertexArrayObject.unbind(),this._activeVertexArrayObject=null)};d.prototype.getBoundTexture=function(b){return this._textureUnitMap[b]};d.prototype.getBoundFramebufferObject=function(){return this._activeFramebuffer};d.prototype.getBoundVAO=function(){return this._activeVertexArrayObject};
d.prototype.resetState=function(){this.bindProgram(null);this.bindVAO(null);this.bindFramebuffer(null);this.unbindBuffer(34962);this.unbindBuffer(34963);for(var b=0;b<this.parameters.maxTextureImageUnits;b++)this.bindTexture(null,b);this.setBlendingEnabled(!1);this.setBlendFunction(1,0);this.setBlendEquation(32774);this.setBlendColor(0,0,0,0);this.setFaceCullingEnabled(!1);this.setCullFace(1029);this.setFrontFace(2305);this.setPolygonOffsetFillEnabled(!1);this.setPolygonOffset(0,0);this.setScissorTestEnabled(!1);
this.setScissorRect(0,0,this.gl.canvas.width,this.gl.canvas.height);this.setDepthTestEnabled(!1);this.setDepthFunction(513);this.setDepthRange(0,1);this.setStencilTestEnabled(!1);this.setStencilFunction(519,0,0);this.setStencilOp(7680,7680,7680);this.setClearColor(0,0,0,0);this.setClearDepth(1);this.setClearStencil(0);this.setColorMask(!0,!0,!0,!0);this.setStencilWriteMask(4294967295);this.setDepthWriteEnabled(!0);this.setViewport(0,0,this.gl.canvas.width,this.gl.canvas.height)};d.prototype.enforceState=
function(){var b=this.gl,d=this._extensions.vao;d&&d.bindVertexArrayOES(null);for(var e=0;e<this.parameters.maxVertexAttributes;e++)b.disableVertexAttribArray(e);this._activeVertexBuffer?b.bindBuffer(this._activeVertexBuffer.bufferType,this._activeVertexBuffer.glName):b.bindBuffer(34962,null);this._activeIndexBuffer?b.bindBuffer(this._activeIndexBuffer.bufferType,this._activeIndexBuffer.glName):b.bindBuffer(34963,null);if(d&&this._activeVertexArrayObject){if(d=this._activeVertexArrayObject)this._activeVertexArrayObject.unbind(),
this._activeVertexArrayObject=null;this.bindVAO(d)}b.bindFramebuffer(b.FRAMEBUFFER,this._activeFramebuffer?this._activeFramebuffer.glName:null);b.useProgram(this._activeShaderProgram?this._activeShaderProgram.glName:null);b.blendColor(this._blendColorState.r,this._blendColorState.g,this._blendColorState.b,this._blendColorState.a);!0===this._blendEnabled?b.enable(this.gl.BLEND):b.disable(this.gl.BLEND);b.blendEquationSeparate(this._blendEquationState.mode,this._blendEquationState.modeAlpha);b.blendFuncSeparate(this._blendFunctionState.srcRGB,
this._blendFunctionState.dstRGB,this._blendFunctionState.srcAlpha,this._blendFunctionState.dstAlpha);b.clearColor(this._clearColor.r,this._clearColor.g,this._clearColor.b,this._clearColor.a);b.clearDepth(this._clearDepth);b.clearStencil(this._clearStencil);b.colorMask(this._colorMaskState.r,this._colorMaskState.g,this._colorMaskState.b,this._colorMaskState.a);b.cullFace(this._cullFace);b.depthFunc(this._depthFunction);b.depthRange(this._depthRange.zNear,this._depthRange.zFar);!0===this._depthTestEnabled?
b.enable(b.DEPTH_TEST):b.disable(b.DEPTH_TEST);b.depthMask(this._depthWriteEnabled);b.frontFace(this._frontFace);b.lineWidth(this._lineWidth);!0===this._polygonCullingEnabled?b.enable(b.CULL_FACE):b.disable(b.CULL_FACE);b.polygonOffset(this._polygonOffset[0],this._polygonOffset[1]);!0===this._polygonOffsetFillEnabled?b.enable(b.POLYGON_OFFSET_FILL):b.disable(b.POLYGON_OFFSET_FILL);b.scissor(this._scissorRect.x,this._scissorRect.y,this._scissorRect.width,this._scissorRect.height);!0===this._scissorTestEnabled?
b.enable(b.SCISSOR_TEST):b.disable(b.SCISSOR_TEST);b.stencilFunc(this._stencilFunction.func,this._stencilFunction.ref,this._stencilFunction.mask);b.stencilOpSeparate(this._stencilOperation.face,this._stencilOperation.fail,this._stencilOperation.zFail,this._stencilOperation.zPass);!0===this._stencilTestEnabled?b.enable(b.STENCIL_TEST):b.disable(b.STENCIL_TEST);b.stencilMask(this._stencilWriteMask);for(d=0;d<this.parameters.maxTextureImageUnits;d++)b.activeTexture(n.BASE_TEXTURE_UNIT+d),b.bindTexture(3553,
null),(e=this._textureUnitMap[d])&&b.bindTexture(e.descriptor.target,e.glName);b.activeTexture(n.BASE_TEXTURE_UNIT+this._activeTextureUnit);b.viewport(this._viewport.x,this._viewport.y,this._viewport.width,this._viewport.height)};d._bindBuffer=function(b,d,e,c){if(!d)return b.bindBuffer(e,null),null;if(c===d)return c;b.bindBuffer(e,d.glName);return d};d._MAX_TEXTURE_IMAGE_UNITS=-1;return d}()})},"esri/views/webgl/Extensions":function(){define(["require","exports"],function(e,k){return function(){function e(h,
d){this._compressedTextureS3TCInit=this._shaderTextureLODInit=this._textureFilterAnisotropicInit=this._depthTextureInit=this._elementIndexUintInit=this._standardDerivativesInit=this._angleInstancedArraysInit=this._vaoInit=!1;this._gl=h;if(d&&d.disabledExtensions){var b=d.disabledExtensions;b.vao&&(this._vao=null,this._vaoInit=!0);b.angleInstancedArrays&&(this._angleInstancedArrays=null,this._angleInstancedArraysInit=!0);b.standardDerivatives&&(this._standardDerivatives=null,this._standardDerivativesInit=
!0);b.elementIndexUint&&(this._elementIndexUint=null,this._elementIndexUintInit=!0);b.depthTexture&&(this._depthTexture=null,this._depthTextureInit=!0);b.textureFilterAnisotropic&&(this._textureFilterAnisotropic=null,this._textureFilterAnisotropicInit=!0);b.compressedTextureS3TC&&(this._compressedTextureS3TC=null,this._compressedTextureS3TCInit=!0);b.shaderTextureLOD&&(this._shaderTextureLOD=null,this._shaderTextureLODInit=!0)}}Object.defineProperty(e.prototype,"vao",{get:function(){this._vaoInit||
(this._vao=this._gl.getExtension("OES_vertex_array_object")||this._gl.getExtension("MOZ_OES_vertex_array_object")||this._gl.getExtension("WEBKIT_OES_vertex_array_object"),this._vaoInit=!0);return this._vao},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"angleInstancedArrays",{get:function(){this._angleInstancedArraysInit||(this._angleInstancedArrays=this._gl.getExtension("ANGLE_instanced_arrays"),this._angleInstancedArraysInit=!0);return this._angleInstancedArrays},enumerable:!0,
configurable:!0});Object.defineProperty(e.prototype,"standardDerivatives",{get:function(){this._standardDerivativesInit||(this._standardDerivatives=this._gl.getExtension("OES_standard_derivatives"),this._standardDerivativesInit=!0);return this._standardDerivatives},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"elementIndexUint",{get:function(){this._elementIndexUintInit||(this._elementIndexUint=this._gl.getExtension("OES_element_index_uint"),this._elementIndexUintInit=!0);return this._elementIndexUint},
enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"depthTexture",{get:function(){this._depthTextureInit||(this._depthTexture=this._gl.getExtension("WEBGL_depth_texture")||this._gl.getExtension("MOZ_WEBGL_depth_texture")||this._gl.getExtension("WEBKIT_WEBGL_depth_texture"),this._depthTextureInit=!0);return this._depthTexture},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"textureFilterAnisotropic",{get:function(){this._textureFilterAnisotropicInit||(this._textureFilterAnisotropic=
this._gl.getExtension("EXT_texture_filter_anisotropic")||this._gl.getExtension("MOZ_EXT_texture_filter_anisotropic")||this._gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this._textureFilterAnisotropicInit=!0);return this._textureFilterAnisotropic},enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"shaderTextureLOD",{get:function(){this._shaderTextureLODInit||(this._shaderTextureLOD=this._gl.getExtension("EXT_shader_texture_lod"),this._shaderTextureLODInit=!0);return this._shaderTextureLOD},
enumerable:!0,configurable:!0});Object.defineProperty(e.prototype,"compressedTextureS3TC",{get:function(){this._compressedTextureS3TCInit||(this._compressedTextureS3TC=this._gl.getExtension("WEBGL_compressed_texture_s3tc"),this._compressedTextureS3TCInit=!0);return this._compressedTextureS3TC},enumerable:!0,configurable:!0});return e}()})},"esri/views/3d/webgl-engine/lib/ProgramRepository":function(){define(["require","exports","./Util"],function(e,k,n){return function(){function e(){this._nextId=
0;this._programsByName={};this._namesById=[];this._programRefCount=[];this.shaderVariators={};this._commonUniforms={model:[],modelNormal:[],lightDirection:[],proj:[],shadowMapDistance:[],viewportPixelSz:[]}}e.prototype.dispose=function(){for(var d in this._programsByName)this._programsByName[d].dispose();this._programRefCount=this._namesById=this._programsByName=null};e.prototype.add=function(d,b){n.assert(null==this._programsByName[d]);this._programsByName[d]=b;this._namesById[b.id]=d};e.prototype.get=
function(d){return this._programsByName[d]};e.prototype.getProgramsUsingUniform=function(d){return this._commonUniforms[d]||[]};e.prototype.increaseRefCount=function(d){var b=d.id;this._programRefCount[b]?this._programRefCount[b]++:(this._programRefCount[b]=1,this._findCommonUniforms(d))};e.prototype.decreaseRefCount=function(d){var b=d.id;1<this._programRefCount[b]?this._programRefCount[b]--:(this._forgetCommonUniforms(d),this._programRefCount[b]=0)};e.prototype._getNextId=function(){return this._nextId++};
e.prototype._findCommonUniforms=function(d){for(var b in this._commonUniforms)d.hasUniform(b)&&(n.assert(-1===this._commonUniforms[b].indexOf(d),"common uniforms of program have already been determined"),this._commonUniforms[b].push(d))};e.prototype._forgetCommonUniforms=function(d){for(var b in this._commonUniforms){var e=this._commonUniforms[b],f=e.indexOf(d);-1<f&&(e[f]=e[e.length-1],e.pop())}};return e}()})},"esri/views/support/screenshotUtils":function(){define(["require","exports","dojo/_base/lang"],
function(e,k,n){k.adjustScreenshotSettings=function(e,d){e=n.mixin({format:"png",quality:100},e||{});var b,k;e.includePadding?(b=d.width,k=d.height):(b=d.width-d.padding.left-d.padding.right,k=d.height-d.padding.top-d.padding.bottom);var f=b/k;void 0!==e.width&&void 0===e.height?e.height=e.width/f:void 0!==e.height&&void 0===e.width&&(e.width=f*e.height);void 0!==e.height&&(e.height=Math.floor(e.height));void 0!==e.width&&(e.width=Math.floor(e.width));!e.area&&!e.includePadding&&(e.area={x:d.padding.left,
y:d.padding.top,width:b,height:k});return e};k.resampleHermite=function(e,d,b,k,f,c,a){void 0===a&&(a=!0);var n=d/f;b/=c;for(var t=Math.ceil(n/2),v=Math.ceil(b/2),u=0;u<c;u++)for(var q=0;q<f;q++){for(var r=4*(q+(a?c-u-1:u)*f),m=0,w=0,x=0,g=0,p=0,z=0,y=0,C=(u+0.5)*b,A=Math.floor(u*b);A<(u+1)*b;A++)for(var B=Math.abs(C-(A+0.5))/v,K=(q+0.5)*n,B=B*B,F=Math.floor(q*n);F<(q+1)*n;F++){var G=Math.abs(K-(F+0.5))/t,m=Math.sqrt(B+G*G);-1<=m&&1>=m&&(m=2*m*m*m-3*m*m+1,0<m&&(G=4*(F+A*d),y+=m*e[G+3],x+=m,255>e[G+
3]&&(m=m*e[G+3]/250),g+=m*e[G],p+=m*e[G+1],z+=m*e[G+2],w+=m))}k[r]=g/w;k[r+1]=p/w;k[r+2]=z/w;k[r+3]=y/x}}})},"esri/views/3d/webgl-engine/lib/Selector":function(){define(["require","exports","dojo/has","./PerformanceTimer","./gl-matrix"],function(e,k,n,h,d){var b=d.vec3d,l=d.mat4d,f=l.create(),c=b.create(),a=b.create(),s=0;e=function(){function d(a,c,e,f,k,x,g){void 0===g&&(g=!1);this.dir=b.create();this.normalDir=null;this.minResult=new t;this.maxResult=new t;this.invertedM=l.create();this.enableHUDSelection=
!0;this.enableInvisibleTerrain=!1;this.enableBackfacesTerrain=!0;this.performanceInfo={queryDuration:0,numObjectsTested:0};this.intersectObject=this.intersectObject.bind(this);s&&(this.timer=new h(1));this.init(a,c,e,f,k,x,g)}d.prototype.init=function(a,c,d,e,f,h,g){c&&d&&b.subtract(d,c,this.dir);this.minResult.init(c,d);this.maxResult.init(c,d);this.numObjectsTested=0;this.point=e;this.camera=f;this.isSelection=g;this.layers=a;this.p0=c;this.p1=d;this.hudResults=[];null==h&&(h=1E-5);this.tolerance=
h;if(this.layers){s&&this.timer.start();for(a=0;a<this.layers.length;++a)if(c=this.layers[a],d=c.getSpatialQueryAccelerator?c.getSpatialQueryAccelerator():void 0)d.forEachAlongRay(this.p0,this.dir,this.intersectObject);else{c=c.getObjects();d=0;for(e=c.length;d<e;++d)this.intersectObject(c[d])}s&&(this.timer.stop(),this.performanceInfo.queryDuration=this.timer.getLast(),this.performanceInfo.nu