markgojs
Version:
Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams
117 lines • 925 kB
JavaScript
/*
* GoJS v1.8.36 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-2019 by Northwoods Software Corporation. All Rights Reserved.
* THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.8.36/license.html.
*/
(function(window) { var f,ba={};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={Gj:!1,cB:!1,BF:!1,LI:!1,lM:!1,aG:!1,ru:null,enableBoundsInfo:function(a){v.Gj=!0;a&&a.Gm()},disableBoundsInfo:function(a){v.Gj=!1;a&&(a.fd.Ee(!0),a.Gm())},yF:function(a,b){void 0===a&&(a=v.ru);void 0===b&&(b=a.vm("").rb);var c=b.length,d=a.fd;d.fillStyle="rgba(255,255,0,.3)";for(var e=0;e<c;e++){var g=b.fa(e),h=g.Y;if(g instanceof x)v.yF(a,g.ya);else{var k=g.bi.copy();k.NB(g.Oc);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()}}},zF:function(a,
b){a||(a=v.ru);b||(b=a.vm("").rb);var c=a.fd,d=b.length;c.fillStyle="rgba(0,0,255,.3)";for(var e=0;e<d;e++){var g=b.fa(e),h=g.Fa,k=g.bi;g instanceof x?v.zF(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())}},GI:function(a,b){a||(a=v.ru);b||(b=a.vm("").rb);var c=a.fd,d=b.length;c.fillStyle="rgba(0,0,255,.3)";for(var e=0;e<d;e++){var g=b.fa(e),h=g.Ia,k=g.bi;g instanceof x?v.GI(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())}},LL:function(){v.zF();v.yF()},ML:function(a){a||(a=v.ru);var b=a.Qc;a=a.fd;a.strokeStyle="rgba(0,255,0,.9)";a.rect(b.x,b.y,b.width,b.height);a.stroke()},AF: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.wb;b.rect(c.x,c.y,c.width,c.height);b.stroke();b.fillStyle="rgba(0,255,0,.2)";b.fillRect(a.Qc.x,a.Qc.y,a.Qc.width,a.Qc.height)},HI:function(a,b){b instanceof da||(a.lineWidth=
2,a.strokeStyle="rgba(255,0,0,.5)",a.rect(b.dc.x,b.dc.y,b.dc.width,b.dc.height),a.stroke(),b instanceof A&&(a.strokeStyle=b.stroke,a.lineWidth=b.pb),null!==b.Q&&b.Q.type===ea&&(a.lineWidth=1,a.strokeStyle="rgba(10,200,10,.6)",b instanceof A&&(a.strokeStyle=b.stroke,a.lineWidth=b.pb)))},II:function(a,b){a.lineWidth=1;a.strokeStyle="rgba(0,0,255,.5)";a.rect(b.Fa.x,b.Fa.y,b.Fa.width,b.Fa.height);a.stroke();void 0!==b.stroke&&(a.strokeStyle=b.stroke);void 0!==b.Rg&&(a.lineWidth=b.Rg)},bB:function(a,b,
c){a.setTransform(1,0,0,1,0,0);a.scale(b.hd,b.hd);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.ec.length;for(var d=0;d<c;d++)for(var e=b.ec.fa(d),g=e.rb.length,h=0;h<g;h++){var k=e.rb.fa(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)},NL: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.Oc;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,t=g.dx,u=g.dy,y=k*p+l*r+t,h=k*q+l*s+u;g=m*p+l*r+t;var l=m*q+l*s+u,w=k*p+n*r+t,k=k*q+n*s+u,p=m*p+n*r+t,m=m*q+n*s+u,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 C(n,q,y-n,h-q);b.fillRect(g.x,g.y,g.width,g.height)}},JI:function(a,b,c,d,e){a.fillStyle="rgba(0,255,0,.2)";a.fillRect(b,c,d,e)},KI:function(a,b,c){a.save();var d=b.Oc;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.jd.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()},JL:function(a){a||(a=v.ru);for(a=a.jo;a.next();)D.trace(a.value.toString())},zM:function(a,b){var c=b.kp(a),d=b.Wb;d.Rd=b.Av(c);d.ha=c;return fa(b,d,a)},uM:function(a,b){b.Je(a.ha)&&(b.fd.fillStyle="lime",b.fd.fillRect(a.Rd.x,a.Rd.y,1*b.scale,1*b.scale))},vM:function(a){var b=ga(a,!1,null,null);if(!b.Bq){var c=a.wb,d=a.scale;a=a.fd;for(var e=0;e<=b.Gn;e++)for(var g=
0;g<=b.Hn;g++){var h=b.sd[e][g];if(0!==h){var k=(e*b.ie+b.$f-c.x)*d,l=(g*b.Sd+b.ag-c.y)*d;0!==h&&(a.fillStyle="rgba(255, 0, 0, .2)",a.fillRect(k,l,b.ie*d,b.Sd*d));999999<=h||(h%=10,a.fillStyle="blue",a.fillText(h.toString(),k,l+b.Sd))}}}},dumpReferences:function(a){if(a instanceof E)for(a=a.jo;a.next();){var b=a.value;D.trace(b.toString());for(b=b.Wh;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.Of+'"');a.Im!==a&&D.trace(" SelectionObject: "+a.Im.toString()+' SelectionObjectName: "'+a.Vy+'"');a.Cf!==a&&D.trace(" LocationObject: "+a.Cf.toString()+' LocationObjectName: "'+a.Ay+'"');if(a.mh){for(var b="",c=a.mh.j;c.next();)b+=c.key+" ";D.trace(" Adornments: "+b)}null!==a.Ja&&D.trace(" ContainingGroup: "+a.Ja.toString());if(a instanceof H){if(0<a.Nd.count){b="";for(c=a.Nd;c.next();)b+=c.value.toString()+", ";D.trace(" Links: "+b)}null!==a.Zb&&D.trace(" LabeledLink: "+a.Zb.toString());
if(a instanceof I){D.trace(" Placeholder: "+a.placeholder);b="";for(c=a.lc;c.next();)b+=c.value.toString()+", ";D.trace(" Members: "+b);b="";for(c=a.on.j;c.next();)b+=c.value.toString()+", ";D.trace(" NestedGroups: "+b);D.trace(" Layout: "+a.$b)}}else if(a instanceof J){D.trace(" Path: "+a.path);D.trace(" From: "+a.Z+" "+a.ic+' "'+a.ig+'"');D.trace(" To: "+a.ba+" "+a.wc+' "'+a.jh+'"');b="";for(a=a.Bf;a.next();)b+=a.value.toString()+", ";D.trace(" LabelNodes: "+b)}}},dumpVisualTree:function(a){if(a instanceof
E)for(a=a.jo;a.next();){var b=a.value;D.trace(b.toString());for(b=b.Wh;b.next();)v.dumpVisualTree(b.value)}else a instanceof F&&(b=" ",a.pF&&(b+="c"),a.tF&&(b+="d"),a.ZF&&(b+="g"),a.BG&&(b+="m"),a.QG&&(b+="h"),a.RG&&(b+="z"),a.WG&&(b+="o"),a.nl&&(b+="s"),a.nH&&(b+="t"),a.bH&&(b+="A"),a.ny&&(b+="B"),a.AB&&(b+="L"),a.mb&&(b+="S"),a.jl&&(b+="H"),v.wD(a,1,b))},wD: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.tg?c+
"p":c+"!p";a.We&&(c+="m");a.Mu&&(c+="a");d+=c;if(0!==a.Tb||0!==a.column)d+=" ["+a.Tb+","+a.column+"]";d+=" "+a.Y.toString();a.Ea.F()&&(d+=" d:"+a.Ea.toString());a.Fa.F()&&(d+=" n:"+a.Fa.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.mm&&(d+=" a:"+a.background.toString());a instanceof x&&(d+=" elts:"+a.ya.count,a.isEnabled||(d+=" !ENABLED"),a.Eq&&(d+=" CLIPPING"),0!==a.tH&&(d+=" top:"+a.tH),0!==a.uG&&(d+=
" left:"+a.uG),null!==a.kl&&(d+=" itemArray#:"+D.fb(a.kl)),a.qG&&(d+=" cat:"+a.qG),null!==a.data&&(d+=" data:"+a.data));null!==a.Qd&&(d+=' portId: "'+a.Qd+'"');D.trace(d);if(a instanceof x)for(a=a.elements;a.next();)v.wD(a.value,b+1,"")},PL:function(a){D.trace("DelayedReferences ("+a.zg.count+")");for(a=a.zg.j;a.next();){for(var b="",c=a.value.j;c.next();)b+=ia(c.value)+", ";D.trace(" "+a.key+": "+b)}},hF:function(a,b){if(!D.Qa(b)||b instanceof Element||b instanceof CanvasRenderingContext2D||b instanceof
ja||b instanceof ka)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.zb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Vw&&g.Vw[d])continue}else if(D.ky(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},Lx: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.Md(b)){if(!v.kx.contains(b))if(v.kx.add(b),v.Kw.add(v.hF(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.Lx(a+"["+c.key+"]",c.value);else for(c in b){var d=D.zb(b,c);if(void 0!==d&&null!==d&&D.Qa(d)&&d!==b.Vw){if(b instanceof na){if(d===b.sf)continue}else if(b instanceof x){if("data"===c||d===b.Td)continue;if("itemArray"===c||d===b.ij)continue;if(b instanceof F&&d===b.Yl)continue}else if(!(b instanceof
E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.uz)continue}else if(b instanceof pa){if("archetypeLinkData"===c||d===b.wz)continue;if("archetypeLabelNodeData"===c||d===b.vz)continue}else if(b instanceof qa){if("archetypeNodeData"===c||d===b.Cl)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.Be)continue;if("linkDataArray"===c||d===b.ef||d===b.ni)continue;if(d===b.Lc)continue;if(d===b.zg)continue}else if(b instanceof ta||b instanceof ua||b instanceof va)continue;v.Lx(a+"."+
c,d)}}}else if(Array.isArray(b))for(c=0;c<b.length;c++)v.Lx(a+"["+c+"]",b[c]);else v.Kw.add(v.hF(a,b))},checkProperties:function(a){void 0===v.kx?v.kx=new L(Object):v.kx.clear();v.Kw=new wa;v.Lx("",a);a=v.Kw.toString();v.Kw=null;return a}};ba.Debug=v;
var D={zd:1,dd:2,rd:4,qd:8,eo:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("534.30")&&0<window.navigator.userAgent.indexOf("Android"),Qu:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 9.0"),Fq:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 10.0"),Gq:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Trident/7"),xB:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Edge/"),Rh:void 0!==window.navigator&&void 0!==
window.navigator.platform&&0<=window.navigator.platform.toUpperCase().indexOf("MAC"),kG:void 0!==window.navigator&&void 0!==window.navigator.platform&&null!==window.navigator.platform.match(/(iPhone|iPod|iPad)/i),qF: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);},qa: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.mc(a,b,c))},h:function(a,b,c,d){typeof a!==b&&(c=D.getTypeName(c),void 0!==d&&(c+="."+d),D.mc(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 xa&&a.Se===b||(c=D.getTypeName(c),void 0!==d&&(c+="."+d),D.mc(a,"a constant of class "+D.xf(b),c))},nu:function(a,b){"string"===typeof a?ya(a)||D.k('Color "'+a+'" is not a valid color string for '+b):a instanceof za||D.k("Value for "+b+" must be a color string or a Brush, not "+a)},mc: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)},va:function(a,b,c,d){c=D.getTypeName(c);void 0!==d&&(c+="."+d);D.k(c+" is not in the range "+b+": "+a)},yd:function(a){D.k(D.xf(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.")},ck: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)},Tx:{},Vn:function(a,b){!0!==D.Tx[a]&&(D.Tx[a]=!0,window.console&&window.console.log(a+" is deprecated in "+b+", see the GoJS change log for more information."))},Qa:function(a){return"object"===typeof a&&null!==a},isArray:function(a){return Array.isArray(a)||a instanceof NodeList||a instanceof HTMLCollection},rJ:function(a){return Array.isArray(a)},mu:function(a,b,c){D.isArray(a)||D.mc(a,"Array or NodeList or HTMLCollection",b,c)},fb:function(a){return a.length},
qm:function(a){return Array.prototype.slice.call(a)},La:function(a,b){Array.isArray(a);return a[b]},eF:function(a,b,c){Array.isArray(a)?a[b]=c:D.k("Cannot replace an object in an HTMLCollection or NodeList at "+b)},nm: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},Kh: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)},Vg: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)},kz:[],O:function(){var a=D.kz.pop();return void 0===a?new N:a},Db:function(a,b){var c=D.kz.pop();if(void 0===c)return new N(a,b);c.x=a;c.y=b;return c},A:function(a){D.kz.push(a)},HC:[],Om:function(){var a=D.HC.pop();return void 0===a?new Aa:a},bl:function(a){D.HC.push(a)},lz:[],Ff:function(){var a=D.lz.pop();return void 0===a?new C:a},vg:function(a,b,c,d){var e=D.lz.pop();
if(void 0===e)return new C(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Hb:function(a){D.lz.push(a)},IC:[],hh:function(){var a=D.IC.pop();return void 0===a?new Ba:a},lf:function(a){D.IC.push(a)},mz:null,v:function(){var a=D.mz;return null!==a?(D.mz=null,a):new Ca},u:function(a){a.reset();D.mz=a},jz:[],hb:function(){var a=D.jz.pop();return void 0===a?[]:a},ua:function(a){a.length=0;D.jz.push(a)},Ko:Object.freeze([]),Rm:1,xc:function(a){a.__gohashid=D.Rm++},yq:function(a){var b=a.__gohashid;
void 0===b&&(b=D.Rm++,a.__gohashid=b);return b},Md:function(a){return a.__gohashid},ka:function(a,b){b.Bz=a;ba[a]=b},Ta:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Gi:function(a){a.SH=!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}},NK:!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}},ne:function(a,b){for(var c in b)b[c]=!0;a.prototype.Vw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.xf(a):null===a?"*":""},xf:function(a){if("function"===typeof a){if(a.Bz)return a.Bz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
c).trim();if(""!==b)return a.Bz=b}else if(D.Qa(a)&&a.constructor)return D.xf(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 xa(a,b,c);Object.freeze(c);a[b]=c;var d=a.Ev;d instanceof ma||(d=new ma("string",xa),a.Ev=d);d.add(b,c);return c},zb: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())}},sv: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.Ld(l);else if(g=a[l],void 0===g||null===g)g=a.bb[l];D.Qa(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.ky(g,h))if(d&&"ModelChanged"===h){a.bI(b[h]);continue}else if(d&&"Changed"===h){a.In(b[h]);continue}else if(d&&D.ky(a.bb,h))g=a.bb;else if(d&&Da(a,h)){a.Bx(h,b[h]);continue}else if(a instanceof
M&&"Changed"===h){a.In(b[h]);continue}else D.k('Trying to set undefined property "'+h+'" on object: '+g.toString());g[h]=b[e];"_"===h[0]&&g instanceof O&&g.ZH(h)}},ky: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.Vw;if(d&&d[b])return!0;c=Object.getPrototypeOf(c)}return!1},bK: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},fJ: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},Wg:function(a){return D.bK(D.fJ(a))},Qm:null,adym:"7da71ca0ad381e90",vfo:"2be64efdb060",qL:"@COLOR1",rL:"@COLOR2",
rF:!1,pu:null,qu:null};
D.Qm=function(){var a=window.document.createElement("canvas"),b=a.getContext("2d");b[D.Wg("7ca11abfd022028846")]=D.Wg("398c3597c01238");for(var c=["5da73c80a36755dc038e4972187c3cae51fd22","32ab5ff3b26f42dc0ed90f224c2913b54ae6247590da4bb21c324ba3a84e385776","54a702f3e53909c447824c6706603faf4cfb236cdfda5de14c134ba1a95a2d4c7cc6f93c1387","74bf19bce72555874c86"],d=1;5>d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-1]),10,15*d+0);b[D.Wg("7ca11abfd022028846")]=D.Wg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(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 xa(a,b,2);Object.freeze(c);a[b]=c;var d=a.Ev;d instanceof ma||(d=new ma("string",xa),a.Ev=d);d.add(b,c);return c};return a}();function xa(a,b,c){D.xc(this);this.SC=a;this.ac=b;this.WH=c}D.ka("EnumValue",xa);xa.prototype.toString=function(){return D.xf(this.SC)+"."+this.ac};D.w(xa,{Se:"classType"},function(){return this.SC});D.w(xa,{name:"name"},function(){return this.ac});D.w(xa,{value:"value"},function(){return this.WH});
var Ea;xa.findName=Ea=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.Ev;return c instanceof ma?c.oa(b):null};function wa(){this.RC=[]}wa.prototype.toString=function(){return this.RC.join("")};wa.prototype.add=function(a){""!==a&&this.RC.push(a)};function ka(){}
function Fa(a){void 0===a&&(a=42);this.seed=a;this.fz=48271;this.Dv=2147483647;this.GC=this.Dv/this.fz;this.EH=this.Dv%this.fz;this.DH=1/this.Dv;this.random()}Fa.prototype.random=function(){var a=this.seed%this.GC*this.fz-this.seed/this.GC*this.EH;this.seed=0<a?a:a+this.Dv;return this.seed*this.DH};function Ga(){}D.w(Ga,{j:"iterator"},function(){return this});Ga.prototype.reset=Ga.prototype.reset=function(){};Ga.prototype.next=Ga.prototype.next=function(){return!1};Ga.prototype.hasNext=function(){return!1};
Ga.prototype.first=Ga.prototype.first=function(){return null};Ga.prototype.any=function(){return!1};Ga.prototype.all=function(){return!0};Ga.prototype.each=function(){return this};Ga.prototype.map=function(){return this};Ga.prototype.filter=function(){return this};Ga.prototype.concat=function(a){return a.j};D.w(Ga,{count:"count"},function(){return 0});Ga.prototype.Vf=function(){};Ga.prototype.toString=function(){return"EmptyIterator"};var Ia=new Ga;function Ja(a){this.key=-1;this.value=a}
D.ne(Ja,{key:!0,value:!0});D.w(Ja,{j:"iterator"},function(){return this});Ja.prototype.reset=Ja.prototype.reset=function(){this.key=-1};Ja.prototype.next=Ja.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};Ja.prototype.hasNext=function(){return this.next()};Ja.prototype.first=Ja.prototype.first=function(){this.key=0;return this.value};Ja.prototype.any=function(a){this.key=-1;return a(this.value)};Ja.prototype.all=function(a){this.key=-1;return a(this.value)};
Ja.prototype.each=function(a){this.key=-1;a(this.value);return this};Ja.prototype.map=function(a){return new Ja(a(this.value))};Ja.prototype.filter=function(a){return a(this.value)?new Ja(this.value):Ia};Ja.prototype.concat=function(a){return new La(this,a.j)};D.w(Ja,{count:"count"},function(){return 1});Ja.prototype.Vf=function(){this.value=null};Ja.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function La(a,b){this.Rl=a;this.Sl=b;this.Fv=!1}D.ne(La,{key:!0,value:!0});
D.w(La,{j:"iterator"},function(){return this});La.prototype.reset=La.prototype.reset=function(){this.Rl.reset();this.Sl.reset();this.Fv=!1};La.prototype.next=La.prototype.next=function(){if(!this.Fv){var a=this.Rl;if(a.next())return this.key=a.key,this.value=a.value,!0;this.Fv=!0}return this.Fv&&(a=this.Sl,a.next())?(this.key=a.key,this.value=a.value,!0):!1};La.prototype.hasNext=function(){return this.next()};
La.prototype.first=La.prototype.first=function(){this.reset();return this.next()?this.value:null};La.prototype.any=function(a){return this.Rl.any(a)||this.Sl.any(a)?!0:!1};La.prototype.all=function(a){return this.Rl.all(a)&&this.Sl.all(a)?!0:!1};La.prototype.each=function(a){this.Rl.each(a);this.Sl.each(a);return this};La.prototype.map=function(a){return new La(this.Rl.map(a),this.Sl.map(a))};La.prototype.filter=function(a){return new La(this.Rl.filter(a),this.Sl.filter(a))};
La.prototype.concat=function(a){return new La(this,a.j)};D.w(La,{count:"count"},function(){return this.Rl.count+this.Sl.count});La.prototype.Vf=function(){this.value=this.key=null};La.prototype.toString=function(){return"ConcatIterator()"};function Oa(a){this.Kc=a;this.si=null;a.Lb=null;this.$a=a.I;this.Jc=-1}D.ne(Oa,{key:!0,value:!0});D.w(Oa,{j:"iterator"},function(){return this});D.defineProperty(Oa,{Tq:"predicate"},function(){return this.si},function(a){this.si=a});
Oa.prototype.reset=Oa.prototype.reset=function(){var a=this.Kc;a.Lb=null;this.$a=a.I;this.Jc=-1};Oa.prototype.next=Oa.prototype.next=function(){var a=this.Kc;if(a.I!==this.$a){if(0>this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Jc,d=this.si;if(null!==d)for(;c<b;){var e=a[c];if(d(e))return this.key=this.Jc=c,this.value=e,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.Vf()}return!1};Oa.prototype.hasNext=function(){return this.next()};
Oa.prototype.first=Oa.prototype.first=function(){var a=this.Kc;this.$a=a.I;this.Jc=0;var a=a.o,b=a.length,c=this.si;if(null!==c){for(var d=0;d<b;){var e=a[d];if(c(e))return this.key=this.Jc=d,this.value=e;d++}return null}return 0<b?(e=a[0],this.key=0,this.value=e):null};Oa.prototype.any=function(a){var b=this.Kc;b.Lb=null;var c=b.I;this.Jc=-1;for(var d=b.o,e=d.length,g=this.si,h=0;h<e;h++){var k=d[h];if(null===g||g(k)){if(a(k))return!0;b.I!==c&&D.Va(b)}}return!1};
Oa.prototype.all=function(a){var b=this.Kc;b.Lb=null;var c=b.I;this.Jc=-1;for(var d=b.o,e=d.length,g=this.si,h=0;h<e;h++){var k=d[h];if(null===g||g(k)){if(!a(k))return!1;b.I!==c&&D.Va(b)}}return!0};Oa.prototype.each=function(a){var b=this.Kc;b.Lb=null;var c=b.I;this.Jc=-1;for(var d=b.o,e=d.length,g=this.si,h=0;h<e;h++){var k=d[h];if(null===g||g(k))a(k),b.I!==c&&D.Va(b)}return this};
Oa.prototype.map=function(a){var b=this.Kc;b.Lb=null;var c=b.I;this.Jc=-1;for(var d=[],e=b.o,g=e.length,h=this.si,k=0;k<g;k++){var l=e[k];if(null===h||h(l))d.push(a(l)),b.I!==c&&D.Va(b)}a=new K;a.o=d;a.Wc();return a.j};Oa.prototype.filter=function(a){var b=this.Kc;b.Lb=null;var c=b.I;this.Jc=-1;for(var d=[],e=b.o,g=e.length,h=this.si,k=0;k<g;k++){var l=e[k];if(null===h||h(l))a(l)&&d.push(l),b.I!==c&&D.Va(b)}a=new K(b.da);a.o=d;a.Wc();return a.j};
Oa.prototype.concat=function(a){this.Kc.Lb=null;return new La(this,a.j)};D.w(Oa,{count:"count"},function(){var a=this.si;if(null!==a){for(var b=0,c=this.Kc.o,d=c.length,e=0;e<d;e++)a(c[e])&&b++;return b}return this.Kc.o.length});Oa.prototype.Vf=function(){this.key=-1;this.value=null;this.$a=-1;this.si=null;this.Kc.Lb=this};Oa.prototype.toString=function(){return"ListIterator@"+this.Jc+"/"+this.Kc.count};function Qa(a){this.Kc=a;a.jj=null;this.$a=a.I;this.Jc=a.o.length}D.ne(Qa,{key:!0,value:!0});
D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.Kc;a.jj=null;this.$a=a.I;this.Jc=a.o.length};Qa.prototype.next=Qa.prototype.next=function(){var a=this.Kc;if(a.I!==this.$a){if(0>this.key)return!1;D.Va(a)}var b=--this.Jc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Vf();return!1};Qa.prototype.hasNext=function(){return this.next()};
Qa.prototype.first=Qa.prototype.first=function(){var a=this.Kc;this.$a=a.I;var b=a.o;this.Jc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Qa.prototype.any=function(a){var b=this.Kc;b.jj=null;var c=b.I,d=b.o,e=d.length;this.Jc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.I!==c&&D.Va(b)}return!1};Qa.prototype.all=function(a){var b=this.Kc;b.jj=null;var c=b.I,d=b.o,e=d.length;this.Jc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.I!==c&&D.Va(b)}return!0};
Qa.prototype.each=function(a){var b=this.Kc;b.jj=null;var c=b.I,d=b.o,e=d.length;this.Jc=e;for(e-=1;0<=e;e--)a(d[e]),b.I!==c&&D.Va(b);return this};Qa.prototype.map=function(a){var b=this.Kc;b.jj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Jc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.I!==c&&D.Va(b);a=new K;a.o=d;a.Wc();return a.j};
Qa.prototype.filter=function(a){var b=this.Kc;b.jj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Jc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.I!==c&&D.Va(b)}a=new K(b.da);a.o=d;a.Wc();return a.j};Qa.prototype.concat=function(a){this.Kc.jj=null;return new La(this,a.j)};D.w(Qa,{count:"count"},function(){return this.Kc.o.length});Qa.prototype.Vf=function(){this.key=-1;this.value=null;this.$a=-1;this.Kc.jj=this};
Qa.prototype.toString=function(){return"ListIteratorBackwards("+this.Jc+"/"+this.Kc.count+")"};
function K(a){D.xc(this);this.J=!1;this.o=[];this.I=0;this.jj=this.Lb=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:D.va(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.va(a,"null, a primitive type name, or a class type",
"List constructor: type")}D.ka("List",K);K.prototype.oh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||D.mc(a,this.da):a instanceof this.da||D.mc(a,this.da))};K.prototype.Wc=function(){var a=this.I;a++;999999999<a&&(a=0);this.I=a};K.prototype.freeze=K.prototype.freeze=function(){this.J=!0;return this};K.prototype.thaw=K.prototype.Xa=function(){this.J=!1;return this};K.prototype.toString=function(){return"List("+D.getTypeName(this.da)+")#"+D.Md(this)};
K.prototype.add=K.prototype.add=function(a){null!==a&&(v&&this.oh(a),this.J&&D.qa(this,a),this.o.push(a),this.Wc())};K.prototype.push=K.prototype.push=function(a){this.add(a)};K.prototype.addAll=K.prototype.Yc=function(a){if(null===a)return this;this.J&&D.qa(this);var b=this.o;if(D.isArray(a))for(var c=D.fb(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.Wc();return this};
K.prototype.clear=K.prototype.clear=function(){this.J&&D.qa(this);this.o.length=0;this.Wc()};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.fa=function(a){v&&D.p(a,K,"elt:i");var b=this.o;(0>a||a>=b.length)&&D.va(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.fa(a)};K.prototype.setElt=K.prototype.ug=function(a,b){v&&(this.oh(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.va(a,"0 <= i < length",K,"setElt:i");this.J&&D.qa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.ug(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.ue=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.qa(this);var a=this.o;return 0<a.length?a.pop():null};K.prototype.any=function(a){for(var b=this.o,c=this.I,d=b.length,e=0;e<d;e++){if(a(b[e]))return!0;this.I!==c&&D.Va(this)}return!1};
K.prototype.all=function(a){for(var b=this.o,c=this.I,d=b.length,e=0;e<d;e++){if(!a(b[e]))return!1;this.I!==c&&D.Va(this)}return!0};K.prototype.each=function(a){for(var b=this.o,c=this.I,d=b.length,e=0;e<d;e++)a(b[e]),this.I!==c&&D.Va(this);return this};K.prototype.map=function(a){for(var b=new K,c=[],d=this.o,e=this.I,g=d.length,h=0;h<g;h++)c.push(a(d[h])),this.I!==e&&D.Va(this);b.o=c;b.Wc();return b};
K.prototype.filter=function(a){for(var b=new K(this.da),c=[],d=this.o,e=this.I,g=d.length,h=0;h<g;h++){var k=d[h];a(k)&&c.push(k);this.I!==e&&D.Va(this)}b.o=c;b.Wc();return b};K.prototype.concat=function(a){return this.copy().Yc(a)};K.prototype.insertAt=K.prototype.be=function(a,b){v&&(this.oh(b),D.p(a,K,"insertAt:i"));0>a&&D.va(a,">= 0",K,"insertAt:i");this.J&&D.qa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Wc();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.qa(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.Wc();return!0};K.prototype.removeAt=K.prototype.pd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.va(a,"0 <= i < length",K,"removeAt:i");this.J&&D.qa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Wc()};
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.qa(this);for(var e=a,g=b+1;g<d;)c[e++]=c[g++];c.length=d-(b-a+1);this.Wc();return this};K.prototype.copy=function(){var a=new K(this.da),b=this.o;0<b.length&&(a.o=Array.prototype.slice.call(b));return a};
K.prototype.toArray=K.prototype.Hc=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.sH=function(){for(var a=new L(this.da),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.qa(this);this.o.sort(a);this.Wc();return this};
K.prototype.sortRange=K.prototype.dr=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.qa(this);var g=c-b;if(1>=g)return this;(0>b||b>=e-1)&&D.va(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.Wc()),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.Wc();return this};K.prototype.reverse=K.prototype.reverse=function(){this.J&&D.qa(this);this.o.reverse();this.Wc();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 Ia;var a=this.Lb;return null!==a?(a.reset(),a):new Oa(this)});
D.w(K,{io:"iteratorBackwards"},function(){if(0>=this.o.length)return Ia;var a=this.jj;return null!==a?(a.reset(),a):new Qa(this)});function Ra(a){this.ui=a;a.Lb=null;this.$a=a.I;this.eb=null}D.ne(Ra,{key:!0,value:!0});D.w(Ra,{j:"iterator"},function(){return this});Ra.prototype.reset=Ra.prototype.reset=function(){var a=this.ui;a.Lb=null;this.$a=a.I;this.eb=null};
Ra.prototype.next=Ra.prototype.next=function(){var a=this.ui;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.eb,b=null===b?a.Ma:b.ib;if(null!==b)return this.eb=b,this.value=b.value,this.key=b.key,!0;this.Vf();return!1};Ra.prototype.hasNext=function(){return this.next()};Ra.prototype.first=Ra.prototype.first=function(){var a=this.ui;this.$a=a.I;a=a.Ma;if(null!==a){this.eb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Ra.prototype.any=function(a){var b=this.ui;b.Lb=null;var c=b.I;this.eb=null;for(var d=b.Ma;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.ib}return!1};Ra.prototype.all=function(a){var b=this.ui;b.Lb=null;var c=b.I;this.eb=null;for(var d=b.Ma;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.ib}return!0};Ra.prototype.each=function(a){var b=this.ui;b.Lb=null;var c=b.I;this.eb=null;for(var d=b.Ma;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.ib;return this};
Ra.prototype.map=function(a){var b=this.ui;b.Lb=null;for(var c=new K,d=b.I,e=b.Ma;null!==e;)c.add(a(e.value)),b.I!==d&&D.Va(b),e=e.ib;return c.j};Ra.prototype.filter=function(a){var b=this.ui;b.Lb=null;for(var c=new K(b.da),d=b.I,e=b.Ma;null!==e;){var g=e.value;a(g)&&c.add(g);b.I!==d&&D.Va(b);e=e.ib}return c.j};Ra.prototype.concat=function(a){this.ui.Lb=null;return new La(this,a.j)};D.w(Ra,{count:"count"},function(){return this.ui.Bd});
Ra.prototype.Vf=function(){this.value=this.key=null;this.$a=-1;this.ui.Lb=this};Ra.prototype.toString=function(){return null!==this.eb?"SetIterator@"+this.eb.value:"SetIterator"};
function L(a){D.xc(this);this.J=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:D.va(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:D.va(a,"null, a primitive type name, or a class type","Set constructor: type");this.Cd={};this.Bd=0;this.Lb=null;this.I=0;this.li=this.Ma=null}D.ka("Set",L);
L.prototype.oh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||D.mc(a,this.da):a instanceof this.da||D.mc(a,this.da))};L.prototype.Wc=function(){var a=this.I;a++;999999999<a&&(a=0);this.I=a};L.prototype.freeze=L.prototype.freeze=function(){this.J=!0;return this};L.prototype.thaw=L.prototype.Xa=function(){this.J=!1;return this};L.prototype.toString=function(){return"Set("+D.getTypeName(this.da)+")#"+D.Md(this)};
L.prototype.add=L.prototype.add=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.qa(this,a);var b=a;D.Qa(a)&&(b=D.yq(a));return void 0===this.Cd[b]?(this.Bd++,a=new Sa(a,a),this.Cd[b]=a,b=this.li,null===b?this.Ma=a:(a.Lp=b,b.ib=a),this.li=a,this.Wc(),!0):!1};L.prototype.addAll=L.prototype.Yc=function(a){if(null===a)return this;this.J&&D.qa(this);if(D.isArray(a))for(var b=D.fb(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.Qa(a)&&(b=D.Md(a),void 0===b)?!1:void 0!==this.Cd[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.Ma;return null===a?null:a.value};L.prototype.any=function(a){for(var b=this.I,c=this.Ma;null!==c;){if(a(c.value))return!0;this.I!==b&&D.Va(this);c=c.ib}return!1};L.prototype.all=function(a){for(var b=this.I,c=this.Ma;null!==c;){if(!a(c.value))return!1;this.I!==b&&D.Va(this);c=c.ib}return!0};L.prototype.each=function(a){for(var b=this.I,c=this.Ma;null!==c;)a(c.value),this.I!==b&&D.Va(this),c=c.ib;return this};
L.prototype.map=function(a){for(var b=new L,c=this.I,d=this.Ma;null!==d;)b.add(a(d.value)),this.I!==c&&D.Va(this),d=d.ib;return b};L.prototype.filter=function(a){for(var b=new L(this.da),c=this.I,d=this.Ma;null!==d;){var e=d.value;a(e)&&b.add(e);this.I!==c&&D.Va(this);d=d.ib}return b};L.prototype.concat=function(a){return this.copy().Yc(a)};
L.prototype.remove=L.prototype["delete"]=L.prototype.remove=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.qa(this,a);var b=a;if(D.Qa(a)&&(b=D.Md(a),void 0===b))return!1;a=this.Cd[b];if(void 0===a)return!1;var c=a.ib,d=a.Lp;null!==c&&(c.Lp=d);null!==d&&(d.ib=c);this.Ma===a&&(this.Ma=c);this.li===a&&(this.li=d);delete this.Cd[b];this.Bd--;this.Wc();return!0};
L.prototype.removeAll=L.prototype.Oy=function(a){if(null===a)return this;this.J&&D.qa(this);if(D.isArray(a))for(var b=D.fb(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.qa(this);var b=new L(this.da);b.Yc(a);a=[];for(var c=this.j;c.next();){var d=c.value;b.contains(d)||a.push(d)}this.Oy(a);return this};
L.prototype.clear=L.prototype.clear=function(){this.J&&D.qa(this);this.Cd={};this.Bd=0;null!==this.Lb&&this.Lb.reset();this.li=this.Ma=null;this.Wc()};L.prototype.copy=function(){var a=new L(this.da),b=this.Cd,c;for(c in b)a.add(b[c].value);return a};L.prototype.toArray=L.prototype.Hc=function(){var a=Array(this.Bd),b=this.Cd,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};L.prototype.toList=function(){var a=new K(this.da),b=this.Cd,c;for(c in b)a.add(b[c].value);return a};D.w(L,{count:"count"},function(){return this.Bd});
D.w(L,{size:"size"},function(){return this.Bd});D.w(L,{j:"iterator"},function(){if(0>=this.Bd)return Ia;var a=this.Lb;return null!==a?(a.reset(),a):new Ra(this)});function Ta(a){this.Na=a;this.$a=a.I;this.eb=null}D.ne(Ta,{key:!0,value:!0});D.w(Ta,{j:"iterator"},function(){return this});Ta.prototype.reset=Ta.prototype.reset=function(){this.$a=this.Na.I;this.eb=null};
Ta.prototype.next=Ta.prototype.next=function(){var a=this.Na;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.eb,b=null===b?a.Ma:b.ib;if(null!==b)return this.eb=b,this.value=this.key=a=b.key,!0;this.Vf();return!1};Ta.prototype.hasNext=function(){return this.next()};Ta.prototype.first=Ta.prototype.first=function(){var a=this.Na;this.$a=a.I;a=a.Ma;return null!==a?(this.eb=a,this.value=this.key=a=a.key):null};
Ta.prototype.any=function(a){var b=this.Na,c=b.I;this.eb=null;for(var d=b.Ma;null!==d;){if(a(d.key))return!0;b.I!==c&&D.Va(b);d=d.ib}return!1};Ta.prototype.all=function(a){var b=this.Na,c=b.I;this.eb=null;for(var d=b.Ma;null!==d;){if(!a(d.key))return!1;b.I!==c&&D.Va(b);d=d.ib}return!0};Ta.prototype.each=function(a){var b=this.Na,c=b.I;this.eb=null;for(var d=b.Ma;null!==d;)a(d.key),b.I!==c&&D.Va(b),d=d.ib;return this};
Ta.prototype.map=function(a){var b=this.Na,c=b.I;this.eb=null;for(var d=new K,e=b.Ma;null!==e;)d.add(a(e.key)),b.I!==c&&D.Va(b),e=e.ib;return d.j};Ta.prototype.filter=function(a){var b=this.Na,c=b.I;this.eb=null;for(var d=new K(b.df),e=b.Ma;null!==e;){var g=e.key;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.ib}return d.j};Ta.prototype.concat=function(a){return new La(this,a.j)};D.w(Ta,{count:"count"},function(){return this.Na.Bd});Ta.prototype.Vf=function(){this.value=this.key=null;this.$a=-1};
Ta.prototype.toString=function(){return null!==this.eb?"MapKeySetIterator@"+this.eb.value:"MapKeySetIterator"};function Ua(a){D.xc(this);this.J=!0;this.Na=a}D.Ta(Ua,L);Ua.prototype.freeze=function(){return this};Ua.prototype.Xa=function(){return this};Ua.prototype.toString=function(){return"MapKeySet("+this.Na.toString()+")"};Ua.prototype.add=Ua.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
Ua.prototype.set=Ua.prototype.set=function(){D.k("This Set is read-only: "+this.toString());return!1};Ua.prototype.contains=Ua.prototype.contains=function(a){return this.Na.contains(a)};Ua.prototype.has=Ua.prototype.has=function(a){return this.contains(a)};Ua.prototype.remove=Ua.prototype["delete"]=Ua.prototype.remove=function(){D.k("This Set is read-only: "+this.toString());return!1};Ua.prototype.clear=Ua.prototype.clear=function(){D.k("This Set is read-only: "+this.toString())};
Ua.prototype.first=Ua.prototype.first=function(){var a=this.Na.Ma;return null!==a?a.key:null};Ua.prototype.any=function(a){for(var b=this.Na.Ma;null!==b;){if(a(b.key))return!0;b=b.ib}return!1};Ua.prototype.all=function(a){for(var b=this.Na.Ma;null!==b;){if(!a(b.key))return!1;b=b.ib}return!0};Ua.prototype.each=function(a){for(var b=this.Na.Ma;null!==b;)a(b.key),b=b.ib;return this};Ua.prototype.map=function(a){for(var b=new L,c=this.Na.Ma;null!==c;)b.add(a(c.key)),c=c.ib;return b};
Ua.prototype.filter=function(a){for(var b=new L(this.Na.df),c=this.Na.Ma;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.ib}return b};Ua.prototype.concat=function(a){return this.sH().Yc(a)};Ua.prototype.copy=function(){return new Ua(this.Na)};Ua.prototype.toSet=Ua.prototype.sH=function(){var a=new L(this.Na.df),b=this.Na.Cd,c;for(c in b)a.add(b[c].key);return a};Ua.prototype.toArray=Ua.prototype.Hc=function(){var a=this.Na.Cd,b=Array(this.Na.Bd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
Ua.prototype.toList=function(){var a=new K(this.Na.df),b=this.Na.Cd,c;for(c in b)a.add(b[c].key);return a};D.w(Ua,{count:"count"},function(){return this.Na.Bd});D.w(Ua,{size:"size"},function(){return this.Na.Bd});D.w(Ua,{j:"iterator"},function(){return 0>=this.Na.Bd?Ia:new Ta(this.Na)});function Va(a){this.Na=a;a.wh=null;this.$a=a.I;this.eb=null}D.ne(Va,{key:!0,value:!0});D.w(Va,{j:"iterator"},function(){return this});
Va.prototype.reset=Va.prototype.reset=function(){var a=this.Na;a.wh=null;this.$a=a.I;this.eb=null};Va.prototype.next=Va.prototype.next=function(){var a=this.Na;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.eb,b=null===b?a.Ma:b.ib;if(null!==b)return this.eb=b,this.value=b.value,this.key=b.key,!0;this.Vf();return!1};Va.prototype.hasNext=function(){return this.next()};
Va.prototype.first=Va.prototype.first=function(){var a=this.Na;this.$a=a.I;a=a.Ma;if(null!==a){this.eb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Va.prototype.any=function(a){var b=this.Na;b.wh=null;var c=b.I;this.eb=null;for(var d=b.Ma;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.ib}return!1};Va.prototype.all=function(a){var b=this.Na;b.wh=null;var c=b.I;this.eb=null;for(var d=b.Ma;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.ib}return!0};
Va.prototype.each=function(a){var b=this.Na;b.wh=null;var c=b.I;this.eb=null;for(var d=b.Ma;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.ib;return this};Va.prototype.map=function(a){var b=this.Na;b.wh=null;var c=b.I;this.eb=null;for(var d=new K,e=b.Ma;null!==e;)d.add(a(e.value)),b.I!==c&&D.Va(b),e=e.ib;return d.j};Va.prototype.filter=function(a){var b=this.Na;b.wh=null;var c=b.I;this.eb=null;for(var d=new K(b.df),e=b.Ma;null!==e;){var g=e.value;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.ib}return d.j};
Va.prototype.concat=function(a){this.Na.wh=null;return new La(this,a.j)};D.w(Va,{count:"count"},function(){return this.Na.Bd});Va.prototype.Vf=function(){this.value=this.key=null;this.$a=-1;this.Na.wh=this};Va.prototype.toString=function(){return null!==this.eb?"MapValueSetIterator@"+this.eb.value:"MapValueSetIterator"};function Sa(a,b){this.key=a;this.value=b;this.Lp=this.ib=null}D.ne(Sa,{key:!0,value:!0});Sa.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
function Ya(a){this.Na=a;a.Lb=null;this.$a=a.I;this.eb=null}D.ne(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Na;a.Lb=null;this.$a=a.I;this.eb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Na;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.eb,b=null===b?a.Ma:b.ib;if(null!==b)return this.eb=b,this.key=b.key,this.value=b.value,!0;this.Vf();return!1};Ya.prototype.hasNext=function(){return this.next()};
Ya.prototype.first=Ya.prototype.first=function(){var a=this.Na;this.$a=a.I;a=a.Ma;return null!==a?(this.eb=a,this.key=a.key,this.value=a.value,a):null};Ya.prototype.any=function(a){var b=this.Na;b.Lb=null;var c=b.I;this.eb=null;for(var d=b.Ma;null!==d;){if(a(d))return!0;b.I!==c&&D.Va(b);d=d.ib}return!1};Ya.prototype.all=function(a){var b=this.Na;b.Lb=null;var c=b.I;this.eb=null;for(var d=b.Ma;null!==d;){if(!a(d))return!1;b.I!==c&&D.Va(b);d=d.ib}return!0};
Ya.prototype.each=function(a){var b=this.Na;b.Lb=null;var c=b.I;this.eb=null;for(var d=b.Ma;null!==d;)a(d),b.I!==c&&D.Va(b),d=d.ib;return this};Ya.prototype.map=function(a){var b=this.Na;b.Lb=null;var c=b.I;this.eb=null;for(var d=new K,e=b.Ma;null!==e;)d.add(a(e)),b.I!==c&&D.Va(b),e=e.ib;return d.j};Ya.prototype.filter=function(a){var b=this.Na;b.Lb=null;var c=b.I;this.eb=null;for(var d=new K,e=b.Ma;null!==e;)a(e)&&d.add(e),b.I!==c&&D.Va(b),e=e.ib;return d.j};
Ya.prototype.concat=function(a){this.Na.Lb=null;return new La(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Na.Bd});Ya.prototype.Vf=function(){this.value=this.key=null;this.$a=-1;this.Na.Lb=this};Ya.prototype.toString=function(){return null!==this.eb?"MapIterator@"+this.eb:"MapIterator"};
function ma(a,b){D.xc(this);this.J=!1;void 0===a||null===a?this.df=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.df=a:D.va(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.df=a===Object?"object":a===String?"string":a===Number?"number":a:D.va(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.Ei=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.Ei=b:D.va(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.Ei=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:D.va(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.Cd={};this.Bd=0;this.wh=this.Lb=null;this.I=0;this.li=this.Ma=null}D.ka("Map",ma);
function ab(a,b){null!==a.df&&("string"===typeof a.df?typeof b===a.df&&null!==b||D.mc(b,a.df):b instanceof a.df||D.mc(b,a.df))}ma.prototype.Wc=function(){var a=this.I;a++;999999999<a&&(a=0);this.I=a};ma.prototype.freeze=ma.prototype.freeze=function(){this.J=!0;return this};ma.prototype.thaw=ma.prototype.Xa=function(){this.J=!1;return this};ma.prototype.toString=function(){return"Map("+D.getTypeName(this.df)+","+D.getTypeName(this.Ei)+")#"+D.Md(this)};
ma.prototype.add=ma.prototype.add=function(a,b){v&&(ab(this,a),null!==this.Ei&&("string"===typeof this.Ei?typeof b===this.Ei&&null!==b||D.mc(b,this.Ei):b instanceof this.Ei||D.mc(b,this.Ei)));this.J&&D.qa(this,a);var c=a;D.Qa(a)&&(c=D.yq(a));var d=this.Cd[c];if(void 0===d)return this.Bd++,d=new Sa(a,b),this.Cd[c]=d,c=this.li,null===c?this.Ma=d:(d.Lp=c,c.ib=d),this.li=d,this.Wc(),!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.Yc=function(a){if(null===a)return this;if(D.isArray(a))for(var b=D.fb(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.Ma};ma.prototype.any=function(a){for(var b=this.I,c=this.Ma;null!==c;){if(a(c))return!0;this.I!==b&&D.Va(this);c=c.ib}return!1};
ma.prototype.all=function(a){for(var b=this.I,c=this.Ma;null!==c;){if(!a(c))return!1;this.I!==b&&D.Va(this);c=c.ib}return!0};ma.prototype.each=function(a){for(var b=this.I,c=this.Ma;null!==c;)a(c),this.I!==b&&D.Va(this),c=c.ib;return this};ma.prototype.map=function(a){for(var b=new ma(this.df),c=t