UNPKG

gojs

Version:

Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams

120 lines 873 kB
/* * 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 g,da={};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 f.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),f=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(),f=Math.max(8,16-(c-a)),h=window.setTimeout(function(){b(c+f)},f);a=c+f;return h});window.cancelAnimationFrame||(window.cancelAnimationFrame= function(a){window.clearTimeout(a)})})();da.Debug=null; var w={kd:1,Rc:2,$c:4,Zc:8,En:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("534.30")&&0<window.navigator.userAgent.indexOf("Android"),tI:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 9.0"),jF:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 10.0"),kF:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Trident/7"),YK:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Edge/"),Ek:void 0!==window.navigator&&void 0!== window.navigator.platform&&0<=window.navigator.platform.toUpperCase().indexOf("MAC"),lF:void 0!==window.navigator&&void 0!==window.navigator.platform&&null!==window.navigator.platform.match(/(iPhone|iPod|iPad)/i),wE:function(a,b,c){var d=-1;return function(){var e=this,f=arguments;-1!==d&&w.clearTimeout(d);d=w.setTimeout(function(){d=-1;c||a.apply(e,f)},b);c&&!d&&a.apply(e,f)}},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);},la:function(a,b){var c="The object is frozen, so its properties cannot be set: "+a.toString();void 0!==b&&(c+=" to value: "+b);w.k(c)},G:function(a,b,c,d){a instanceof b||(c=w.getTypeName(c),void 0!==d&&(c+="."+d),w.yd(a,b,c))},j:function(a,b,c,d){typeof a!==b&&(c=w.getTypeName(c),void 0!==d&&(c+="."+d),w.yd(a,b,c))},Fd:function(a,b,c){"number"===typeof a&&isFinite(a)||(b=w.getTypeName(b),void 0!==c&&(b+="."+c),w.k(b+" must be a real number type, and not NaN or Infinity: "+ a))},mb:function(a,b,c,d){a instanceof ea&&a.De===b||(c=w.getTypeName(c),void 0!==d&&(c+="."+d),w.yd(a,"a constant of class "+w.jf(b),c))},xK:function(a,b){"string"===typeof a?fa(a)||w.k('Color "'+a+'" is not a valid color string for '+b):a instanceof ga||w.k("Value for "+b+" must be a color string or a Brush, not "+a)},yd:function(a,b,c,d){b=w.getTypeName(b);c=w.getTypeName(c);void 0!==d&&(c+="."+d);"string"===typeof a?w.k(c+" value is not an instance of "+b+': "'+a+'"'):w.k(c+" value is not an instance of "+ b+": "+a)},Ea:function(a,b,c,d){c=w.getTypeName(c);void 0!==d&&(c+="."+d);w.k(c+" is not in the range "+b+": "+a)},hd:function(a){w.k(w.jf(a)+" constructor cannot take any arguments.")},Ma:function(a){w.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.")},Ej:function(a,b){w.k("No property to set for this enum value: "+b+" on "+a.toString())}, trace:function(a){window.console&&window.console.log(a)},bx:{},Ft:function(a,b){!0!==w.bx[a]&&(w.bx[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},uI:function(a){return Array.isArray(a)},Tz:function(a,b,c){w.isArray(a)||w.yd(a,"Array or NodeList or HTMLCollection",b,c)},Ya:function(a){return a.length}, Hl:function(a){return Array.prototype.slice.call(a)},Da:function(a,b){Array.isArray(a);return a[b]},mE:function(a,b,c){Array.isArray(a)?a[b]=c:w.k("Cannot replace an object in an HTMLCollection or NodeList at "+b)},El: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},qh:function(a,b,c){Array.isArray(a)?b>=a.length?a.push(c):a.splice(b,0,c):w.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Hg:function(a, b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):w.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},vy:[],K:function(){var a=w.vy.pop();return void 0===a?new z:a},xb:function(a,b){var c=w.vy.pop();if(void 0===c)return new z(a,b);c.x=a;c.y=b;return c},v:function(a){w.vy.push(a)},JB:[],im:function(){var a=w.JB.pop();return void 0===a?new ha:a},zk:function(a){w.JB.push(a)},wy:[],Ef:function(){var a=w.wy.pop();return void 0===a?new A:a},hg:function(a,b,c,d){var e=w.wy.pop(); if(void 0===e)return new A(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Db:function(a){w.wy.push(a)},KB:[],Ff:function(){var a=w.KB.pop();return void 0===a?new ia:a},ue:function(a){w.KB.push(a)},xy:null,s:function(){var a=w.xy;return null!==a?(w.xy=null,a):new ja},q:function(a){a.reset();w.xy=a},IB:[],lb:function(){var a=w.IB.pop();return void 0===a?[]:a},wa:function(a){a.length=0;w.IB.push(a)},ho:Object.freeze([]),mm:1,mc:function(a){a.__gohashid=w.mm++},Wp:function(a){var b=a.__gohashid; void 0===b&&(b=w.mm++,a.__gohashid=b);return b},Kd:function(a){return a.__gohashid},fa:function(a,b){b.Gy=a;da[a]=b},Ka:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},ji:function(a){a.SG=!0},defineProperty:function(a,b,c,d,e){w.j(a,"function","Util.defineProperty:classfunc");w.j(b,"object","Util.defineProperty:propobj");w.j(c,"function","Util.defineProperty:getter");w.j(d,"function","Util.defineProperty:setter");for(var f in b){b=b[f];c={get:c,set:d, enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,f,c);e=Object.getOwnPropertyDescriptor(a.prototype,f);b&&e&&Object.defineProperty(a.prototype,b,e);break}},XJ:!1,u:function(a,b,c,d){w.j(a,"function","Util.defineReadOnlyProperty:classfunc");w.j(b,"object","Util.defineReadOnlyProperty:propobj");w.j(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var f=b[e];b={get:c,set:function(a){w.k('The property "'+f+'" 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);f&&d&&Object.defineProperty(a.prototype,f,d);break}},$d:function(a,b){for(var c in b)b[c]=!0;a.prototype.OG=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?w.jf(a):null===a?"*":""},jf:function(a){if("function"===typeof a){if(a.Gy)return a.Gy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9, c).trim();if(""!==b)return a.Gy=b}else if("object"===typeof a&&a.constructor)return w.jf(a.constructor);return typeof a},p:function(a,b,c){w.j(a,"function","Util.defineEnumValue:classfunc");w.j(b,"string","Util.defineEnumValue:name");w.j(c,"number","Util.defineEnumValue:num");c=new ea(a,b,c);Object.freeze(c);a[b]=c;var d=a.Ru;d instanceof ka||(d=new ka("string",ea),a.Ru=d);d.add(b,c);return c},sb: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){}return c},La: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){}},Fu:function(a,b){w.j(a,"object","Setting properties requires Objects as arguments");w.j(b,"object","Setting properties requires Objects as arguments");var c=a instanceof C,d=a instanceof D,e;for(e in b){""===e&&w.k("Setting properties requires non-empty property names");var f=a,h=e;if(c||d){var k= e.indexOf(".");if(0<k){var l=e.substring(0,k);if(c)f=a.ud(l);else if(f=a[l],void 0===f||null===f)f=a.ab[l];w.Qa(f)?h=e.substr(k+1):w.k("Unable to find object named: "+l+" in "+a.toString()+" when trying to set property: "+e)}}if("_"!==h[0]&&!w.aF(f,h))if(d&&"ModelChanged"===h){a.dH(b[h]);continue}else if(d&&"Changed"===h){a.fn(b[h]);continue}else if(d&&w.aF(a.ab,h))f=a.ab;else if(d&&oa(a,h)){a.Oz(h,b[h]);continue}else if(a instanceof F&&"Changed"===h){a.fn(b[h]);continue}else w.k('Trying to set undefined property "'+ h+'" on object: '+f.toString());f[h]=b[e];"_"===h[0]&&f instanceof G&&f.aH(h)}},aF: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.OG;if(d&&d[b])return!0;c=Object.getPrototypeOf(c)}return!1},hJ: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,f="",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,f+=String.fromCharCode(a.charCodeAt(h)^ b[(b[c]+b[d])%256]);return f},hI: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},Ig:function(a){return w.hJ(w.hI(a))},km:null,adym:"7da71ca0ad381e90",vfo:"2be641fdb267",qH:"@COLOR1",rH:"@COLOR2",xE:!1,Ct:null,Dt:null}; w.km=function(){var a=window.document.createElement("canvas"),b=a.getContext("2d");b[w.Ig("7ca11abfd022028846")]=w.Ig("398c3597c01238");for(var c=["5da73c80a36755d3038e4972187c3cae51fd22","32ab5ff3b26f42dc0ed90f22432913b54ae6247590da4bb21c324ba3a84e385776","54a702f3e53909c447824c6706603faf4cfb236cdfda5de14c134ba1a95a2d4c7cc6f93c1387","74bf19bce72555874c86"],d=1;5>d;d++)b[w.Ig("7ca11abfd7330390")](w.Ig(c[d-1]),10,15*d+0);b[w.Ig("7ca11abfd022028846")]=w.Ig("39f046ebb36e4b");for(d=1;5>d;d++)b[w.Ig("7ca11abfd7330390")](w.Ig(c[d- 1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])w.p=function(a,b){var c=new ea(a,b,2);Object.freeze(c);a[b]=c;var d=a.Ru;d instanceof ka||(d=new ka("string",ea),a.Ru=d);d.add(b,c);return c};return a}();function ea(a,b,c){w.mc(this);this.XB=a;this.Qb=b;this.WG=c}w.fa("EnumValue",ea);ea.prototype.toString=function(){return w.jf(this.XB)+"."+this.Qb};w.u(ea,{De:"classType"},function(){return this.XB});w.u(ea,{name:"name"},function(){return this.Qb});w.u(ea,{value:"value"},function(){return this.WG}); var pa;ea.findName=pa=function(a,b){if(void 0===b||null===b||""===b)return null;w.j(a,"function","findName:classfunc");w.j(b,"string","EnumValue.findName:name");var c=a.Ru;return c instanceof ka?c.ja(b):null};function ra(){this.VB=[]}ra.prototype.toString=function(){return this.VB.join("")};ra.prototype.add=function(a){""!==a&&this.VB.push(a)};function sa(){} function ta(a){void 0===a&&(a=42);this.seed=a;this.qy=48271;this.Qu=2147483647;this.HB=this.Qu/this.qy;this.DG=this.Qu%this.qy;this.CG=1/this.Qu;this.random()}ta.prototype.random=function(){var a=this.seed%this.HB*this.qy-this.seed/this.HB*this.DG;this.seed=0<a?a:a+this.Qu;return this.seed*this.CG};function ua(){}w.u(ua,{i:"iterator"},function(){return this});ua.prototype.reset=ua.prototype.reset=function(){};ua.prototype.next=ua.prototype.next=function(){return!1};ua.prototype.hasNext=function(){return!1}; ua.prototype.first=ua.prototype.first=function(){return null};ua.prototype.any=function(){return!1};ua.prototype.all=function(){return!0};ua.prototype.each=function(){return this};ua.prototype.map=function(){return this};ua.prototype.filter=function(){return this};ua.prototype.concat=function(a){return a.i};w.u(ua,{count:"count"},function(){return 0});ua.prototype.Hf=function(){};ua.prototype.toString=function(){return"EmptyIterator"};var va=new ua;function wa(a){this.key=-1;this.value=a} w.$d(wa,{key:!0,value:!0});w.u(wa,{i:"iterator"},function(){return this});wa.prototype.reset=wa.prototype.reset=function(){this.key=-1};wa.prototype.next=wa.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};wa.prototype.hasNext=function(){return this.next()};wa.prototype.first=wa.prototype.first=function(){this.key=0;return this.value};wa.prototype.any=function(a){this.key=-1;return a(this.value)};wa.prototype.all=function(a){this.key=-1;return a(this.value)}; wa.prototype.each=function(a){this.key=-1;a(this.value);return this};wa.prototype.map=function(a){return new wa(a(this.value))};wa.prototype.filter=function(a){return a(this.value)?new wa(this.value):va};wa.prototype.concat=function(a){return new xa(this,a.i)};w.u(wa,{count:"count"},function(){return 1});wa.prototype.Hf=function(){this.value=null};wa.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function xa(a,b){this.il=a;this.jl=b;this.Su=!1}w.$d(xa,{key:!0,value:!0}); w.u(xa,{i:"iterator"},function(){return this});xa.prototype.reset=xa.prototype.reset=function(){this.il.reset();this.jl.reset();this.Su=!1};xa.prototype.next=xa.prototype.next=function(){if(!this.Su){var a=this.il;if(a.next())return this.key=a.key,this.value=a.value,!0;this.Su=!0}return this.Su&&(a=this.jl,a.next())?(this.key=a.key,this.value=a.value,!0):!1};xa.prototype.hasNext=function(){return this.next()}; xa.prototype.first=xa.prototype.first=function(){this.reset();return this.next()?this.value:null};xa.prototype.any=function(a){return this.il.any(a)||this.jl.any(a)?!0:!1};xa.prototype.all=function(a){return this.il.all(a)&&this.jl.all(a)?!0:!1};xa.prototype.each=function(a){this.il.each(a);this.jl.each(a);return this};xa.prototype.map=function(a){return new xa(this.il.map(a),this.jl.map(a))};xa.prototype.filter=function(a){return new xa(this.il.filter(a),this.jl.filter(a))}; xa.prototype.concat=function(a){return new xa(this,a.i)};w.u(xa,{count:"count"},function(){return this.il.count+this.jl.count});xa.prototype.Hf=function(){this.value=this.key=null};xa.prototype.toString=function(){return"ConcatIterator()"};function ya(a){this.vc=a;this.Wh=null;a.Ob=null;this.Ta=a.C;this.uc=-1}w.$d(ya,{key:!0,value:!0});w.u(ya,{i:"iterator"},function(){return this});w.defineProperty(ya,{iq:"predicate"},function(){return this.Wh},function(a){this.Wh=a}); ya.prototype.reset=ya.prototype.reset=function(){var a=this.vc;a.Ob=null;this.Ta=a.C;this.uc=-1};ya.prototype.next=ya.prototype.next=function(){var a=this.vc;if(a.C!==this.Ta){if(0>this.key)return!1;w.Ma(a)}var a=a.n,b=a.length,c=++this.uc,d=this.Wh;if(null!==d)for(;c<b;){var e=a[c];if(d(e))return this.key=this.uc=c,this.value=e,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.Hf()}return!1};ya.prototype.hasNext=function(){return this.next()}; ya.prototype.first=ya.prototype.first=function(){var a=this.vc;this.Ta=a.C;this.uc=0;var a=a.n,b=a.length,c=this.Wh;if(null!==c){for(var d=0;d<b;){var e=a[d];if(c(e))return this.key=this.uc=d,this.value=e;d++}return null}return 0<b?(e=a[0],this.key=0,this.value=e):null};ya.prototype.any=function(a){var b=this.vc;b.Ob=null;var c=b.C;this.uc=-1;for(var d=b.n,e=d.length,f=this.Wh,h=0;h<e;h++){var k=d[h];if(null===f||f(k)){if(a(k))return!0;b.C!==c&&w.Ma(b)}}return!1}; ya.prototype.all=function(a){var b=this.vc;b.Ob=null;var c=b.C;this.uc=-1;for(var d=b.n,e=d.length,f=this.Wh,h=0;h<e;h++){var k=d[h];if(null===f||f(k)){if(!a(k))return!1;b.C!==c&&w.Ma(b)}}return!0};ya.prototype.each=function(a){var b=this.vc;b.Ob=null;var c=b.C;this.uc=-1;for(var d=b.n,e=d.length,f=this.Wh,h=0;h<e;h++){var k=d[h];if(null===f||f(k))a(k),b.C!==c&&w.Ma(b)}return this}; ya.prototype.map=function(a){var b=this.vc;b.Ob=null;var c=b.C;this.uc=-1;for(var d=[],e=b.n,f=e.length,h=this.Wh,k=0;k<f;k++){var l=e[k];if(null===h||h(l))d.push(a(l)),b.C!==c&&w.Ma(b)}a=new I;a.n=d;a.Fc();return a.i};ya.prototype.filter=function(a){var b=this.vc;b.Ob=null;var c=b.C;this.uc=-1;for(var d=[],e=b.n,f=e.length,h=this.Wh,k=0;k<f;k++){var l=e[k];if(null===h||h(l))a(l)&&d.push(l),b.C!==c&&w.Ma(b)}a=new I(b.ma);a.n=d;a.Fc();return a.i}; ya.prototype.concat=function(a){this.vc.Ob=null;return new xa(this,a.i)};w.u(ya,{count:"count"},function(){var a=this.Wh;if(null!==a){for(var b=0,c=this.vc.n,d=c.length,e=0;e<d;e++)a(c[e])&&b++;return b}return this.vc.n.length});ya.prototype.Hf=function(){this.key=-1;this.value=null;this.Ta=-1;this.Wh=null;this.vc.Ob=this};ya.prototype.toString=function(){return"ListIterator@"+this.uc+"/"+this.vc.count};function Aa(a){this.vc=a;a.Li=null;this.Ta=a.C;this.uc=a.n.length}w.$d(Aa,{key:!0,value:!0}); w.u(Aa,{i:"iterator"},function(){return this});Aa.prototype.reset=Aa.prototype.reset=function(){var a=this.vc;a.Li=null;this.Ta=a.C;this.uc=a.n.length};Aa.prototype.next=Aa.prototype.next=function(){var a=this.vc;if(a.C!==this.Ta){if(0>this.key)return!1;w.Ma(a)}var b=--this.uc;if(0<=b)return this.key=b,this.value=a.n[b],!0;this.Hf();return!1};Aa.prototype.hasNext=function(){return this.next()}; Aa.prototype.first=Aa.prototype.first=function(){var a=this.vc;this.Ta=a.C;var b=a.n;this.uc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Aa.prototype.any=function(a){var b=this.vc;b.Li=null;var c=b.C,d=b.n,e=d.length;this.uc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.C!==c&&w.Ma(b)}return!1};Aa.prototype.all=function(a){var b=this.vc;b.Li=null;var c=b.C,d=b.n,e=d.length;this.uc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.C!==c&&w.Ma(b)}return!0}; Aa.prototype.each=function(a){var b=this.vc;b.Li=null;var c=b.C,d=b.n,e=d.length;this.uc=e;for(e-=1;0<=e;e--)a(d[e]),b.C!==c&&w.Ma(b);return this};Aa.prototype.map=function(a){var b=this.vc;b.Li=null;var c=b.C,d=[],e=b.n,f=e.length;this.uc=f;for(f-=1;0<=f;f--)d.push(a(e[f])),b.C!==c&&w.Ma(b);a=new I;a.n=d;a.Fc();return a.i}; Aa.prototype.filter=function(a){var b=this.vc;b.Li=null;var c=b.C,d=[],e=b.n,f=e.length;this.uc=f;for(f-=1;0<=f;f--){var h=e[f];a(h)&&d.push(h);b.C!==c&&w.Ma(b)}a=new I(b.ma);a.n=d;a.Fc();return a.i};Aa.prototype.concat=function(a){this.vc.Li=null;return new xa(this,a.i)};w.u(Aa,{count:"count"},function(){return this.vc.n.length});Aa.prototype.Hf=function(){this.key=-1;this.value=null;this.Ta=-1;this.vc.Li=this}; Aa.prototype.toString=function(){return"ListIteratorBackwards("+this.uc+"/"+this.vc.count+")"}; function I(a){w.mc(this);this.Q=!1;this.n=[];this.C=0;this.Li=this.Ob=null;void 0===a||null===a?this.ma=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ma=a:w.Ea(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ma=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:w.Ea(a,"null, a primitive type name, or a class type", "List constructor: type")}w.fa("List",I);I.prototype.Fc=function(){var a=this.C;a++;999999999<a&&(a=0);this.C=a};I.prototype.freeze=I.prototype.freeze=function(){this.Q=!0;return this};I.prototype.thaw=I.prototype.Ra=function(){this.Q=!1;return this};I.prototype.toString=function(){return"List("+w.getTypeName(this.ma)+")#"+w.Kd(this)};I.prototype.add=I.prototype.add=function(a){null!==a&&(this.Q&&w.la(this,a),this.n.push(a),this.Fc())};I.prototype.push=I.prototype.push=function(a){this.add(a)}; I.prototype.addAll=I.prototype.Hc=function(a){if(null===a)return this;this.Q&&w.la(this);var b=this.n;if(w.isArray(a))for(var c=w.Ya(a),d=0;d<c;d++){var e=w.Da(a,d);b.push(e)}else for(a=a.i;a.next();)e=a.value,b.push(e);this.Fc();return this};I.prototype.clear=I.prototype.clear=function(){this.Q&&w.la(this);this.n.length=0;this.Fc()};I.prototype.contains=I.prototype.contains=function(a){return null===a?!1:-1!==this.n.indexOf(a)};I.prototype.has=I.prototype.has=function(a){return this.contains(a)}; I.prototype.indexOf=I.prototype.indexOf=function(a){return null===a?-1:this.n.indexOf(a)};I.prototype.elt=I.prototype.ea=function(a){var b=this.n;(0>a||a>=b.length)&&w.Ea(a,"0 <= i < length",I,"elt:i");return b[a]};I.prototype.get=I.prototype.get=function(a){return this.ea(a)};I.prototype.setElt=I.prototype.gg=function(a,b){var c=this.n;(0>a||a>=c.length)&&w.Ea(a,"0 <= i < length",I,"setElt:i");this.Q&&w.la(this,a);c[a]=b};I.prototype.set=I.prototype.set=function(a,b){this.gg(a,b)}; I.prototype.first=I.prototype.first=function(){var a=this.n;return 0===a.length?null:a[0]};I.prototype.last=I.prototype.ee=function(){var a=this.n,b=a.length;return 0<b?a[b-1]:null};I.prototype.pop=I.prototype.pop=function(){this.Q&&w.la(this);var a=this.n;return 0<a.length?a.pop():null};I.prototype.any=function(a){for(var b=this.n,c=this.C,d=b.length,e=0;e<d;e++){if(a(b[e]))return!0;this.C!==c&&w.Ma(this)}return!1}; I.prototype.all=function(a){for(var b=this.n,c=this.C,d=b.length,e=0;e<d;e++){if(!a(b[e]))return!1;this.C!==c&&w.Ma(this)}return!0};I.prototype.each=function(a){for(var b=this.n,c=this.C,d=b.length,e=0;e<d;e++)a(b[e]),this.C!==c&&w.Ma(this);return this};I.prototype.map=function(a){for(var b=new I,c=[],d=this.n,e=this.C,f=d.length,h=0;h<f;h++)c.push(a(d[h])),this.C!==e&&w.Ma(this);b.n=c;b.Fc();return b}; I.prototype.filter=function(a){for(var b=new I(this.ma),c=[],d=this.n,e=this.C,f=d.length,h=0;h<f;h++){var k=d[h];a(k)&&c.push(k);this.C!==e&&w.Ma(this)}b.n=c;b.Fc();return b};I.prototype.concat=function(a){return this.copy().Hc(a)};I.prototype.insertAt=I.prototype.Md=function(a,b){0>a&&w.Ea(a,">= 0",I,"insertAt:i");this.Q&&w.la(this,a);var c=this.n;a>=c.length?c.push(b):c.splice(a,0,b);this.Fc();return!0}; I.prototype.remove=I.prototype["delete"]=I.prototype.remove=function(a){if(null===a)return!1;this.Q&&w.la(this,a);var b=this.n;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Fc();return!0};I.prototype.removeAt=I.prototype.Yc=function(a){var b=this.n;(0>a||a>=b.length)&&w.Ea(a,"0 <= i < length",I,"removeAt:i");this.Q&&w.la(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Fc()}; I.prototype.removeRange=I.prototype.removeRange=function(a,b){var c=this.n,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.Q&&w.la(this);for(var e=a,f=b+1;f<d;)c[e++]=c[f++];c.length=d-(b-a+1);this.Fc();return this};I.prototype.copy=function(){var a=new I(this.ma),b=this.n;0<b.length&&(a.n=Array.prototype.slice.call(b));return a};I.prototype.toArray=I.prototype.ec=function(){for(var a=this.n,b=this.count,c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}; I.prototype.toSet=I.prototype.rG=function(){for(var a=new J(this.ma),b=this.n,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};I.prototype.sort=I.prototype.sort=function(a){this.Q&&w.la(this);this.n.sort(a);this.Fc();return this}; I.prototype.sortRange=I.prototype.wq=function(a,b,c){var d=this.n,e=d.length;void 0===b&&(b=0);void 0===c&&(c=e);this.Q&&w.la(this);var f=c-b;if(1>=f)return this;(0>b||b>=e-1)&&w.Ea(b,"0 <= from < length",I,"sortRange:from");if(2===f)return c=d[b],e=d[b+1],0<a(c,e)&&(d[b]=e,d[b+1]=c,this.Fc()),this;if(0===b)if(c>=e)d.sort(a);else for(f=d.slice(0,c),f.sort(a),a=0;a<c;a++)d[a]=f[a];else if(c>=e)for(f=d.slice(b),f.sort(a),a=b;a<e;a++)d[a]=f[a-b];else for(f=d.slice(b,c),f.sort(a),a=b;a<c;a++)d[a]=f[a- b];this.Fc();return this};I.prototype.reverse=I.prototype.reverse=function(){this.Q&&w.la(this);this.n.reverse();this.Fc();return this};w.u(I,{count:"count"},function(){return this.n.length});w.u(I,{size:"size"},function(){return this.n.length});w.u(I,{length:"length"},function(){return this.n.length});w.u(I,{i:"iterator"},function(){if(0>=this.n.length)return va;var a=this.Ob;return null!==a?(a.reset(),a):new ya(this)}); w.u(I,{Hn:"iteratorBackwards"},function(){if(0>=this.n.length)return va;var a=this.Li;return null!==a?(a.reset(),a):new Aa(this)});function Ba(a){this.Yh=a;a.Ob=null;this.Ta=a.C;this.Va=null}w.$d(Ba,{key:!0,value:!0});w.u(Ba,{i:"iterator"},function(){return this});Ba.prototype.reset=Ba.prototype.reset=function(){var a=this.Yh;a.Ob=null;this.Ta=a.C;this.Va=null}; Ba.prototype.next=Ba.prototype.next=function(){var a=this.Yh;if(a.C!==this.Ta){if(null===this.key)return!1;w.Ma(a)}var b=this.Va,b=null===b?a.Ca:b.Xa;if(null!==b)return this.Va=b,this.value=b.value,this.key=b.key,!0;this.Hf();return!1};Ba.prototype.hasNext=function(){return this.next()};Ba.prototype.first=Ba.prototype.first=function(){var a=this.Yh;this.Ta=a.C;a=a.Ca;if(null!==a){this.Va=a;var b=a.value;this.key=a.key;return this.value=b}return null}; Ba.prototype.any=function(a){var b=this.Yh;b.Ob=null;var c=b.C;this.Va=null;for(var d=b.Ca;null!==d;){if(a(d.value))return!0;b.C!==c&&w.Ma(b);d=d.Xa}return!1};Ba.prototype.all=function(a){var b=this.Yh;b.Ob=null;var c=b.C;this.Va=null;for(var d=b.Ca;null!==d;){if(!a(d.value))return!1;b.C!==c&&w.Ma(b);d=d.Xa}return!0};Ba.prototype.each=function(a){var b=this.Yh;b.Ob=null;var c=b.C;this.Va=null;for(var d=b.Ca;null!==d;)a(d.value),b.C!==c&&w.Ma(b),d=d.Xa;return this}; Ba.prototype.map=function(a){var b=this.Yh;b.Ob=null;for(var c=new I,d=b.C,e=b.Ca;null!==e;)c.add(a(e.value)),b.C!==d&&w.Ma(b),e=e.Xa;return c.i};Ba.prototype.filter=function(a){var b=this.Yh;b.Ob=null;for(var c=new I(b.ma),d=b.C,e=b.Ca;null!==e;){var f=e.value;a(f)&&c.add(f);b.C!==d&&w.Ma(b);e=e.Xa}return c.i};Ba.prototype.concat=function(a){this.Yh.Ob=null;return new xa(this,a.i)};w.u(Ba,{count:"count"},function(){return this.Yh.nd}); Ba.prototype.Hf=function(){this.value=this.key=null;this.Ta=-1;this.Yh.Ob=this};Ba.prototype.toString=function(){return null!==this.Va?"SetIterator@"+this.Va.value:"SetIterator"}; function J(a){w.mc(this);this.Q=!1;void 0===a||null===a?this.ma=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ma=a:w.Ea(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ma=a===Object?"object":a===String?"string":a===Number?"number":a:w.Ea(a,"null, a primitive type name, or a class type","Set constructor: type");this.od={};this.nd=0;this.Ob=null;this.C=0;this.Rh=this.Ca=null}w.fa("Set",J); J.prototype.Fc=function(){var a=this.C;a++;999999999<a&&(a=0);this.C=a};J.prototype.freeze=J.prototype.freeze=function(){this.Q=!0;return this};J.prototype.thaw=J.prototype.Ra=function(){this.Q=!1;return this};J.prototype.toString=function(){return"Set("+w.getTypeName(this.ma)+")#"+w.Kd(this)}; J.prototype.add=J.prototype.add=function(a){if(null===a)return!1;this.Q&&w.la(this,a);var b=a;w.Qa(a)&&(b=w.Wp(a));return void 0===this.od[b]?(this.nd++,a=new Ca(a,a),this.od[b]=a,b=this.Rh,null===b?this.Ca=a:(a.ip=b,b.Xa=a),this.Rh=a,this.Fc(),!0):!1};J.prototype.addAll=J.prototype.Hc=function(a){if(null===a)return this;this.Q&&w.la(this);if(w.isArray(a))for(var b=w.Ya(a),c=0;c<b;c++)this.add(w.Da(a,c));else for(a=a.i;a.next();)this.add(a.value);return this}; J.prototype.contains=J.prototype.contains=function(a){if(null===a)return!1;var b=a;return w.Qa(a)&&(b=w.Kd(a),void 0===b)?!1:void 0!==this.od[b]};J.prototype.has=J.prototype.has=function(a){return this.contains(a)};J.prototype.containsAll=function(a){if(null===a)return!0;for(a=a.i;a.next();)if(!this.contains(a.value))return!1;return!0};J.prototype.containsAny=function(a){if(null===a)return!0;for(a=a.i;a.next();)if(this.contains(a.value))return!0;return!1}; J.prototype.first=J.prototype.first=function(){var a=this.Ca;return null===a?null:a.value};J.prototype.any=function(a){for(var b=this.C,c=this.Ca;null!==c;){if(a(c.value))return!0;this.C!==b&&w.Ma(this);c=c.Xa}return!1};J.prototype.all=function(a){for(var b=this.C,c=this.Ca;null!==c;){if(!a(c.value))return!1;this.C!==b&&w.Ma(this);c=c.Xa}return!0};J.prototype.each=function(a){for(var b=this.C,c=this.Ca;null!==c;)a(c.value),this.C!==b&&w.Ma(this),c=c.Xa;return this}; J.prototype.map=function(a){for(var b=new J,c=this.C,d=this.Ca;null!==d;)b.add(a(d.value)),this.C!==c&&w.Ma(this),d=d.Xa;return b};J.prototype.filter=function(a){for(var b=new J(this.ma),c=this.C,d=this.Ca;null!==d;){var e=d.value;a(e)&&b.add(e);this.C!==c&&w.Ma(this);d=d.Xa}return b};J.prototype.concat=function(a){return this.copy().Hc(a)}; J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;this.Q&&w.la(this,a);var b=a;if(w.Qa(a)&&(b=w.Kd(a),void 0===b))return!1;a=this.od[b];if(void 0===a)return!1;var c=a.Xa,d=a.ip;null!==c&&(c.ip=d);null!==d&&(d.Xa=c);this.Ca===a&&(this.Ca=c);this.Rh===a&&(this.Rh=d);delete this.od[b];this.nd--;this.Fc();return!0}; J.prototype.removeAll=J.prototype.Xx=function(a){if(null===a)return this;this.Q&&w.la(this);if(w.isArray(a))for(var b=w.Ya(a),c=0;c<b;c++)this.remove(w.Da(a,c));else for(a=a.i;a.next();)this.remove(a.value);return this};J.prototype.retainAll=function(a){if(null===a||0===this.count)return this;this.Q&&w.la(this);var b=new J(this.ma);b.Hc(a);a=[];for(var c=this.i;c.next();){var d=c.value;b.contains(d)||a.push(d)}this.Xx(a);return this}; J.prototype.clear=J.prototype.clear=function(){this.Q&&w.la(this);this.od={};this.nd=0;this.Rh=this.Ca=null;this.Fc()};J.prototype.copy=function(){var a=new J(this.ma),b=this.od,c;for(c in b)a.add(b[c].value);return a};J.prototype.toArray=J.prototype.ec=function(){var a=Array(this.nd),b=this.od,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};J.prototype.toList=function(){var a=new I(this.ma),b=this.od,c;for(c in b)a.add(b[c].value);return a};w.u(J,{count:"count"},function(){return this.nd}); w.u(J,{size:"size"},function(){return this.nd});w.u(J,{i:"iterator"},function(){if(0>=this.nd)return va;var a=this.Ob;return null!==a?(a.reset(),a):new Ba(this)});function Da(a){this.Fa=a;this.Ta=a.C;this.Va=null}w.$d(Da,{key:!0,value:!0});w.u(Da,{i:"iterator"},function(){return this});Da.prototype.reset=Da.prototype.reset=function(){this.Ta=this.Fa.C;this.Va=null}; Da.prototype.next=Da.prototype.next=function(){var a=this.Fa;if(a.C!==this.Ta){if(null===this.key)return!1;w.Ma(a)}var b=this.Va,b=null===b?a.Ca:b.Xa;if(null!==b)return this.Va=b,this.value=this.key=a=b.key,!0;this.Hf();return!1};Da.prototype.hasNext=function(){return this.next()};Da.prototype.first=Da.prototype.first=function(){var a=this.Fa;this.Ta=a.C;a=a.Ca;return null!==a?(this.Va=a,this.value=this.key=a=a.key):null}; Da.prototype.any=function(a){var b=this.Fa,c=b.C;this.Va=null;for(var d=b.Ca;null!==d;){if(a(d.key))return!0;b.C!==c&&w.Ma(b);d=d.Xa}return!1};Da.prototype.all=function(a){var b=this.Fa,c=b.C;this.Va=null;for(var d=b.Ca;null!==d;){if(!a(d.key))return!1;b.C!==c&&w.Ma(b);d=d.Xa}return!0};Da.prototype.each=function(a){var b=this.Fa,c=b.C;this.Va=null;for(var d=b.Ca;null!==d;)a(d.key),b.C!==c&&w.Ma(b),d=d.Xa;return this}; Da.prototype.map=function(a){var b=this.Fa,c=b.C;this.Va=null;for(var d=new I,e=b.Ca;null!==e;)d.add(a(e.key)),b.C!==c&&w.Ma(b),e=e.Xa;return d.i};Da.prototype.filter=function(a){var b=this.Fa,c=b.C;this.Va=null;for(var d=new I(b.Qh),e=b.Ca;null!==e;){var f=e.key;a(f)&&d.add(f);b.C!==c&&w.Ma(b);e=e.Xa}return d.i};Da.prototype.concat=function(a){return new xa(this,a.i)};w.u(Da,{count:"count"},function(){return this.Fa.nd});Da.prototype.Hf=function(){this.value=this.key=null;this.Ta=-1}; Da.prototype.toString=function(){return null!==this.Va?"MapKeySetIterator@"+this.Va.value:"MapKeySetIterator"};function Ea(a){w.mc(this);this.Q=!0;this.Fa=a}w.Ka(Ea,J);Ea.prototype.freeze=function(){return this};Ea.prototype.Ra=function(){return this};Ea.prototype.toString=function(){return"MapKeySet("+this.Fa.toString()+")"};Ea.prototype.add=Ea.prototype.add=function(){w.k("This Set is read-only: "+this.toString());return!1}; Ea.prototype.set=Ea.prototype.set=function(){w.k("This Set is read-only: "+this.toString());return!1};Ea.prototype.contains=Ea.prototype.contains=function(a){return this.Fa.contains(a)};Ea.prototype.has=Ea.prototype.has=function(a){return this.contains(a)};Ea.prototype.remove=Ea.prototype["delete"]=Ea.prototype.remove=function(){w.k("This Set is read-only: "+this.toString());return!1};Ea.prototype.clear=Ea.prototype.clear=function(){w.k("This Set is read-only: "+this.toString())}; Ea.prototype.first=Ea.prototype.first=function(){var a=this.Fa.Ca;return null!==a?a.key:null};Ea.prototype.any=function(a){for(var b=this.Fa.Ca;null!==b;){if(a(b.key))return!0;b=b.Xa}return!1};Ea.prototype.all=function(a){for(var b=this.Fa.Ca;null!==b;){if(!a(b.key))return!1;b=b.Xa}return!0};Ea.prototype.each=function(a){for(var b=this.Fa.Ca;null!==b;)a(b.key),b=b.Xa;return this};Ea.prototype.map=function(a){for(var b=new J,c=this.Fa.Ca;null!==c;)b.add(a(c.key)),c=c.Xa;return b}; Ea.prototype.filter=function(a){for(var b=new J(this.Fa.Qh),c=this.Fa.Ca;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.Xa}return b};Ea.prototype.concat=function(a){return this.rG().Hc(a)};Ea.prototype.copy=function(){return new Ea(this.Fa)};Ea.prototype.toSet=Ea.prototype.rG=function(){var a=new J(this.Fa.Qh),b=this.Fa.od,c;for(c in b)a.add(b[c].key);return a};Ea.prototype.toArray=Ea.prototype.ec=function(){var a=this.Fa.od,b=Array(this.Fa.nd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b}; Ea.prototype.toList=function(){var a=new I(this.Fa.Qh),b=this.Fa.od,c;for(c in b)a.add(b[c].key);return a};w.u(Ea,{count:"count"},function(){return this.Fa.nd});w.u(Ea,{size:"size"},function(){return this.Fa.nd});w.u(Ea,{i:"iterator"},function(){return 0>=this.Fa.nd?va:new Da(this.Fa)});function Fa(a){this.Fa=a;a.Mi=null;this.Ta=a.C;this.Va=null}w.$d(Fa,{key:!0,value:!0});w.u(Fa,{i:"iterator"},function(){return this}); Fa.prototype.reset=Fa.prototype.reset=function(){var a=this.Fa;a.Mi=null;this.Ta=a.C;this.Va=null};Fa.prototype.next=Fa.prototype.next=function(){var a=this.Fa;if(a.C!==this.Ta){if(null===this.key)return!1;w.Ma(a)}var b=this.Va,b=null===b?a.Ca:b.Xa;if(null!==b)return this.Va=b,this.value=b.value,this.key=b.key,!0;this.Hf();return!1};Fa.prototype.hasNext=function(){return this.next()}; Fa.prototype.first=Fa.prototype.first=function(){var a=this.Fa;this.Ta=a.C;a=a.Ca;if(null!==a){this.Va=a;var b=a.value;this.key=a.key;return this.value=b}return null};Fa.prototype.any=function(a){var b=this.Fa;b.Mi=null;var c=b.C;this.Va=null;for(var d=b.Ca;null!==d;){if(a(d.value))return!0;b.C!==c&&w.Ma(b);d=d.Xa}return!1};Fa.prototype.all=function(a){var b=this.Fa;b.Mi=null;var c=b.C;this.Va=null;for(var d=b.Ca;null!==d;){if(!a(d.value))return!1;b.C!==c&&w.Ma(b);d=d.Xa}return!0}; Fa.prototype.each=function(a){var b=this.Fa;b.Mi=null;var c=b.C;this.Va=null;for(var d=b.Ca;null!==d;)a(d.value),b.C!==c&&w.Ma(b),d=d.Xa;return this};Fa.prototype.map=function(a){var b=this.Fa;b.Mi=null;var c=b.C;this.Va=null;for(var d=new I,e=b.Ca;null!==e;)d.add(a(e.value)),b.C!==c&&w.Ma(b),e=e.Xa;return d.i};Fa.prototype.filter=function(a){var b=this.Fa;b.Mi=null;var c=b.C;this.Va=null;for(var d=new I(b.Qh),e=b.Ca;null!==e;){var f=e.value;a(f)&&d.add(f);b.C!==c&&w.Ma(b);e=e.Xa}return d.i}; Fa.prototype.concat=function(a){this.Fa.Mi=null;return new xa(this,a.i)};w.u(Fa,{count:"count"},function(){return this.Fa.nd});Fa.prototype.Hf=function(){this.value=this.key=null;this.Ta=-1;this.Fa.Mi=this};Fa.prototype.toString=function(){return null!==this.Va?"MapValueSetIterator@"+this.Va.value:"MapValueSetIterator"};function Ca(a,b){this.key=a;this.value=b;this.ip=this.Xa=null}w.$d(Ca,{key:!0,value:!0});Ca.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"}; function Ga(a){this.Fa=a;a.Ob=null;this.Ta=a.C;this.Va=null}w.$d(Ga,{key:!0,value:!0});w.u(Ga,{i:"iterator"},function(){return this});Ga.prototype.reset=Ga.prototype.reset=function(){var a=this.Fa;a.Ob=null;this.Ta=a.C;this.Va=null};Ga.prototype.next=Ga.prototype.next=function(){var a=this.Fa;if(a.C!==this.Ta){if(null===this.key)return!1;w.Ma(a)}var b=this.Va,b=null===b?a.Ca:b.Xa;if(null!==b)return this.Va=b,this.key=b.key,this.value=b.value,!0;this.Hf();return!1};Ga.prototype.hasNext=function(){return this.next()}; Ga.prototype.first=Ga.prototype.first=function(){var a=this.Fa;this.Ta=a.C;a=a.Ca;return null!==a?(this.Va=a,this.key=a.key,this.value=a.value,a):null};Ga.prototype.any=function(a){var b=this.Fa;b.Ob=null;var c=b.C;this.Va=null;for(var d=b.Ca;null!==d;){if(a(d))return!0;b.C!==c&&w.Ma(b);d=d.Xa}return!1};Ga.prototype.all=function(a){var b=this.Fa;b.Ob=null;var c=b.C;this.Va=null;for(var d=b.Ca;null!==d;){if(!a(d))return!1;b.C!==c&&w.Ma(b);d=d.Xa}return!0}; Ga.prototype.each=function(a){var b=this.Fa;b.Ob=null;var c=b.C;this.Va=null;for(var d=b.Ca;null!==d;)a(d),b.C!==c&&w.Ma(b),d=d.Xa;return this};Ga.prototype.map=function(a){var b=this.Fa;b.Ob=null;var c=b.C;this.Va=null;for(var d=new I,e=b.Ca;null!==e;)d.add(a(e)),b.C!==c&&w.Ma(b),e=e.Xa;return d.i};Ga.prototype.filter=function(a){var b=this.Fa;b.Ob=null;var c=b.C;this.Va=null;for(var d=new I,e=b.Ca;null!==e;)a(e)&&d.add(e),b.C!==c&&w.Ma(b),e=e.Xa;return d.i}; Ga.prototype.concat=function(a){this.Fa.Ob=null;return new xa(this,a.i)};w.u(Ga,{count:"count"},function(){return this.Fa.nd});Ga.prototype.Hf=function(){this.value=this.key=null;this.Ta=-1;this.Fa.Ob=this};Ga.prototype.toString=function(){return null!==this.Va?"MapIterator@"+this.Va:"MapIterator"}; function ka(a,b){w.mc(this);this.Q=!1;void 0===a||null===a?this.Qh=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.Qh=a:w.Ea(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.Qh=a===Object?"object":a===String?"string":a===Number?"number":a:w.Ea(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.pt=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"=== b||"function"===b?this.pt=b:w.Ea(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.pt=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:w.Ea(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.od={};this.nd=0;this.Mi=this.Ob=null;this.C=0;this.Rh=this.Ca=null}w.fa("Map",ka); ka.prototype.Fc=function(){var a=this.C;a++;999999999<a&&(a=0);this.C=a};ka.prototype.freeze=ka.prototype.freeze=function(){this.Q=!0;return this};ka.prototype.thaw=ka.prototype.Ra=function(){this.Q=!1;return this};ka.prototype.toString=function(){return"Map("+w.getTypeName(this.Qh)+","+w.getTypeName(this.pt)+")#"+w.Kd(this)}; ka.prototype.add=ka.prototype.add=function(a,b){this.Q&&w.la(this,a);var c=a;w.Qa(a)&&(c=w.Wp(a));var d=this.od[c];if(void 0===d)return this.nd++,d=new Ca(a,b),this.od[c]=d,c=this.Rh,null===c?this.Ca=d:(d.ip=c,c.Xa=d),this.Rh=d,this.Fc(),!0;d.value=b;return!1};ka.prototype.set=ka.prototype.set=function(a,b){return this.add(a,b)}; ka.prototype.addAll=ka.prototype.Hc=function(a){if(null===a)return this;if(w.isArray(a))for(var b=w.Ya(a),c=0;c<b;c++){var d=w.Da(a,c);this.add(d.key,d.value)}else for(a=a.i;a.next();)this.add(a.key,a.value);return this};ka.prototype.first=ka.prototype.first=function(){return this.Ca};ka.prototype.any=function(a){for(var b=this.C,c=this.Ca;null!==c;){if(a(c))return!0;this.C!==b&&w.Ma(this);c=c.Xa}return!1}; ka.prototype.all=function(a){for(var b=this.C,c=this.Ca;null!==c;){if(!a(c))return!1;this.C!==b&&w.Ma(this);c=c.Xa}return!0};ka.prototype.each=function(a){for(var b=this.C,c=this.Ca;null!==c;)a(c),this.C!==b&&w.Ma(this),c=c.Xa;return this};ka.prototype.map=function(a){for(var b=new ka(this.Qh),c=this.C,d=this.Ca;null!==d;)b.add(d.key,a(d)),this.C!==c&&w.Ma(this),d=d.Xa;return b}; ka.prototype.filter=function(a){for(var b=new ka(this.Qh,this.pt),c=this.C,d=this.Ca;null!==d;)a(d)&&b.add(d.key,d.value),this.C!==c&&w.Ma(this),d=d.Xa;return b};ka.prototype.concat=function(a){return this.copy().Hc(a)};ka.prototype.contains=ka.prototype.contains=function(a){var b=a;return w.Qa(a)&&(b=w.Kd(a),void 0===b)?!1:void 0!==this.od[b]};ka.prototype.has=ka.prototype.has=function(a){return this.contains(a)}; ka.prototype.getValue=ka.prototype.ja=function(a){var b=a;if(w.Qa(a)&&(b=w.Kd(a),void 0===b))return null;a=this.od[b];return void 0===a?null:a.value};ka.prototype.get=ka.prototype.get=function(a){return this.ja(a)}; ka.prototype.remove=ka.prototype["delete"]=ka.prototype.remove=function(a){if(null===a)return!1;this.Q&&w.la(this,a);var b=a;if(w.Qa(a)&&(b=w.Kd(a),void 0===b))return!1;a=this.od[b];if(void 0===a)return!1;var c=a.Xa,d=a.ip;null!==c&&(c.ip=d);null!==d&&(d.Xa=c);this.Ca===a&&(this.Ca=c);this.Rh===a&&(this.Rh=d);delete this.od[b];this.nd--;this.Fc();return!0};ka.prototype.clear=ka.prototype.clear=function(){this.Q&&w.la(this);this.od={};this.nd=0;this.Rh=this.Ca=null;this.Fc()}; ka.prototype.copy=function(){var a=new ka(this.Qh,this.pt),b=this.od,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};ka.prototype.toArray=ka.prototype.ec=function(){var a=this.od,b=Array(this.nd),c=0,d;for(d in a){var e=a[d];b[c]=new Ca(e.key,e.value);c++}return b};ka.prototype.toKeySet=ka.prototype.Fj=function(){return new Ea(this)};w.u(ka,{count:"count"},function(){return this.nd});w.u(ka,{size:"size"},function(){return this.nd}); w.u(ka,{i:"iterator"},function(){if(0>=this.count)return va;var a=this.Ob;return null!==a?(a.reset(),a):new Ga(this)});w.u(ka,{sF:"iteratorKeys"},function(){return 0>=this.count?va:new Da(this)});w.u(ka,{tF:"iteratorValues"},function(){if(0>=this.count)return va;var a=this.Mi;return null!==a?(a.reset(),a):new Fa(this)});function z(a,b){void 0===a?this.y=this.x=0:(this.x=a,this.y=b)}w.fa("Point",z);w.ji(z);w.$d(z,{x:!0,y:!0});z.prototype.assign=function(a){this.x=a.x;this.y=a.y}; z.prototype.setTo=z.prototype.m=function(a,b){this.x=a;this.y=b;return this};z.prototype.set=z.prototype.set=function(a){this.x=a.x;this.y=a.y;return this};z.prototype.copy=function(){var a=new z;a.x=this.x;a.y=this.y;return a};z.prototype.Ga=function(){Object.freeze(this);return this};z.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};z.prototype.freeze=function(){return this};z.prototype.Ra=function(){Object.isFrozen(this)&&w.k("cannot thaw constant: "+this);return this}; z.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new z(c,e)}return new z};z.stringify=function(a){return a.x.toString()+" "+a.y.toString()};z.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};z.prototype.equals=z.prototype.L=function(a){return a instanceof z?this.x===a.x&&this.y===a.y:!1}; z.prototype.equalTo=z.prototype.hx=function(a,b){return this.x===a&&this.y===b};z.prototype.equalsApprox=z.prototype.Ic=function(a){return K(this.x,a.x)&&K(this.y,a.y)};z.prototype.add=z.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};z.prototype.subtract=z.prototype.Zn=function(a){this.x-=a.x;this.y-=a.y;return this};z.prototype.offset=z.prototype.offset=function(a,b){this.x+=a;this.y+=b;return this}; z.prototype.rotate=z.prototype.rotate=function(a){if(0===a)return this;var b=this.x,c=this.y;if(0===b&&0===c)return this;var d=0,e=0;360<=a?a-=360:0>a&&(a+=360);90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(a=a*Math.PI/180,d=Math.cos(a),e=Math.sin(a));this.x=d*b-e*c;this.y=e*b+d*c;return this};z.prototype.scale=z.prototype.scale=function(a,b){this.x*=a;this.y*=b;return this};z.prototype.distanceSquaredPoint=z.prototype.vf=function(a){var b=a.x-this.x;a=a.y-this.y;return b*b+a*a}; z.prototype.distanceSquared=z.prototype.Qp=function(a,b){var c=a-this.x,d=b-this.y;return c*c+d*d};z.prototype.normalize=z.prototype.normalize=function(){var a=this.x,b=this.y,c=Math.sqrt(a*a+b*b);0<c&&(this.x=a/c,this.y=b/c);return this};z.prototype.directionPoint=z.prototype.Rb=function(a){return Ha(a.x-this.x,a.y-this.y)};z.prototype.direction=z.prototype.direction=function(a,b){return Ha(a-this.x,b-this.y)}; function Ha(a,b){if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;var c=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}z.prototype.projectOntoLineSegment=function(a,b,c,d){Ia(a,b,c,d,this.x,this.y,this);return this};z.prototype.projectOntoLineSegmentPoint=function(a,b){Ia(a.x,a.y,b.x,b.y,this.x,this.y,this);return this};z.prototype.snapToGrid=function(a,b,c,d){Ka(this.x,this.y,a,b,c,d,this);return this}; z.prototype.snapToGridPoint=function(a,b){Ka(this.x,this.y,a.x,a.y,b.width,b.height,this);return this};z.prototype.setRectSpot=z.prototype.Wn=function(a,b){this.x=a.x+b.x*a.width+b.offsetX;this.y=a.y+b.y*a.height+b.offsetY;return this};z.prototype.setSpot=z.prototype.Hu=function(a,b,c,d,e){this.x=a+e.x*c+e.offsetX;this.y=b+e.y*d+e.offsetY;return this};z.prototype.transform=function(a){a.nb(this);return this};function La(a,b){b.li(a);return a}var Ma; z.distanceLineSegmentSquared=Ma=function(a,b,c,d,e,f){var h=e-c,k=f-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=e-a,k=f-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var Na;z.distanceSquared=Na=function(a,b,c,d){a=c-a;b=d-b;return a*a+b*b};var Oa;z.direction=Oa=function(a,b,c,d){a=c-a;b=d-b;if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;d=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d}; z.prototype.isReal=z.prototype.I=function(){return isFinite(this.x)&&isFinite(this.y)};function ha(a,b){void 0===a?this.height=this.width=0:(this.width=a,this.height=b)}w.fa("Size",ha);w.ji(ha);w.$d(ha,{width:!0,height:!0});ha.prototype.assign=function(a){this.width=a.width;this.height=a.height};ha.prototype.setTo=ha.prototype.m=function(a,b){this.width=a;this.height=b;return this};ha.prototype.set=ha.prototype.set=function(a){this.width=a.width;this.height=a.height;return this}; ha.prototype.copy=function(){var a=new ha;a.width=this.width;a.height=this.height;return a};ha.prototype.Ga=function(){Object.freeze(this);return this};ha.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};ha.prototype.freeze=function(){return this};ha.prototype.Ra=function(){Object.isFrozen(this)&&w.k("cannot thaw constant: "+this);return this}; ha.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new ha(c,e)}return new ha};ha.stringify=function(a){return a.width.toString()+" "+a.height.toString()};ha.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};ha.prototype.equals=ha.prototype.L=function(a){return a instanceof ha?this.width===a.width&&this.height===a.height:!1}; ha.prototype.equalTo=ha.prototype.hx=function(a,b){return this.width===a&&this.height===b};ha.prototype.equalsApprox=ha.prototype.Ic=function(a){return K(this.width,a.width)&&K(this.height,a.height)};ha.prototype.isReal=ha.prototype.I=function(){return isFinite(this.width)&&isFinite(this.height)}; function A(a,b,c,d){void 0===a?this.height=this.width=this.y=this.x=0:a instanceof z?b instanceof z?(this.x=Math.min(a.x,b.x),this.y=Math.min(a.y,b.y),this.width=Math.abs(a.x-b.x),this.height=Math.abs(a.y-b.y)):b instanceof ha?(this.x=a.x,this.y=a.y,this.width=b.width,this.height=b.height):w.k("Incorrect arguments supplied to Rect constructor"):(this.x=a,this.y=b,this.width=c,this.height=d)}w.fa("Rect",A);w.ji(A);w.$d(A,{x:!0,y:!0,width:!0,height:!0}); A.prototype.assign=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height};function Pa(a,b,c){a.width=b;a.height=c}A.prototype.setTo=A.prototype.m=function(a,b,c,d){this.x=a;this.y=b;this.width=c;this.height=d;return this};A.prototype.set=A.prototype.set=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height;return this};A.prototype.setPoint=A.prototype.Ug=function(a){this.x=a.x;this.y=a.y;return this}; A.prototype.setSize=function(a){this.width=a.width;this.height=a.height;return this};A.prototype.copy=function(){var a=new A;a.x=this.x;a.y=this.y;a.width=this.width;a.height=this.height;return a};A.prototype.Ga=function(){Object.freeze(this);return this};A.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};A.prototype.freeze=function(){return this};A.prototype.Ra=function(){Object.isFrozen(this)&&w.k("cannot thaw constant: "+this);return this}; A.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var f=0;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new A(c,e,f,h)}return new A};A.stringify=function(a){return a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString()}; A.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};A.prototype.equals=A.prototype.L=function(a){return a instanceof A?this.x===a.x&&this.y===a.y&&this.width===a.width&&this.height===a.height:!1};A.prototype.equalTo=A.prototype.hx=function(a,b,c,d){return this.x===a&&this.y===b&&this.width===c&&this.height===d};A.prototype.equalsApprox=A.prototype.Ic=function(a){return K(this.x,a.x)&&K(this.y,a.y)&&K(this.width,a.width)&&K(this.height,a.height)}; function Qa(a,b){return Va(a.x,b.x)&&Va(a.y,b.y)&&Va(a.width,b.width)&&Va(a.height,b.height)}A.prototype.containsPoint=A.prototype.Ha=function(a){return this.x<=a.x&&this.x+th