gojs
Version:
Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams
117 lines • 911 kB
JavaScript
/*
* GoJS v1.7.11 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved.
* THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.11/doc/license.html.
*/
(function(window) { var f,aa={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c<b.length&&!window.requestAnimationFrame;++c)window.requestAnimationFrame=window[b[c]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[b[c]+"CancelAnimationFrame"]||window[b[c]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(b){var c=(new Date).getTime(),g=Math.max(8,16-(c-a)),h=window.setTimeout(function(){b(c+g)},g);a=c+g;return h});window.cancelAnimationFrame||(window.cancelAnimationFrame=
function(a){window.clearTimeout(a)})})();
var v={zj:!1,HA:!1,jF:!1,DI:!1,cM:!1,IF:!1,au:null,enableBoundsInfo:function(a){v.zj=!0;a&&a.Gq()},disableBoundsInfo:function(a){v.zj=!1;a&&(a.od.Be(!0),a.Gq())},gF:function(a,b){void 0===a&&(a=v.au);void 0===b&&(b=a.km("").qb);var c=b.length,d=a.od;d.fillStyle="rgba(255,255,0,.3)";for(var e=0;e<c;e++){var g=b.ea(e),h=g.$;if(g instanceof x)v.gF(a,g.ya);else{var k=g.Ki.copy();k.pB(g.Ic);d.save();d.transform(k.m11,k.m12,k.m21,k.m22,k.dx,k.dy);d.fillRect(h.x,h.y,h.width,h.height);d.restore()}}},hF:function(a,
b){a||(a=v.au);b||(b=a.km("").qb);var c=a.od,d=b.length;c.fillStyle="rgba(0,0,255,.3)";for(var e=0;e<d;e++){var g=b.ea(e),h=g.Ga,k=g.Ki;g instanceof x?v.hF(a,g.ya):(c.save(),c.transform(k.m11,k.m12,k.m21,k.m22,k.dx,k.dy),c.fillRect(h.x,h.y,h.width,h.height),c.restore())}},yI:function(a,b){a||(a=v.au);b||(b=a.km("").qb);var c=a.od,d=b.length;c.fillStyle="rgba(0,0,255,.3)";for(var e=0;e<d;e++){var g=b.ea(e),h=g.Fa,k=g.Ki;g instanceof x?v.yI(a,g.ya):(c.save(),c.transform(k.m11,k.m12,k.m21,k.m22,k.dx,
k.dy),c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},AL:function(){v.hF();v.gF()},BL:function(a){a||(a=v.au);var b=a.dd;a=a.od;a.strokeStyle="rgba(0,255,0,.9)";a.rect(b.x,b.y,b.width,b.height);a.stroke()},iF:function(a,b){b.fillStyle="red";b.fillRect(0,0,8,8);b.lineWidth=8;b.strokeStyle="rgba(255,255,0,.6)";var c=a.ub;b.rect(c.x,c.y,c.width,c.height);b.stroke();b.fillStyle="rgba(0,255,0,.2)";b.fillRect(a.dd.x,a.dd.y,a.dd.width,a.dd.height)},zI:function(a,b){b instanceof da||(a.lineWidth=
2,a.strokeStyle="rgba(255,0,0,.5)",a.rect(b.bc.x,b.bc.y,b.bc.width,b.bc.height),a.stroke(),b instanceof z&&(a.strokeStyle=b.stroke,a.lineWidth=b.jb),null!==b.Q&&b.Q.type===ea&&(a.lineWidth=1,a.strokeStyle="rgba(10,200,10,.6)",b instanceof z&&(a.strokeStyle=b.stroke,a.lineWidth=b.jb)))},AI:function(a,b){a.lineWidth=1;a.strokeStyle="rgba(0,0,255,.5)";a.rect(b.Ga.x,b.Ga.y,b.Ga.width,b.Ga.height);a.stroke();void 0!==b.stroke&&(a.strokeStyle=b.stroke);void 0!==b.Pg&&(a.lineWidth=b.Pg)},GA:function(a,b,
c){a.setTransform(1,0,0,1,0,0);a.scale(b.qd,b.qd);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.cc.length;for(var d=0;d<c;d++)for(var e=b.cc.ea(d),g=e.qb.length,h=0;h<g;h++){var k=e.qb.ea(h);if(void 0!==k.location&&null!==k.location){if(k.location.F()){var l=k.location.x,m=k.location.y;a.beginPath();a.strokeStyle="limegreen";a.lineWidth=2;a.moveTo(l,m+6);a.lineTo(l,m);a.lineTo(l+6,m);a.moveTo(l,m);a.lineTo(l+10,m+20);a.stroke()}l=k.position.x;m=k.position.y;a.beginPath();a.strokeStyle="red";
a.lineWidth=2;a.moveTo(l,m+6);a.lineTo(l,m);a.lineTo(l+6,m);a.moveTo(l,m);a.lineTo(l+20,m+10);a.stroke()}}a.setTransform(1,0,0,1,0,0)},CL:function(a,b,c){var d=a.length;b.fillStyle="rgba(255,0,0,.1)";for(var e=0;e<d;e++){var g,h=a[e];g=c.Ic;var k=h.x,l=h.y,m=k+h.width,n=l+h.height,p=g.m11,q=g.m12,r=g.m21,s=g.m22,u=g.dx,t=g.dy,y=k*p+l*r+u,h=k*q+l*s+t;g=m*p+l*r+u;var l=m*q+l*s+t,w=k*p+n*r+u,k=k*q+n*s+t,p=m*p+n*r+u,m=m*q+n*s+t,n=y,q=h,n=Math.min(n,g),y=Math.max(y,g),q=Math.min(q,l),h=Math.max(h,l),n=
Math.min(n,w),y=Math.max(y,w),q=Math.min(q,k),h=Math.max(h,k),n=Math.min(n,p),y=Math.max(y,p),q=Math.min(q,m),h=Math.max(h,m);g=new B(n,q,y-n,h-q);b.fillRect(g.x,g.y,g.width,g.height)}},BI:function(a,b,c,d,e){a.fillStyle="rgba(0,255,0,.2)";a.fillRect(b,c,d,e)},CI:function(a,b,c){a.save();var d=b.Ic;d.reset();1!==b.scale&&d.scale(b.scale);b=b.position;0===b.x&&0===b.y||d.translate(-b.x,-b.y);a.setTransform(d.m11,d.m12,d.m21,d.m22,d.dx,d.dy);c=c.bd.o;d=c.length;for(b=0;b<d;b++){var e=c[b];a.beginPath();
a.moveTo(e.x-4,e.y);a.lineTo(e.x+4,e.y);a.moveTo(e.x,e.y-4);a.lineTo(e.x,e.y+4);a.lineWidth=2;a.strokeStyle="rgba(255,0,0,.9)";a.stroke()}a.restore()},yL:function(a){a||(a=v.au);for(a=a.bo;a.next();)D.trace(a.value.toString())},qM:function(a,b){var c=b.fp(a),d=b.Tb;d.qe=b.XB(c);d.ha=c;return ga(b,d,a)},lM:function(a,b){b.Ge(a.ha)&&(b.od.fillStyle="lime",b.od.fillRect(a.qe.x,a.qe.y,1*b.scale,1*b.scale))},mM:function(a){var b=ha(a,!1,null,null);if(!b.tq){var c=a.ub,d=a.scale;a=a.od;for(var e=0;e<=b.yn;e++)for(var g=
0;g<=b.zn;g++){var h=b.nd[e][g];if(0!==h){var k=(e*b.ce+b.Wf-c.x)*d,l=(g*b.Md+b.Xf-c.y)*d;0!==h&&(a.fillStyle="rgba(255, 0, 0, .2)",a.fillRect(k,l,b.ce*d,b.Md*d));999999<=h||(h%=10,a.fillStyle="blue",a.fillText(h.toString(),k,l+b.Md))}}}},dumpReferences:function(a){if(a instanceof E)for(a=a.bo;a.next();){var b=a.value;D.trace(b.toString());for(b=b.Fi;b.next();)v.dumpReferences(b.value)}else if(a instanceof F){D.trace("References for "+a);null!==a.layer&&D.trace(" "+a.layer.toString()+' LayerName: "'+
a.Kf+'"');a.so!==a&&D.trace(" SelectionObject: "+a.so.toString()+' SelectionObjectName: "'+a.Ey+'"');a.vf!==a&&D.trace(" LocationObject: "+a.vf.toString()+' LocationObjectName: "'+a.ky+'"');if(a.mh){for(var b="",c=a.mh.j;c.next();)b+=c.key+" ";D.trace(" Adornments: "+b)}null!==a.Ra&&D.trace(" ContainingGroup: "+a.Ra.toString());if(a instanceof G){if(0<a.Hd.count){b="";for(c=a.Hd;c.next();)b+=c.value.toString()+", ";D.trace(" Links: "+b)}null!==a.Ac&&D.trace(" LabeledLink: "+a.Ac.toString());
if(a instanceof I){D.trace(" Placeholder: "+a.placeholder);b="";for(c=a.Nc;c.next();)b+=c.value.toString()+", ";D.trace(" Members: "+b);b="";for(c=a.en.j;c.next();)b+=c.value.toString()+", ";D.trace(" NestedGroups: "+b);D.trace(" Layout: "+a.Vb)}}else if(a instanceof J){D.trace(" Path: "+a.path);D.trace(" From: "+a.aa+" "+a.Lc+' "'+a.dg+'"');D.trace(" To: "+a.da+" "+a.kd+' "'+a.jh+'"');b="";for(a=a.Jf;a.next();)b+=a.value.toString()+", ";D.trace(" LabelNodes: "+b)}}},dumpVisualTree:function(a){if(a instanceof
E)for(a=a.bo;a.next();){var b=a.value;D.trace(b.toString());for(b=b.Fi;b.next();)v.dumpVisualTree(b.value)}else a instanceof F&&(b=" ",a.XE&&(b+="c"),a.aF&&(b+="d"),a.GF&&(b+="g"),a.jG&&(b+="m"),a.CG&&(b+="h"),a.DG&&(b+="z"),a.IG&&(b+="o"),a.bl&&(b+="s"),a.$G&&(b+="t"),a.PG&&(b+="A"),a.Wx&&(b+="B"),a.cB&&(b+="L"),a.hb&&(b+="S"),a.Xk&&(b+="H"),v.$C(a,1,b))},$C:function(a,b,c){for(var d="",e=0;e<b;e++)d+=" ";d+=a.toString();c&&(d+=c);c=a.name?' "'+a.name+'" ':" ";c=a.visible?c+"v":c+"!v";c=a.qg?c+
"p":c+"!p";a.Hf&&(c+="m");a.tu&&(c+="a");d+=c;if(0!==a.$b||0!==a.column)d+=" ["+a.$b+","+a.column+"]";d+=" "+a.$.toString();a.Ea.F()&&(d+=" d:"+a.Ea.toString());a.Ga.F()&&(d+=" n:"+a.Ga.toString());1!==a.scale&&(d+=" s:"+a.scale);0!==a.angle&&(d+=" a:"+a.angle);null!==a.background&&(d+=" b:"+a.background.toString());null!==a.$l&&(d+=" a:"+a.background.toString());a instanceof x&&(d+=" elts:"+a.ya.count,a.isEnabled||(d+=" !ENABLED"),a.wq&&(d+=" CLIPPING"),0!==a.fH&&(d+=" top:"+a.fH),0!==a.cG&&(d+=
" left:"+a.cG),null!==a.Yk&&(d+=" itemArray#:"+D.cb(a.Yk)),a.ZF&&(d+=" cat:"+a.ZF),null!==a.data&&(d+=" data:"+a.data));null!==a.ud&&(d+=' portId: "'+a.ud+'"');D.trace(d);if(a instanceof x)for(a=a.elements;a.next();)v.$C(a.value,b+1,"")},EL:function(a){D.trace("DelayedReferences ("+a.xg.count+")");for(a=a.xg.j;a.next();){for(var b="",c=a.value.j;c.next();)b+=ja(c.value)+", ";D.trace(" "+a.key+": "+b)}},OE:function(a,b){if(!D.Ta(b)||b instanceof Element||b instanceof CanvasRenderingContext2D||b instanceof
ka||b instanceof la)return"";var c="",d;for(d in b)if("string"!==typeof d)""===c&&(c=b+"\n"),c+=" "+d+" is not a string property\n";else if("_"!==d.charAt(0)&&!(2>=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Fw&&g.Fw[d])continue}else if(D.Rx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},ux:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Sw.contains(b))if(v.Sw.add(b),v.tw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.ux(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Fw){if(b instanceof na){if(d===b.gi)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ll)continue}else if(!(b instanceof
E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.az)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.cz)continue;if("archetypeLabelNodeData"===c||d===b.bz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.ql)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.xg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.ux(a+"."+
c,d)}}}else if(Array.isArray(b))for(c=0;c<b.length;c++)v.ux(a+"["+c+"]",b[c]);else v.tw.add(v.OE(a,b))},checkProperties:function(a){void 0===v.Sw?v.Sw=new L(Object):v.Sw.clear();v.tw=new ya;v.ux("",a);a=v.tw.toString();v.tw=null;return a}};aa.Debug=v;
var D={wd:1,Zc:2,md:4,ld:8,Yn:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("534.30")&&0<window.navigator.userAgent.indexOf("Android"),jJ:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 9.0"),RF:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 10.0"),SF:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Trident/7"),LL:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Edge/"),Wk:void 0!==window.navigator&&void 0!==
window.navigator.platform&&0<=window.navigator.platform.toUpperCase().indexOf("MAC"),TF:void 0!==window.navigator&&void 0!==window.navigator.platform&&null!==window.navigator.platform.match(/(iPhone|iPod|iPad)/i),YE:function(a,b,c){var d=-1;return function(){var e=this,g=arguments;-1!==d&&D.clearTimeout(d);d=D.setTimeout(function(){d=-1;c||a.apply(e,g)},b);c&&!d&&a.apply(e,g)}},setTimeout:function(a,b){return window.setTimeout(a,b)},clearTimeout:function(a){window.clearTimeout(a)},createElement:function(a){return window.document.createElement(a)},
k:function(a){throw Error(a);},pa:function(a,b){var c="The object is frozen, so its properties cannot be set: "+a.toString();void 0!==b&&(c+=" to value: "+b);D.k(c)},l:function(a,b,c,d){a instanceof b||(c=D.getTypeName(c),void 0!==d&&(c+="."+d),D.hc(a,b,c))},h:function(a,b,c,d){typeof a!==b&&(c=D.getTypeName(c),void 0!==d&&(c+="."+d),D.hc(a,b,c))},p:function(a,b,c){"number"===typeof a&&isFinite(a)||(b=D.getTypeName(b),void 0!==c&&(b+="."+c),D.k(b+" must be a real number type, and not NaN or Infinity: "+
a))},Da:function(a,b,c,d){a instanceof za&&a.Ne===b||(c=D.getTypeName(c),void 0!==d&&(c+="."+d),D.hc(a,"a constant of class "+D.rf(b),c))},Xt:function(a,b){"string"===typeof a?Aa(a)||D.k('Color "'+a+'" is not a valid color string for '+b):a instanceof Ba||D.k("Value for "+b+" must be a color string or a Brush, not "+a)},hc:function(a,b,c,d){b=D.getTypeName(b);c=D.getTypeName(c);void 0!==d&&(c+="."+d);"string"===typeof a?D.k(c+" value is not an instance of "+b+': "'+a+'"'):D.k(c+" value is not an instance of "+
b+": "+a)},ua:function(a,b,c,d){c=D.getTypeName(c);void 0!==d&&(c+="."+d);D.k(c+" is not in the range "+b+": "+a)},vd:function(a){D.k(D.rf(a)+" constructor cannot take any arguments.")},Va:function(a){D.k("Collection was modified during iteration: "+a.toString()+"\n Perhaps you should iterate over a copy of the collection,\n or you could collect items to be removed from the collection after the iteration.")},Xj:function(a,b){D.k("No property to set for this enum value: "+b+" on "+a.toString())},
trace:function(a){window.console&&window.console.log(a)},Dx:{},Pn:function(a,b){!0!==D.Dx[a]&&(D.Dx[a]=!0,window.console&&window.console.log(a+" is deprecated in "+b+", see the GoJS change log for more information."))},Ta:function(a){return"object"===typeof a&&null!==a},isArray:function(a){return Array.isArray(a)||a instanceof NodeList||a instanceof HTMLCollection},kJ:function(a){return Array.isArray(a)},Wt:function(a,b,c){D.isArray(a)||D.hc(a,"Array or NodeList or HTMLCollection",b,c)},cb:function(a){return a.length},
dm:function(a){return Array.prototype.slice.call(a)},La:function(a,b){Array.isArray(a);return a[b]},ME:function(a,b,c){Array.isArray(a)?a[b]=c:D.k("Cannot replace an object in an HTMLCollection or NodeList at "+b)},am:function(a,b){if(Array.isArray(a))return a.indexOf(b);for(var c=a.length,d=0;d<c;d++)if(a[d]===b)return d;return-1},Ih:function(a,b,c){Array.isArray(a)?b>=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Ug:function(a,
b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ty:[],O:function(){var a=D.Ty.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Ty.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Ty.push(a)},lC:[],Cm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Rk:function(a){D.lC.push(a)},Uy:[],Of:function(){var a=D.Uy.pop();return void 0===a?new B:a},sg:function(a,b,c,d){var e=D.Uy.pop();
if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Uy.push(a)},mC:[],Pf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Vy:null,v:function(){var a=D.Vy;return null!==a?(D.Vy=null,a):new Ea},u:function(a){a.reset();D.Vy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Gm:1,uc:function(a){a.__gohashid=D.Gm++},qq:function(a){var b=a.__gohashid;
void 0===b&&(b=D.Gm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ja:function(a,b){b.hz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.EH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.h(d,"function","Util.defineProperty:setter");for(var g in b){b=b[g];c={get:c,set:d,
enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,g,c);e=Object.getOwnPropertyDescriptor(a.prototype,g);b&&e&&Object.defineProperty(a.prototype,b,e);break}},GK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.k('The property "'+g+'" is read-only and cannot be set to '+
a)},enumerable:!0};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Fw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.rf(a):null===a?"*":""},rf:function(a){if("function"===typeof a){if(a.hz)return a.hz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
c).trim();if(""!==b)return a.hz=b}else if("object"===typeof a&&a.constructor)return D.rf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=d);d.add(b,c);return c},vb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?
(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){v&&D.trace("property get error: "+d.toString())}return c},Ua:function(a,b,c){if(a&&b)try{"function"===typeof b?b(a,c):"function"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){v&&D.trace("property set error: "+d.toString())}},Zu:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
e&&D.k("Setting properties requires non-empty property names");var g=a,h=e;if(c||d){var k=e.indexOf(".");if(0<k){var l=e.substring(0,k);if(c)g=a.Fd(l);else if(g=a[l],void 0===g||null===g)g=a.kb[l];D.Ta(g)?h=e.substr(k+1):D.k("Unable to find object named: "+l+" in "+a.toString()+" when trying to set property: "+e)}}if("_"!==h[0]&&!D.Rx(g,h))if(d&&"ModelChanged"===h){a.QH(b[h]);continue}else if(d&&"Changed"===h){a.An(b[h]);continue}else if(d&&D.Rx(a.kb,h))g=a.kb;else if(d&&Ga(a,h)){a.pA(h,b[h]);continue}else if(a instanceof
M&&"Changed"===h){a.An(b[h]);continue}else D.k('Trying to set undefined property "'+h+'" on object: '+g.toString());g[h]=b[e];"_"===h[0]&&g instanceof P&&g.NH(h)}},Rx:function(a,b){if(a.hasOwnProperty(b))return!0;for(var c=Object.getPrototypeOf(a);c&&c!==Function;){if(c.hasOwnProperty(b))return!0;var d=c.Fw;if(d&&d[b])return!0;c=Object.getPrototypeOf(c)}return!1},WJ:function(a){for(var b=[],c=0;256>c;c++)b[c]=c;for(var d=0,e=0,c=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,
g="",h=0;h<a.length;h++)c=(c+1)%256,d=(d+b[c])%256,e=b[c],b[c]=b[d],b[d]=e,g+=String.fromCharCode(a.charCodeAt(h)^b[(b[c]+b[d])%256]);return g},YI:function(a){for(var b={},c=0;256>c;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;c<a.length;c+=2)d[e++]=b[a.substr(c,2)];a=d.join("");return""===a?"0":a},Vg:function(a){return D.WJ(D.YI(a))},Em:null,adym:"7da71ca0ad381e90",vfo:"2be641fdb267",cI:"@COLOR1",dI:"@COLOR2",
ZE:!1,Zt:null,$t:null};
D.Em=function(){var a=window.document.createElement("canvas"),b=a.getContext("2d");b[D.Vg("7ca11abfd022028846")]=D.Vg("398c3597c01238");for(var c=["5da73c80a36755d3038e4972187c3cae51fd22","32ab5ff3b26f42dc0ed90f22432913b54ae6247590da4bb21c324ba3a84e385776","54a702f3e53909c447824c6706603faf4cfb236cdfda5de14c134ba1a95a2d4c7cc6f93c1387","74bf19bce72555874c86"],d=1;5>d;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-1]),10,15*d+0);b[D.Vg("7ca11abfd022028846")]=D.Vg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-
1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Xb=b;this.IH=c}D.ja("EnumValue",za);za.prototype.toString=function(){return D.rf(this.vC)+"."+this.Xb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Xb});D.w(za,{value:"value"},function(){return this.IH});
var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.lv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
function Ia(a){void 0===a&&(a=42);this.seed=a;this.Py=48271;this.kv=2147483647;this.jC=this.kv/this.Py;this.qH=this.kv%this.Py;this.pH=1/this.kv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Py-this.seed/this.jC*this.qH;this.seed=0<a?a:a+this.kv;return this.seed*this.pH};function Ja(){}D.w(Ja,{j:"iterator"},function(){return this});Ja.prototype.reset=Ja.prototype.reset=function(){};Ja.prototype.next=Ja.prototype.next=function(){return!1};Ja.prototype.hasNext=function(){return!1};
Ja.prototype.first=Ja.prototype.first=function(){return null};Ja.prototype.any=function(){return!1};Ja.prototype.all=function(){return!0};Ja.prototype.each=function(){return this};Ja.prototype.map=function(){return this};Ja.prototype.filter=function(){return this};Ja.prototype.concat=function(a){return a.j};D.w(Ja,{count:"count"},function(){return 0});Ja.prototype.Rf=function(){};Ja.prototype.toString=function(){return"EmptyIterator"};var Ka=new Ja;function La(a){this.key=-1;this.value=a}
D.ke(La,{key:!0,value:!0});D.w(La,{j:"iterator"},function(){return this});La.prototype.reset=La.prototype.reset=function(){this.key=-1};La.prototype.next=La.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};La.prototype.hasNext=function(){return this.next()};La.prototype.first=La.prototype.first=function(){this.key=0;return this.value};La.prototype.any=function(a){this.key=-1;return a(this.value)};La.prototype.all=function(a){this.key=-1;return a(this.value)};
La.prototype.each=function(a){this.key=-1;a(this.value);return this};La.prototype.map=function(a){return new La(a(this.value))};La.prototype.filter=function(a){return a(this.value)?new La(this.value):Ka};La.prototype.concat=function(a){return new Ma(this,a.j)};D.w(La,{count:"count"},function(){return 1});La.prototype.Rf=function(){this.value=null};La.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Ma(a,b){this.Dl=a;this.El=b;this.mv=!1}D.ke(Ma,{key:!0,value:!0});
D.w(Ma,{j:"iterator"},function(){return this});Ma.prototype.reset=Ma.prototype.reset=function(){this.Dl.reset();this.El.reset();this.mv=!1};Ma.prototype.next=Ma.prototype.next=function(){if(!this.mv){var a=this.Dl;if(a.next())return this.key=a.key,this.value=a.value,!0;this.mv=!0}return this.mv&&(a=this.El,a.next())?(this.key=a.key,this.value=a.value,!0):!1};Ma.prototype.hasNext=function(){return this.next()};
Ma.prototype.first=Ma.prototype.first=function(){this.reset();return this.next()?this.value:null};Ma.prototype.any=function(a){return this.Dl.any(a)||this.El.any(a)?!0:!1};Ma.prototype.all=function(a){return this.Dl.all(a)&&this.El.all(a)?!0:!1};Ma.prototype.each=function(a){this.Dl.each(a);this.El.each(a);return this};Ma.prototype.map=function(a){return new Ma(this.Dl.map(a),this.El.map(a))};Ma.prototype.filter=function(a){return new Ma(this.Dl.filter(a),this.El.filter(a))};
Ma.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Ma,{count:"count"},function(){return this.Dl.count+this.El.count});Ma.prototype.Rf=function(){this.value=this.key=null};Ma.prototype.toString=function(){return"ConcatIterator()"};function Na(a){this.Ec=a;this.mi=null;a.Wb=null;this.$a=a.G;this.Dc=-1}D.ke(Na,{key:!0,value:!0});D.w(Na,{j:"iterator"},function(){return this});D.defineProperty(Na,{Eq:"predicate"},function(){return this.mi},function(a){this.mi=a});
Na.prototype.reset=Na.prototype.reset=function(){var a=this.Ec;a.Wb=null;this.$a=a.G;this.Dc=-1};Na.prototype.next=Na.prototype.next=function(){var a=this.Ec;if(a.G!==this.$a){if(0>this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;c<b;){var e=a[c];if(d(e))return this.key=this.Dc=c,this.value=e,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.Rf()}return!1};Na.prototype.hasNext=function(){return this.next()};
Na.prototype.first=Na.prototype.first=function(){var a=this.Ec;this.$a=a.G;this.Dc=0;var a=a.o,b=a.length,c=this.mi;if(null!==c){for(var d=0;d<b;){var e=a[d];if(c(e))return this.key=this.Dc=d,this.value=e;d++}return null}return 0<b?(e=a[0],this.key=0,this.value=e):null};Na.prototype.any=function(a){var b=this.Ec;b.Wb=null;var c=b.G;this.Dc=-1;for(var d=b.o,e=d.length,g=this.mi,h=0;h<e;h++){var k=d[h];if(null===g||g(k)){if(a(k))return!0;b.G!==c&&D.Va(b)}}return!1};
Na.prototype.all=function(a){var b=this.Ec;b.Wb=null;var c=b.G;this.Dc=-1;for(var d=b.o,e=d.length,g=this.mi,h=0;h<e;h++){var k=d[h];if(null===g||g(k)){if(!a(k))return!1;b.G!==c&&D.Va(b)}}return!0};Na.prototype.each=function(a){var b=this.Ec;b.Wb=null;var c=b.G;this.Dc=-1;for(var d=b.o,e=d.length,g=this.mi,h=0;h<e;h++){var k=d[h];if(null===g||g(k))a(k),b.G!==c&&D.Va(b)}return this};
Na.prototype.map=function(a){var b=this.Ec;b.Wb=null;var c=b.G;this.Dc=-1;for(var d=[],e=b.o,g=e.length,h=this.mi,k=0;k<g;k++){var l=e[k];if(null===h||h(l))d.push(a(l)),b.G!==c&&D.Va(b)}a=new K;a.o=d;a.Rc();return a.j};Na.prototype.filter=function(a){var b=this.Ec;b.Wb=null;var c=b.G;this.Dc=-1;for(var d=[],e=b.o,g=e.length,h=this.mi,k=0;k<g;k++){var l=e[k];if(null===h||h(l))a(l)&&d.push(l),b.G!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};
Na.prototype.concat=function(a){this.Ec.Wb=null;return new Ma(this,a.j)};D.w(Na,{count:"count"},function(){var a=this.mi;if(null!==a){for(var b=0,c=this.Ec.o,d=c.length,e=0;e<d;e++)a(c[e])&&b++;return b}return this.Ec.o.length});Na.prototype.Rf=function(){this.key=-1;this.value=null;this.$a=-1;this.mi=null;this.Ec.Wb=this};Na.prototype.toString=function(){return"ListIterator@"+this.Dc+"/"+this.Ec.count};function Pa(a){this.Ec=a;a.cj=null;this.$a=a.G;this.Dc=a.o.length}D.ke(Pa,{key:!0,value:!0});
D.w(Pa,{j:"iterator"},function(){return this});Pa.prototype.reset=Pa.prototype.reset=function(){var a=this.Ec;a.cj=null;this.$a=a.G;this.Dc=a.o.length};Pa.prototype.next=Pa.prototype.next=function(){var a=this.Ec;if(a.G!==this.$a){if(0>this.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Pa.prototype.hasNext=function(){return this.next()};
Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.G;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.G!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.G!==c&&D.Va(b)}return!0};
Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.G!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.G!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.G!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Rf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
Pa.prototype.toString=function(){return"ListIteratorBackwards("+this.Dc+"/"+this.Ec.count+")"};
function K(a){D.uc(this);this.J=!1;this.o=[];this.G=0;this.cj=this.Wb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
"List constructor: type")}D.ja("List",K);K.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};K.prototype.Rc=function(){var a=this.G;a++;999999999<a&&(a=0);this.G=a};K.prototype.freeze=K.prototype.freeze=function(){this.J=!0;return this};K.prototype.thaw=K.prototype.Ya=function(){this.J=!1;return this};K.prototype.toString=function(){return"List("+D.getTypeName(this.ca)+")#"+D.Gd(this)};
K.prototype.add=K.prototype.add=function(a){null!==a&&(v&&this.oh(a),this.J&&D.pa(this,a),this.o.push(a),this.Rc())};K.prototype.push=K.prototype.push=function(a){this.add(a)};K.prototype.addAll=K.prototype.Sc=function(a){if(null===a)return this;this.J&&D.pa(this);var b=this.o;if(D.isArray(a))for(var c=D.cb(a),d=0;d<c;d++){var e=D.La(a,d);v&&this.oh(e);b.push(e)}else for(a=a.j;a.next();)e=a.value,v&&this.oh(e),b.push(e);this.Rc();return this};
K.prototype.clear=K.prototype.clear=function(){this.J&&D.pa(this);this.o.length=0;this.Rc()};K.prototype.contains=K.prototype.contains=function(a){if(null===a)return!1;v&&this.oh(a);return-1!==this.o.indexOf(a)};K.prototype.has=K.prototype.has=function(a){return this.contains(a)};K.prototype.indexOf=K.prototype.indexOf=function(a){if(null===a)return-1;v&&this.oh(a);return this.o.indexOf(a)};
K.prototype.elt=K.prototype.ea=function(a){v&&D.p(a,K,"elt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.rg=function(a,b){v&&(this.oh(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.rg(a,b)};
K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0<b?a[b-1]:null};K.prototype.pop=K.prototype.pop=function(){this.J&&D.pa(this);var a=this.o;return 0<a.length?a.pop():null};K.prototype.any=function(a){for(var b=this.o,c=this.G,d=b.length,e=0;e<d;e++){if(a(b[e]))return!0;this.G!==c&&D.Va(this)}return!1};
K.prototype.all=function(a){for(var b=this.o,c=this.G,d=b.length,e=0;e<d;e++){if(!a(b[e]))return!1;this.G!==c&&D.Va(this)}return!0};K.prototype.each=function(a){for(var b=this.o,c=this.G,d=b.length,e=0;e<d;e++)a(b[e]),this.G!==c&&D.Va(this);return this};K.prototype.map=function(a){for(var b=new K,c=[],d=this.o,e=this.G,g=d.length,h=0;h<g;h++)c.push(a(d[h])),this.G!==e&&D.Va(this);b.o=c;b.Rc();return b};
K.prototype.filter=function(a){for(var b=new K(this.ca),c=[],d=this.o,e=this.G,g=d.length,h=0;h<g;h++){var k=d[h];a(k)&&c.push(k);this.G!==e&&D.Va(this)}b.o=c;b.Rc();return b};K.prototype.concat=function(a){return this.copy().Sc(a)};K.prototype.insertAt=K.prototype.Xd=function(a,b){v&&(this.oh(b),D.p(a,K,"insertAt:i"));0>a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
K.prototype.removeRange=K.prototype.removeRange=function(a,b){v&&(D.p(a,K,"removeRange:from"),D.p(b,K,"removeRange:to"));var c=this.o,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.J&&D.pa(this);for(var e=a,g=b+1;g<d;)c[e++]=c[g++];c.length=d-(b-a+1);this.Rc();return this};K.prototype.copy=function(){var a=new K(this.ca),b=this.o;0<b.length&&(a.o=Array.prototype.slice.call(b));return a};
K.prototype.toArray=K.prototype.mc=function(){for(var a=this.o,b=this.count,c=Array(b),d=0;d<b;d++)c[d]=a[d];return c};K.prototype.toSet=K.prototype.eH=function(){for(var a=new L(this.ca),b=this.o,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};K.prototype.sort=K.prototype.sort=function(a){v&&D.h(a,"function",K,"sort:sortfunc");this.J&&D.pa(this);this.o.sort(a);this.Rc();return this};
K.prototype.sortRange=K.prototype.Tq=function(a,b,c){var d=this.o,e=d.length;void 0===b&&(b=0);void 0===c&&(c=e);v&&(D.h(a,"function",K,"sortRange:sortfunc"),D.p(b,K,"sortRange:from"),D.p(c,K,"sortRange:to"));this.J&&D.pa(this);var g=c-b;if(1>=g)return this;(0>b||b>=e-1)&&D.ua(b,"0 <= from < length",K,"sortRange:from");if(2===g)return c=d[b],e=d[b+1],0<a(c,e)&&(d[b]=e,d[b+1]=c,this.Rc()),this;if(0===b)if(c>=e)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a<c;a++)d[a]=g[a];else if(c>=e)for(g=d.slice(b),
g.sort(a),a=b;a<e;a++)d[a]=g[a-b];else for(g=d.slice(b,c),g.sort(a),a=b;a<c;a++)d[a]=g[a-b];this.Rc();return this};K.prototype.reverse=K.prototype.reverse=function(){this.J&&D.pa(this);this.o.reverse();this.Rc();return this};D.w(K,{count:"count"},function(){return this.o.length});D.w(K,{size:"size"},function(){return this.o.length});D.w(K,{length:"length"},function(){return this.o.length});D.w(K,{j:"iterator"},function(){if(0>=this.o.length)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Na(this)});
D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Wb=null;this.$a=a.G;this.bb=null};
Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Qa.prototype.any=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};
Qa.prototype.map=function(a){var b=this.oi;b.Wb=null;for(var c=new K,d=b.G,e=b.Ka;null!==e;)c.add(a(e.value)),b.G!==d&&D.Va(b),e=e.fb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Wb=null;for(var c=new K(b.ca),d=b.G,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.G!==d&&D.Va(b);e=e.fb}return c.j};Qa.prototype.concat=function(a){this.oi.Wb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
Qa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.oi.Wb=this};Qa.prototype.toString=function(){return null!==this.bb?"SetIterator@"+this.bb.value:"SetIterator"};
function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Set",L);
L.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};L.prototype.Rc=function(){var a=this.G;a++;999999999<a&&(a=0);this.G=a};L.prototype.freeze=L.prototype.freeze=function(){this.J=!0;return this};L.prototype.thaw=L.prototype.Ya=function(){this.J=!1;return this};L.prototype.toString=function(){return"Set("+D.getTypeName(this.ca)+")#"+D.Gd(this)};
L.prototype.add=L.prototype.add=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.pa(this,a);var b=a;D.Ta(a)&&(b=D.qq(a));return void 0===this.zd[b]?(this.yd++,a=new Ra(a,a),this.zd[b]=a,b=this.fi,null===b?this.Ka=a:(a.Gp=b,b.fb=a),this.fi=a,this.Rc(),!0):!1};L.prototype.addAll=L.prototype.Sc=function(a){if(null===a)return this;this.J&&D.pa(this);if(D.isArray(a))for(var b=D.cb(a),c=0;c<b;c++)this.add(D.La(a,c));else for(a=a.j;a.next();)this.add(a.value);return this};
L.prototype.contains=L.prototype.contains=function(a){if(null===a)return!1;v&&this.oh(a);var b=a;return D.Ta(a)&&(b=D.Gd(a),void 0===b)?!1:void 0!==this.zd[b]};L.prototype.has=L.prototype.has=function(a){return this.contains(a)};L.prototype.containsAll=function(a){if(null===a)return!0;for(a=a.j;a.next();)if(!this.contains(a.value))return!1;return!0};L.prototype.containsAny=function(a){if(null===a)return!0;for(a=a.j;a.next();)if(this.contains(a.value))return!0;return!1};
L.prototype.first=L.prototype.first=function(){var a=this.Ka;return null===a?null:a.value};L.prototype.any=function(a){for(var b=this.G,c=this.Ka;null!==c;){if(a(c.value))return!0;this.G!==b&&D.Va(this);c=c.fb}return!1};L.prototype.all=function(a){for(var b=this.G,c=this.Ka;null!==c;){if(!a(c.value))return!1;this.G!==b&&D.Va(this);c=c.fb}return!0};L.prototype.each=function(a){for(var b=this.G,c=this.Ka;null!==c;)a(c.value),this.G!==b&&D.Va(this),c=c.fb;return this};
L.prototype.map=function(a){for(var b=new L,c=this.G,d=this.Ka;null!==d;)b.add(a(d.value)),this.G!==c&&D.Va(this),d=d.fb;return b};L.prototype.filter=function(a){for(var b=new L(this.ca),c=this.G,d=this.Ka;null!==d;){var e=d.value;a(e)&&b.add(e);this.G!==c&&D.Va(this);d=d.fb}return b};L.prototype.concat=function(a){return this.copy().Sc(a)};
L.prototype.remove=L.prototype["delete"]=L.prototype.remove=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.pa(this,a);var b=a;if(D.Ta(a)&&(b=D.Gd(a),void 0===b))return!1;a=this.zd[b];if(void 0===a)return!1;var c=a.fb,d=a.Gp;null!==c&&(c.Gp=d);null!==d&&(d.fb=c);this.Ka===a&&(this.Ka=c);this.fi===a&&(this.fi=d);delete this.zd[b];this.yd--;this.Rc();return!0};
L.prototype.removeAll=L.prototype.yy=function(a){if(null===a)return this;this.J&&D.pa(this);if(D.isArray(a))for(var b=D.cb(a),c=0;c<b;c++)this.remove(D.La(a,c));else for(a=a.j;a.next();)this.remove(a.value);return this};L.prototype.retainAll=function(a){if(null===a||0===this.count)return this;this.J&&D.pa(this);var b=new L(this.ca);b.Sc(a);a=[];for(var c=this.j;c.next();){var d=c.value;b.contains(d)||a.push(d)}this.yy(a);return this};
L.prototype.clear=L.prototype.clear=function(){this.J&&D.pa(this);this.zd={};this.yd=0;this.fi=this.Ka=null;this.Rc()};L.prototype.copy=function(){var a=new L(this.ca),b=this.zd,c;for(c in b)a.add(b[c].value);return a};L.prototype.toArray=L.prototype.mc=function(){var a=Array(this.yd),b=this.zd,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};L.prototype.toList=function(){var a=new K(this.ca),b=this.zd,c;for(c in b)a.add(b[c].value);return a};D.w(L,{count:"count"},function(){return this.yd});
D.w(L,{size:"size"},function(){return this.yd});D.w(L,{j:"iterator"},function(){if(0>=this.yd)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.G;this.bb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.G;this.bb=null};
Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.value=this.key=a=a.key):null};
Sa.prototype.any=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.key),b.G!==c&&D.Va(b),d=d.fb;return this};
Sa.prototype.map=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1};
Sa.prototype.toString=function(){return null!==this.bb?"MapKeySetIterator@"+this.bb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
Ta.prototype.set=Ta.prototype.set=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.contains=Ta.prototype.contains=function(a){return this.Ma.contains(a)};Ta.prototype.has=Ta.prototype.has=function(a){return this.contains(a)};Ta.prototype.remove=Ta.prototype["delete"]=Ta.prototype.remove=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.clear=Ta.prototype.clear=function(){D.k("This Set is read-only: "+this.toString())};
Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.fb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.fb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.fb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.fb;return b};
Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.fb}return b};Ta.prototype.concat=function(a){return this.eH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.eH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.mc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.G;this.bb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.G;this.bb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Ya.prototype.hasNext=function(){return this.next()};
Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};
Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.bb?"MapValueSetIterator@"+this.bb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.fb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
function $a(a){this.Ma=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Wb=null;this.$a=a.G;this.bb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};$a.prototype.hasNext=function(){return this.next()};
$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
$a.prototype.each=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d),b.G!==c&&D.Va(b),d=d.fb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.G!==c&&D.Va(b),e=e.fb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.G!==c&&D.Va(b),e=e.fb;return d.j};
$a.prototype.concat=function(a){this.Ma.Wb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Wb=this};$a.prototype.toString=function(){return null!==this.bb?"MapIterator@"+this.bb:"MapIterator"};
function ma(a,b){D.uc(this);this.J=!1;void 0===a||null===a?this.af=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.af=a:D.ua(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.af=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.yi=b:D.ua(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.yi=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:D.ua(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.zd={};this.yd=0;this.dj=this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Map",ma);
function bb(a,b){null!==a.af&&("string"===typeof a.af?typeof b===a.af&&null!==b||D.hc(b,a.af):b instanceof a.af||D.hc(b,a.af))}ma.prototype.Rc=function(){var a=this.G;a++;999999999<a&&(a=0);this.G=a};ma.prototype.freeze=ma.prototype.freeze=function(){this.J=!0;return this};ma.prototype.thaw=ma.prototype.Ya=function(){this.J=!1;return this};ma.prototype.toString=function(){return"Map("+D.getTypeName(this.af)+","+D.getTypeName(this.yi)+")#"+D.Gd(this)};
ma.prototype.add=ma.prototype.add=function(a,b){v&&(bb(this,a),null!==this.yi&&("string"===typeof this.yi?typeof b===this.yi&&null!==b||D.hc(b,this.yi):b instanceof this.yi||D.hc(b,this.yi)));this.J&&D.pa(this,a);var c=a;D.Ta(a)&&(c=D.qq(a));var d=this.zd[c];if(void 0===d)return this.yd++,d=new Ra(a,b),this.zd[c]=d,c=this.fi,null===c?this.Ka=d:(d.Gp=c,c.fb=d),this.fi=d,this.Rc(),!0;d.value=b;return!1};ma.prototype.set=ma.prototype.set=function(a,b){return this.add(a,b)};
ma.prototype.addAll=ma.prototype.Sc=function(a){if(null===a)return this;if(D.isArray(a))for(var b=D.cb(a),c=0;c<b;c++){var d=D.La(a,c);this.add(d.key,d.value)}else for(a=a.j;a.next();)this.add(a.key,a.value);return this};ma.prototype.first=ma.prototype.first=function(){return this.Ka};ma.prototype.any=function(a){for(var b=this.G,c=this.Ka;null!==c;){if(a(c))return!0;this.G!==b&&D.Va(this);c=c.fb}return!1};
ma.prototype.all=function(a){for(var b=this.G,c=this.Ka;null!==c;){if(!a(c))return!1;this.G!==b&&D.Va(this);c=c.fb}return!0};ma.prototype.each=function(a){for(var b=this.G,c=this.Ka;null!==c;)a(c),this.G!==b&&D.Va(this),c=c.fb;return this};ma.prototype.map=function(a){for(var b=new ma(this.af),c=this.G,d=this.Ka