UNPKG

graojs

Version:

graoJS - A full stack MVC NodeJS framework

118 lines 851 kB
/* * GoJS v1.4.27 JavaScript Library for HTML Canvas Diagrams * Northwoods Software, http://www.nwoods.com/ * GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation. * Copyright (C) 1998-2015 by Northwoods Software Corporation. All Rights Reserved. * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: http://www.gojs.net/1.4.27/doc/license.html. */ (function(window) { var aa,ba={};if(void 0===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.prototype.__defineGetter__&&!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript"); Object.prototype.__defineGetter__&&!Object.defineProperty&&(Object.defineProperty=function(a,b,c){c.get&&a.__defineGetter__(b,c.get);c.set&&a.__defineSetter__(b,c.set)});Object.prototype.__lookupGetter__&&!Object.getOwnPropertyDescriptor&&(Object.getOwnPropertyDescriptor=function(a,b){return{get:a.__lookupGetter__(b),set:a.__lookupSetter__(b)}});Object.getPrototypeOf||(Object.getPrototypeOf=function(a){return a.__proto__});Object.isFrozen||(Object.isFrozen=function(a){return!0===a.pH}); Object.freeze||(Object.freeze=function(a){a.pH=!0});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,f.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,f=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){clearTimeout(a)})})();var e={Rz:!1,uK:!1,FF:!1,QE:!1,ZH:!1,assert:!1,hK:null,kK:function(){},mK:function(){},lK:function(){},jK:function(){},rK:function(){},nK:function(){},pK:function(){},oK:function(){},iK:!1,OK:!1,LK:!1,MK:!1,BI:!1,qK:function(){}},e=null;ba.Debug=null; var t={ji:Object.freeze([]),gA:{},CE:0,Gw:{},fA:0,$s:"...",kt:{},Lw:0,lB:[],lx:null,ln:document.createElement("canvas").getContext("2d"),Tp:"",fK:document.createElement("img"),$z:[],gB:"ontouchstart"in window,RK:"ongesturestart"in window,lE:!1,Ts:null,Us:null,Ss:null,lw:"",Um:window.navigator&&0<window.navigator.userAgent.indexOf("534.30")&&0<window.navigator.userAgent.indexOf("Android"),Qw:window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 10.0"),tA:window.navigator&&0<window.navigator.userAgent.indexOf("Trident/7"), Vm:0<=navigator.platform.toUpperCase().indexOf("MAC"),WI:navigator.platform.match(/(iPhone|iPod|iPad)/i),TG:!1,WG:!1,VG:!1,UG:!1,mE:null,Zp:!1,RG:!1,SG:!1,iE:function(a,b,c){var d;return function(){var f=this,g=arguments;clearTimeout(d);d=setTimeout(function(){d=null;c||a.apply(f,g)},b);c&&!d&&a.apply(f,g)}},m:function(a){e&&e.ZH&&alert(a);throw Error(a);},L:function(a,b){if(a.nb){var c="The object is frozen, so its properties cannot be set: "+a.toString();void 0!==b&&(c+=" to value: "+b);t.m(c)}}, l:function(a,b,c,d){a instanceof b||(c=t.$h(c),void 0!==d&&(c+="."+d),t.bc(a,b,c))},i:function(a,b,c,d){typeof a!==b&&(c=t.$h(c),void 0!==d&&(c+="."+d),t.bc(a,b,c))},q:function(a,b,c){"number"===typeof a&&isFinite(a)||(b=t.$h(b),void 0!==c&&(b+="."+c),t.m(b+" must be a real number type, and not NaN or Infinity: "+a))},Aa:function(a,b,c,d){a instanceof ca&&a.Re===b||(c=t.$h(c),void 0!==d&&(c+="."+d),t.bc(a,"a constant of class "+t.xg(b),c))},To:function(a,b){"string"===typeof a?da(a)||t.m('Color "'+ a+'" is not a valid color string for '+b):a instanceof ea||t.m("Value for "+b+" must be a color string or a Brush, not "+a)},bc:function(a,b,c,d){b=t.$h(b);c=t.$h(c);void 0!==d&&(c+="."+d);"string"===typeof a?t.m(c+" value is not an instance of "+b+': "'+a+'"'):t.m(c+" value is not an instance of "+b+": "+a)},ka:function(a,b,c,d){c=t.$h(c);void 0!==d&&(c+="."+d);t.m(c+" is not in the range "+b+": "+a)},ad:function(a){t.m(t.xg(a)+" constructor cannot take any arguments.")},Qb:function(a){t.m("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.")},trace:function(a){window&&window.console&&window.console.log(a)},qb:function(a){return"object"===typeof a&&null!==a},zc:null,Ym:function(a,b,c,d){for(b=0;b<a.length;b++){var f=a[b];t.qb(f)&&(f=t.yf(f,c,d));a[b]=f}return d||t.zc(a)?a:window.ko.observableArray(a)},yf:function(a,b,c){if(a)for(var d in a)"__gohashid"!==d&&(a[d]=t.hJ(a,d,b, c));return a},hJ:function(a,b,c,d){var f=a[b],g;g=t.zc(f)?f:Array.isArray(f)?t.Ym(f,b,c,d):window.ko.observable(f);if(d){if(d=g.DB){h=c.__gohashid;d[h]&&(d[h].dispose(),delete d[h]);var h=!1,k;for(k in d){h=!0;break}}!h&&g.pu&&(g.pu.dispose(),delete g.pu)}else{g.pu||(g.pu=g.subscribe(function(a){g.to=a},null,"beforeChange"));d=g.DB;d||(g.DB=d={});var h=c.__gohashid;d[h]||(d[h]=g.subscribe(function(d){c.mx(a,b,g.to,d)}))}return g},isArray:function(a){return Array.isArray(a)||t.zc&&t.zc(a)||a instanceof NodeList||a instanceof HTMLCollection},YI:function(a){return Array.isArray(a)||t.zc&&t.zc(a)},Rs:function(a,b,c){t.isArray(a)||t.bc(a,"Array or NodeList or HTMLCollection",b,c)},ub:function(a){t.zc&&t.zc(a)&&(a=a());return a.length},lb:function(a,b){t.zc&&t.zc(a)&&(a=a());Array.isArray(a);return a[b]},MD:function(a,b,c){t.zc&&t.zc(a)&&(a=a());Array.isArray(a)?a[b]=c:t.m("Cannot replace an object in an HTMLCollection or NodeList at "+b)},Pz:function(a,b){t.zc&&t.zc(a)&&(a=a());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},Ti:function(a,b,c){t.zc&&t.zc(a)&&(a=a());Array.isArray(a)?b>=a.length?a.push(c):a.splice(b,0,c):t.m("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Ui:function(a,b){t.zc&&t.zc(a)&&(a=a());Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):t.m("Cannot remove an object from an HTMLCollection or NodeList at "+b)},by:[],K:function(){var a=t.by.pop();return void 0===a?new w:a},mc:function(a,b){var c=t.by.pop();if(void 0=== c)return new w(a,b);c.x=a;c.y=b;return c},B:function(a){t.by.push(a)},zB:[],Cl:function(){var a=t.zB.pop();return void 0===a?new fa:a},ck:function(a){t.zB.push(a)},ey:[],Gf:function(){var a=t.ey.pop();return void 0===a?new x:a},ik:function(a,b,c,d){var f=t.ey.pop();if(void 0===f)return new x(a,b,c,d);f.x=a;f.y=b;f.width=c;f.height=d;return f},hc:function(a){t.ey.push(a)},AB:[],oh:function(){var a=t.AB.pop();return void 0===a?new ga:a},We:function(a){t.AB.push(a)},gy:null,u:function(){var a=t.gy;return null!== a?(t.gy=null,a):new ha},v:function(a){a.reset();t.gy=a},yB:[],Db:function(){var a=t.yB.pop();return void 0===a?[]:a},ya:function(a){a.length=0;t.yB.push(a)},BB:1,Ac:function(a){a.__gohashid=t.BB++},jt:function(a){var b=a.__gohashid;void 0===b&&(b=t.BB++,a.__gohashid=b);return b},od:function(a){return a.__gohashid},g:function(a,b,c){"name"!==b&&"length"!==b&&(a[b]=c)},ga:function(a,b){b.oy=a;ba[a]=b},Ka:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a}, Xh:function(a){a.tH=!0},defineProperty:function(a,b,c,d,f){t.i(a,"function","Util.defineProperty:classfunc");t.i(b,"object","Util.defineProperty:propobj");t.i(c,"function","Util.defineProperty:getter");t.i(d,"function","Util.defineProperty:setter");for(var g in b){var h=b[g];b={get:c,set:d};if(void 0!==f)for(var k in f)b[k]=f[k];Object.defineProperty(a.prototype,g,b);f=Object.getOwnPropertyDescriptor(a.prototype,g);h&&f&&Object.defineProperty(a.prototype,h,f);if(e&&h){var l=h.charAt(0).toUpperCase()+ h.slice(1);h===l&&t.m('Defining capitalized property "'+l+'"!?');Object.defineProperty(a.prototype,l,{get:function(){t.Qw||t.tA||t.trace('Getting the property "'+l+'" is probably not what you intended: it is capitalized but should be spelled "'+h+'"')},set:function(){t.m('Setting the property "'+l+'" is probably not what you intended: it is capitalized but should be spelled "'+h+'"')}})}break}},A:function(a,b,c,d){t.i(a,"function","Util.defineReadOnlyProperty:classfunc");t.i(b,"object","Util.defineReadOnlyProperty:propobj"); t.i(c,"function","Util.defineReadOnlyProperty:getter");for(var f in b){var g=b[f];b={get:c,set:function(a){t.m('The property "'+g+'" is read-only and cannot be set to '+a)}};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,f,b);d=Object.getOwnPropertyDescriptor(a.prototype,f);g&&d&&Object.defineProperty(a.prototype,g,d);if(e&&g){var k=g.charAt(0).toUpperCase()+g.slice(1);Object.defineProperty(a.prototype,k,{get:function(){t.Qw||t.tA||t.trace('Getting the property "'+k+'" is probably not what you intended: it is capitalized but should be spelled "'+ g+'"')},set:function(){t.m('Setting the read-only property "'+k+'" is probably not what you intended: it is capitalized but should be spelled "'+g+'", and cannot be set anyway')}})}break}},Vd:function(a,b){for(var c in b)b[c]=!0;a.prototype.WC=b},$h:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?t.xg(a):null===a?"*":""},xg:function(a){if("function"===typeof a){if(a.oy)return a.oy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("(");if(b=b.substring(9,c).trim())return a.oy= b}else if("object"===typeof a&&a.constructor)return t.xg(a.constructor);return typeof a},w:function(a,b,c){t.i(a,"function","Util.defineEnumValue:classfunc");t.i(b,"string","Util.defineEnumValue:name");t.i(c,"number","Util.defineEnumValue:num");c=new ca(a,b,c);Object.freeze(c);a[b]=c;var d=a.cu;d||(d=new ia("string",ca),a.cu=d);d.add(b,c);return c},Pm:function(a,b){if(!b)return null;t.i(a,"function","Util.findEnumValueForName:classfunc");t.i(b,"string","Util.findEnumValueForName:name");var c=a.cu; return c?c.za(b):null},gI:function(a,b,c,d){var f={},g;for(g in a){for(var h=!1,k=1;k<arguments.length;k++)if(arguments[k]===g){h=!0;break}h||(f[g]=a[g])}return f},ib: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],t.zc&&t.zc(c)&&(c=c()))}catch(d){e&&t.trace("property get error: "+d.toString())}return c},Qa:function(a,b,c){if(a&&b)try{if("function"===typeof b)b(a,c);else if("function"=== typeof a.setAttribute)a.setAttribute(b,c);else if(t.zc){var d=a[b];t.zc(d)?d(c):a[b]=c}else a[b]=c}catch(f){e&&t.trace("property set error: "+f.toString())}},tx:function(a,b){t.i(a,"object","Setting properties requires Objects as arguments");t.i(b,"object","Setting properties requires Objects as arguments");var c=e;c||(e=t);var d=a instanceof y,f=a instanceof z,g;for(g in b){g||t.m("Setting properties requires non-empty property names");var h=a,k=g;if(d||f){var l=g.indexOf(".");if(0<l){var m=g.substring(0, l);d?h=a.oe(m):(h=a[m])||(h=a.wb[m]);h?k=g.substr(l+1):t.m("Unable to find object named: "+m+" in "+a.toString()+" when trying to set property: "+g)}}if("_"!==k[0]&&!t.Jw(h,k))if(f&&t.Jw(a.wb,k))h=a.wb;else if(f&&ja(a,k)){a.Jz(k,b[k]);continue}else t.m('Trying to set undefined property "'+k+'" on object: '+h.toString());h[k]=b[g];"_"===k[0]&&(l=h.Ml,l||(l=[],h.Ml=l),l.push(k))}e=c;return a},Jw:function(a,b){for(var c=Object.getPrototypeOf(a);c&&c!==Function;){if(c.hasOwnProperty(b))return!0;var d= c.WC;if(d&&d[b])return!0;c=Object.getPrototypeOf(c)}return!1},SD:function(a,b){if(!t.qb(b)||b instanceof Element||b instanceof CanvasRenderingContext2D)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 f=t.ib(b,d);null===f||"function"===typeof f||t.Jw(b,d)||(""===c&&(c=b+"\n"),c+=' unknown property "'+d+'" has value: '+f+" at "+a+"\n")}return c},jw:function(a,b){if(b&&"number"!==typeof b&& "string"!==typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==t.od(b)){if(!t.Gv.contains(b))if(t.Gv.add(b),t.gv.add(t.SD(a,b)),b instanceof B||b instanceof ma||b instanceof ia)for(var c=b.k;c.next();)t.jw(a+"["+c.key+"]",c.value);else for(c in b){var d=t.ib(b,c);if(void 0!==d&&null!==d&&t.qb(d)&&d!==b.WC){if(b instanceof na){if(d===b.no)continue}else if(b instanceof y){if("data"===c||d===b.Ol)continue;if("itemArray"===c||d===b.yi)continue;if(b instanceof C&&d===b.Fj)continue}else if(!(b instanceof z))if(b instanceof oa){if("archetypeGroupData"===c||d===b.jy)continue}else if(b instanceof qa){if("archetypeLinkData"===c||d===b.ly)continue;if("archetypeLabelNodeData"===c||d===b.ky)continue}else if(b instanceof ra){if("archetypeNodeData"===c||d===b.xk)continue}else if(b instanceof E){if("nodeDataArray"===c||d===b.Me)continue;if("linkDataArray"===c||d===b.Xg||d===b.em)continue;if(d===b.Bc)continue;if(d===b.xh)continue}else if(b instanceof ta||b instanceof ua||b instanceof va)continue;t.jw(a+"."+ c,d)}}}else if(Array.isArray(b))for(c=0;c<b.length;c++)t.jw(a+"["+c+"]",b[c]);else t.gv.add(t.SD(a,b))},bI:function(a){void 0===t.Gv?t.Gv=new ma:t.Gv.clear();t.gv=new xa;t.jw("",a);a=t.gv.toString();t.gv=null;return a},EJ:function(a){for(var b=[],c=0;256>c;c++)b[c]=c;for(var d=0,f,c=0;256>c;c++)d=(d+b[c]+119)%256,f=b[c],b[c]=b[d],b[d]=f;for(var d=c=0,g="",h=0;h<a.length;h++)c=(c+1)%256,d=(d+b[c])%256,f=b[c],b[c]=b[d],b[d]=f,g+=String.fromCharCode(a.charCodeAt(h)^b[(b[c]+b[d])%256]);return g},OI: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=[],f=0,c=0;c<a.length;c+=2)d[f++]=b[a.substr(c,2)];a=d.join("");return""===a?"0":a},Ha:function(a){return t.EJ(t.OI(a))},Gl:null,dw:"7da71ca0ad381e90",cI:"@COLOR1",dI:"@COLOR2"}; t.Gl=function(){var a=document.createElement("canvas"),b=a.getContext("2d");b[t.Ha("7ca11abfd022028846")]=t.Ha("398c3597c01238");for(var c=["5da73c80a3330d854f9e5e671d6633","32ab5ff3b26f42dc0ed90f22412913b54ae6247590da4bb21c324ba3a84e385776","54a702f3e53909c447824c6706603faf4cfb236cdfda5de14c134ba1a95a2d4c7cc6f93c1387","74bf19bce72555874c86"],d=1;5>d;d++)b[t.Ha("7ca11abfd7330390")](t.Ha(c[d-1]),10,15*d+0);b[t.Ha("7ca11abfd022028846")]=t.Ha("39f046ebb36e4b");for(d=1;5>d;d++)b[t.Ha("7ca11abfd7330390")](t.Ha(c[d- 1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])t.w=function(a,b){var c=new ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.cu;d||(d=new ia("string",ca),a.cu=d);d.add(b,c);return c};return a}();function ca(a,b,c){t.Ac(this);this.JB=a;this.Zb=b;this.yH=c}ca.prototype.toString=function(){return t.xg(this.JB)+"."+this.Zb};t.A(ca,{Re:"classType"},function(){return this.JB});t.A(ca,{name:"name"},function(){return this.Zb});t.A(ca,{value:"value"},function(){return this.yH}); function xa(){this.IB=[]}xa.prototype.toString=function(){return this.IB.join("")};xa.prototype.add=function(a){a&&this.IB.push(a)};function ya(){}t.A(ya,{k:"iterator"},function(){return this});ya.prototype.reset=ya.prototype.reset=function(){};ya.prototype.next=ya.prototype.hasNext=ya.prototype.next=function(){return!1};ya.prototype.first=ya.prototype.$a=function(){return null};ya.prototype.any=function(){return!1};ya.prototype.all=function(){return!0};ya.prototype.each=function(){}; t.A(ya,{count:"count"},function(){return 0});ya.prototype.cg=function(){};ya.prototype.toString=function(){return"EmptyIterator"};t.ag=new ya;function Aa(a){this.key=-1;this.value=a}t.Vd(Aa,{key:!0,value:!0});t.A(Aa,{k:"iterator"},function(){return this});Aa.prototype.reset=Aa.prototype.reset=function(){this.key=-1};Aa.prototype.next=Aa.prototype.hasNext=Aa.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};Aa.prototype.first=Aa.prototype.$a=function(){this.key=0;return this.value}; Aa.prototype.any=function(a){this.key=-1;return a(this.value)};Aa.prototype.all=function(a){this.key=-1;return a(this.value)};Aa.prototype.each=function(a){this.key=-1;a(this.value)};t.A(Aa,{count:"count"},function(){return 1});Aa.prototype.cg=function(){this.value=null};Aa.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Ba(a){this.Dd=a;this.Ij=null;this.reset()}t.Vd(Ba,{key:!0,value:!0});t.A(Ba,{k:"iterator"},function(){return this});t.g(Ba,"predicate",Ba.prototype.tl); t.defineProperty(Ba,{tl:"predicate"},function(){return this.Ij},function(a){this.Ij=a});Ba.prototype.reset=Ba.prototype.reset=function(){var a=this.Dd;a.Cd=null;this.Ya=a.V;this.Vc=-1};Ba.prototype.next=Ba.prototype.hasNext=Ba.prototype.next=function(){var a=this.Dd;a.V!==this.Ya&&t.Qb(a);var a=a.n,b=a.length,c=++this.Vc,d=this.Ij;if(null!==d)for(;c<b;){var f=a[c];if(d(f))return this.key=this.Vc=c,this.value=f,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.cg()}return!1}; Ba.prototype.first=Ba.prototype.$a=function(){var a=this.Dd;this.Ya=a.V;this.Vc=0;var a=a.n,b=a.length,c=this.Ij;if(null!==c){for(var d=0;d<b;){var f=a[d];if(c(f))return this.key=this.Vc=d,this.value=f;d++}return null}return 0<b?(f=a[0],this.key=0,this.value=f):null};Ba.prototype.any=function(a){var b=this.Dd;b.Cd=null;var c=b.V;this.Vc=-1;for(var d=b.n,f=d.length,g=this.Ij,h=0;h<f;h++){var k=d[h];if(null===g||g(k)){if(a(k))return!0;b.V!==c&&t.Qb(b)}}return!1}; Ba.prototype.all=function(a){var b=this.Dd;b.Cd=null;var c=b.V;this.Vc=-1;for(var d=b.n,f=d.length,g=this.Ij,h=0;h<f;h++){var k=d[h];if(null===g||g(k)){if(!a(k))return!1;b.V!==c&&t.Qb(b)}}return!0};Ba.prototype.each=function(a){var b=this.Dd;b.Cd=null;var c=b.V;this.Vc=-1;for(var d=b.n,f=d.length,g=this.Ij,h=0;h<f;h++){var k=d[h];if(null===g||g(k))a(k),b.V!==c&&t.Qb(b)}};t.A(Ba,{count:"count"},function(){var a=this.Ij;if(null!==a){for(var b=0,c=this.Dd.n,d=c.length,f=0;f<d;f++)a(c[f])&&b++;return b}return this.Dd.n.length}); Ba.prototype.cg=function(){this.key=-1;this.value=null;this.Ya=-1;this.Ij=null;this.Dd.Cd=this};Ba.prototype.toString=function(){return"ListIterator@"+this.Vc+"/"+this.Dd.count};function Ca(a){this.Dd=a;this.reset()}t.Vd(Ca,{key:!0,value:!0});t.A(Ca,{k:"iterator"},function(){return this});Ca.prototype.reset=Ca.prototype.reset=function(){var a=this.Dd;a.fo=null;this.Ya=a.V;this.Vc=a.n.length}; Ca.prototype.next=Ca.prototype.hasNext=Ca.prototype.next=function(){var a=this.Dd;a.V!==this.Ya&&t.Qb(a);var b=--this.Vc;if(0<=b)return this.key=b,this.value=a.n[b],!0;this.cg();return!1};Ca.prototype.first=Ca.prototype.$a=function(){var a=this.Dd;this.Ya=a.V;var b=a.n;this.Vc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Ca.prototype.any=function(a){var b=this.Dd;b.fo=null;var c=b.V,d=b.n,f=d.length;this.Vc=f;for(f-=1;0<=f;f++){if(a(d[f]))return!0;b.V!==c&&t.Qb(b)}return!1}; Ca.prototype.all=function(a){var b=this.Dd;b.fo=null;var c=b.V,d=b.n,f=d.length;this.Vc=f;for(f-=1;0<=f;f++){if(!a(d[f]))return!1;b.V!==c&&t.Qb(b)}return!0};Ca.prototype.each=function(a){var b=this.Dd;b.fo=null;var c=b.V,d=b.n,f=d.length;this.Vc=f;for(f-=1;0<=f;f++)a(d[f]),b.V!==c&&t.Qb(b)};t.A(Ca,{count:"count"},function(){return this.Dd.n.length});Ca.prototype.cg=function(){this.key=-1;this.value=null;this.Ya=-1;this.Dd.fo=this}; Ca.prototype.toString=function(){return"ListIteratorBackwards("+this.Vc+"/"+this.Dd.count+")"}; function B(a){t.Ac(this);this.nb=!1;this.n=[];this.V=0;this.fo=this.Cd=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:t.ka(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:t.ka(a,"null, a primitive type name, or a class type", "List constructor: type")}t.ga("List",B);B.prototype.Pg=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||t.bc(a,this.da):a instanceof this.da||t.bc(a,this.da))};B.prototype.Qd=function(){var a=this.V;a++;999999999<a&&(a=0);this.V=a};B.prototype.freeze=B.prototype.freeze=function(){this.nb=!0;return this};B.prototype.thaw=B.prototype.Ma=function(){this.nb=!1;return this};B.prototype.toString=function(){return"List("+t.$h(this.da)+")#"+t.od(this)}; B.prototype.add=B.prototype.add=function(a){null!==a&&(e&&this.Pg(a),t.L(this,a),this.n.push(a),this.Qd())};B.prototype.addAll=B.prototype.Oe=function(a){if(null===a)return this;t.L(this);var b=this.n;if(t.isArray(a))for(var c=t.ub(a),d=0;d<c;d++){var f=t.lb(a,d);e&&this.Pg(f);b.push(f)}else for(a=a.k;a.next();)f=a.value,e&&this.Pg(f),b.push(f);this.Qd();return this};B.prototype.clear=B.prototype.clear=function(){t.L(this);this.n.length=0;this.Qd()}; B.prototype.contains=B.prototype.has=B.prototype.contains=function(a){if(null===a)return!1;e&&this.Pg(a);return-1!==this.n.indexOf(a)};B.prototype.indexOf=B.prototype.indexOf=function(a){if(null===a)return-1;e&&this.Pg(a);return this.n.indexOf(a)};B.prototype.elt=B.prototype.get=B.prototype.wa=function(a){e&&t.q(a,B,"elt:i");var b=this.n;(0>a||a>=b.length)&&t.ka(a,"0 <= i < length",B,"elt:i");return b[a]}; B.prototype.setElt=B.prototype.set=B.prototype.Mg=function(a,b){e&&(this.Pg(b),t.q(a,B,"setElt:i"));var c=this.n;(0>a||a>=c.length)&&t.ka(a,"0 <= i < length",B,"setElt:i");t.L(this,a);c[a]=b};B.prototype.first=B.prototype.$a=function(){var a=this.n;return 0===a.length?null:a[0]};B.prototype.any=function(a){for(var b=this.n,c=this.V,d=b.length,f=0;f<d;f++){if(a(b[f]))return!0;this.V!==c&&t.Qb(this)}return!1}; B.prototype.all=function(a){for(var b=this.n,c=this.V,d=b.length,f=0;f<d;f++){if(!a(b[f]))return!1;this.V!==c&&t.Qb(this)}return!0};B.prototype.each=function(a){for(var b=this.n,c=this.V,d=b.length,f=0;f<d;f++)a(b[f]),this.V!==c&&t.Qb(this)};B.prototype.insertAt=B.prototype.Jd=function(a,b){e&&(this.Pg(b),t.q(a,B,"insertAt:i"));0>a&&t.ka(a,">= 0",B,"insertAt:i");t.L(this,a);var c=this.n;a>=c.length?c.push(b):c.splice(a,0,b);this.Qd();return!0}; B.prototype.remove=B.prototype["delete"]=B.prototype.remove=function(a){if(null===a)return!1;e&&this.Pg(a);t.L(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.Qd();return!0};B.prototype.removeAt=B.prototype.qd=function(a){e&&t.q(a,B,"removeAt:i");var b=this.n;(0>a||a>=b.length)&&t.ka(a,"0 <= i < length",B,"removeAt:i");t.L(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Qd()}; B.prototype.removeRange=B.prototype.removeRange=function(a,b){e&&(t.q(a,B,"removeRange:from"),t.q(b,B,"removeRange:to"));var c=this.n;(0>a||a>=c.length)&&t.ka(a,"0 <= from < length",B,"elt:from");(0>b||b>=c.length)&&t.ka(b,"0 <= to < length",B,"elt:to");t.L(this,a);var d=c.slice((b||a)+1||c.length);c.length=0>a?c.length+a:a;c.push.apply(c,d);this.Qd()};B.prototype.copy=function(){for(var a=new B(this.da),b=this.n,c=this.count,d=0;d<c;d++)a.add(b[d]);return a}; B.prototype.toArray=B.prototype.Ie=function(){for(var a=this.n,b=this.count,c=Array(b),d=0;d<b;d++)c[d]=a[d];return c};B.prototype.toSet=function(){for(var a=new ma(this.da),b=this.n,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};B.prototype.sort=B.prototype.sort=function(a){e&&t.i(a,"function",B,"sort:sortfunc");t.L(this);this.n.sort(a);this.Qd();return this}; B.prototype.sortRange=B.prototype.Up=function(a,b,c){var d=this.n,f=d.length;void 0===b&&(b=0);void 0===c&&(c=f);e&&(t.i(a,"function",B,"sortRange:sortfunc"),t.q(b,B,"sortRange:from"),t.q(c,B,"sortRange:to"));t.L(this);var g=c-b;if(1>=g)return this;(0>b||b>=f-1)&&t.ka(b,"0 <= from < length",B,"sortRange:from");if(2===g)return c=d[b],f=d[b+1],0<a(c,f)&&(d[b]=f,d[b+1]=c,this.Qd()),this;if(0===b)if(c>=f)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>=f)for(g=d.slice(b),g.sort(a), a=b;a<f;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.Qd();return this};B.prototype.reverse=B.prototype.reverse=function(){t.L(this);this.n.reverse();this.Qd();return this};t.A(B,{count:"count"},function(){return this.n.length});t.A(B,{size:"size"},function(){return this.n.length});t.A(B,{length:"length"},function(){return this.n.length});t.A(B,{k:"iterator"},function(){if(0>=this.n.length)return t.ag;var a=this.Cd;return null!==a?(a.reset(),a):new Ba(this)}); t.A(B,{Xm:"iteratorBackwards"},function(){if(0>=this.n.length)return t.ag;var a=this.fo;return null!==a?(a.reset(),a):new Ca(this)});function Da(a){this.p=a;this.reset()}t.Vd(Da,{key:!0,value:!0});t.A(Da,{k:"iterator"},function(){return this});Da.prototype.reset=Da.prototype.reset=function(){var a=this.p;a.Cd=null;this.Ya=a.V;this.yb=null}; Da.prototype.next=Da.prototype.hasNext=Da.prototype.next=function(){var a=this.p;a.V!==this.Ya&&t.Qb(a);var b=this.yb,b=null===b?a.cb:b.Tb;if(null!==b)return this.yb=b,this.value=b.value,this.key=b.key,!0;this.cg();return!1};Da.prototype.first=Da.prototype.$a=function(){var a=this.p;this.Ya=a.V;a=a.cb;if(null!==a){this.yb=a;var b=a.value;this.key=a.key;return this.value=b}return null}; Da.prototype.any=function(a){var b=this.p;b.Cd=null;var c=b.V;this.yb=null;for(var d=b.cb;null!==d;){if(a(d.value))return!0;b.V!==c&&t.Qb(b);d=d.Tb}return!1};Da.prototype.all=function(a){var b=this.p;b.Cd=null;var c=b.V;this.yb=null;for(var d=b.cb;null!==d;){if(!a(d.value))return!1;b.V!==c&&t.Qb(b);d=d.Tb}return!0};Da.prototype.each=function(a){var b=this.p;b.Cd=null;var c=b.V;this.yb=null;for(var d=b.cb;null!==d;)a(d.value),b.V!==c&&t.Qb(b),d=d.Tb};t.A(Da,{count:"count"},function(){return this.p.ed}); Da.prototype.cg=function(){this.value=this.key=null;this.Ya=-1;this.p.Cd=this};Da.prototype.toString=function(){return null!==this.yb?"SetIterator@"+this.yb.value:"SetIterator"}; function ma(a){t.Ac(this);this.nb=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:t.ka(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:t.ka(a,"null, a primitive type name, or a class type","Set constructor: type");this.fd={};this.ed=0;this.Cd=null;this.V=0;this.Ih=this.cb=null}t.ga("Set",ma); ma.prototype.Pg=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||t.bc(a,this.da):a instanceof this.da||t.bc(a,this.da))};ma.prototype.Qd=function(){var a=this.V;a++;999999999<a&&(a=0);this.V=a};ma.prototype.freeze=ma.prototype.freeze=function(){this.nb=!0;return this};ma.prototype.thaw=ma.prototype.Ma=function(){this.nb=!1;return this};ma.prototype.toString=function(){return"Set("+t.$h(this.da)+")#"+t.od(this)}; ma.prototype.add=ma.prototype.add=function(a){if(null===a)return!1;e&&this.Pg(a);t.L(this,a);var b=a;t.qb(a)&&(b=t.jt(a));return void 0===this.fd[b]?(this.ed++,a=new Ea(a,a),this.fd[b]=a,b=this.Ih,null===b?this.cb=a:(a.uo=b,b.Tb=a),this.Ih=a,this.Qd(),!0):!1};ma.prototype.addAll=ma.prototype.Oe=function(a){if(null===a)return this;t.L(this);if(t.isArray(a))for(var b=t.ub(a),c=0;c<b;c++)this.add(t.lb(a,c));else for(a=a.k;a.next();)this.add(a.value);return this}; ma.prototype.contains=ma.prototype.has=ma.prototype.contains=function(a){if(null===a)return!1;e&&this.Pg(a);var b=a;return t.qb(a)&&(b=t.od(a),void 0===b)?!1:void 0!==this.fd[b]};ma.prototype.containsAll=function(a){if(null===a)return!0;for(a=a.k;a.next();)if(!this.contains(a.value))return!1;return!0};ma.prototype.containsAny=function(a){if(null===a)return!0;for(a=a.k;a.next();)if(this.contains(a.value))return!0;return!1}; ma.prototype.first=ma.prototype.$a=function(){var a=this.cb;return null===a?null:a.value};ma.prototype.any=function(a){for(var b=this.V,c=this.cb;null!==c;){if(a(c.value))return!0;this.V!==b&&t.Qb(this);c=c.Tb}return!1};ma.prototype.all=function(a){for(var b=this.V,c=this.cb;null!==c;){if(!a(c.value))return!1;this.V!==b&&t.Qb(this);c=c.Tb}return!0};ma.prototype.each=function(a){for(var b=this.V,c=this.cb;null!==c;)a(c.value),this.V!==b&&t.Qb(this),c=c.Tb}; ma.prototype.remove=ma.prototype["delete"]=ma.prototype.remove=function(a){if(null===a)return!1;e&&this.Pg(a);t.L(this,a);var b=a;if(t.qb(a)&&(b=t.od(a),void 0===b))return!1;a=this.fd[b];if(void 0===a)return!1;var c=a.Tb,d=a.uo;null!==c&&(c.uo=d);null!==d&&(d.Tb=c);this.cb===a&&(this.cb=c);this.Ih===a&&(this.Ih=d);delete this.fd[b];this.ed--;this.Qd();return!0}; ma.prototype.removeAll=function(a){if(null===a)return this;t.L(this);if(t.isArray(a))for(var b=t.ub(a),c=0;c<b;c++)this.remove(t.lb(a,c));else for(a=a.k;a.next();)this.remove(a.value);return this};ma.prototype.retainAll=function(a){if(null===a||0===this.count)return this;t.L(this);var b=new ma(this.da);b.Oe(a);a=new B(this.da);for(var c=this.k;c.next();)b.contains(c.value)||a.add(c.value);for(b=a.k;b.next();)this.remove(b.value);return this}; ma.prototype.clear=ma.prototype.clear=function(){t.L(this);this.fd={};this.ed=0;this.Ih=this.cb=null;this.Qd()};ma.prototype.copy=function(){var a=new ma(this.da),b=this.fd,c;for(c in b)a.add(b[c].value);return a};ma.prototype.toArray=ma.prototype.Ie=function(){var a=Array(this.ed),b=this.fd,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};ma.prototype.toList=function(){var a=new B(this.da),b=this.fd,c;for(c in b)a.add(b[c].value);return a};t.A(ma,{count:"count"},function(){return this.ed}); t.A(ma,{size:"size"},function(){return this.ed});t.A(ma,{k:"iterator"},function(){if(0>=this.ed)return t.ag;var a=this.Cd;return null!==a?(a.reset(),a):new Da(this)});function Fa(a){this.Xa=a;this.reset()}t.Vd(Fa,{key:!0,value:!0});t.A(Fa,{k:"iterator"},function(){return this});Fa.prototype.reset=Fa.prototype.reset=function(){this.Ya=this.Xa.V;this.yb=null}; Fa.prototype.next=Fa.prototype.hasNext=Fa.prototype.next=function(){var a=this.Xa;a.V!==this.Ya&&t.Qb(a);var b=this.yb,b=null===b?a.cb:b.Tb;if(null!==b)return this.yb=b,this.value=this.key=a=b.key,!0;this.cg();return!1};Fa.prototype.first=Fa.prototype.$a=function(){var a=this.Xa;this.Ya=a.V;a=a.cb;return null!==a?(this.yb=a,this.value=this.key=a=a.key):null};Fa.prototype.any=function(a){var b=this.Xa,c=b.V;this.yb=null;for(var d=b.cb;null!==d;){if(a(d.key))return!0;b.V!==c&&t.Qb(b);d=d.Tb}return!1}; Fa.prototype.all=function(a){var b=this.Xa,c=b.V;this.yb=null;for(var d=b.cb;null!==d;){if(!a(d.key))return!1;b.V!==c&&t.Qb(b);d=d.Tb}return!0};Fa.prototype.each=function(a){var b=this.Xa,c=b.V;this.yb=null;for(var d=b.cb;null!==d;)a(d.key),b.V!==c&&t.Qb(b),d=d.Tb};t.A(Fa,{count:"count"},function(){return this.Xa.ed});Fa.prototype.cg=function(){this.value=this.key=null;this.Ya=-1};Fa.prototype.toString=function(){return null!==this.yb?"MapKeySetIterator@"+this.yb.value:"MapKeySetIterator"}; function Ha(a){t.Ac(this);this.nb=!0;this.Xa=a}t.Ka(Ha,ma);Ha.prototype.freeze=function(){return this};Ha.prototype.Ma=function(){return this};Ha.prototype.toString=function(){return"MapKeySet("+this.Xa.toString()+")"};Ha.prototype.add=Ha.prototype.set=Ha.prototype.add=function(){t.m("This Set is read-only: "+this.toString());return!1};Ha.prototype.contains=Ha.prototype.has=Ha.prototype.contains=function(a){return this.Xa.contains(a)}; Ha.prototype.remove=Ha.prototype["delete"]=Ha.prototype.remove=function(){t.m("This Set is read-only: "+this.toString());return!1};Ha.prototype.clear=Ha.prototype.clear=function(){t.m("This Set is read-only: "+this.toString())};Ha.prototype.first=Ha.prototype.$a=function(){var a=this.Xa.cb;return null!==a?a.key:null};Ha.prototype.any=function(a){for(var b=this.Xa.cb;null!==b;){if(a(b.key))return!0;b=b.Tb}return!1}; Ha.prototype.all=function(a){for(var b=this.Xa.cb;null!==b;){if(!a(b.key))return!1;b=b.Tb}return!0};Ha.prototype.each=function(a){for(var b=this.Xa.cb;null!==b;)a(b.key),b=b.Tb};Ha.prototype.copy=function(){return new Ha(this.Xa)};Ha.prototype.toSet=function(){var a=new ma(this.Xa.Hh),b=this.Xa.fd,c;for(c in b)a.add(b[c].key);return a};Ha.prototype.toArray=Ha.prototype.Ie=function(){var a=this.Xa.fd,b=Array(this.Xa.ed),c=0,d;for(d in a)b[c]=a[d].key,c++;return b}; Ha.prototype.toList=function(){var a=new B(this.da),b=this.Xa.fd,c;for(c in b)a.add(b[c].key);return a};t.A(Ha,{count:"count"},function(){return this.Xa.ed});t.A(Ha,{size:"size"},function(){return this.Xa.ed});t.A(Ha,{k:"iterator"},function(){return 0>=this.Xa.ed?t.ag:new Fa(this.Xa)});function Ka(a){this.Xa=a;this.reset()}t.Vd(Ka,{key:!0,value:!0});t.A(Ka,{k:"iterator"},function(){return this});Ka.prototype.reset=Ka.prototype.reset=function(){var a=this.Xa;a.ho=null;this.Ya=a.V;this.yb=null}; Ka.prototype.next=Ka.prototype.hasNext=Ka.prototype.next=function(){var a=this.Xa;a.V!==this.Ya&&t.Qb(a);var b=this.yb,b=null===b?a.cb:b.Tb;if(null!==b)return this.yb=b,this.value=b.value,this.key=b.key,!0;this.cg();return!1};Ka.prototype.first=Ka.prototype.$a=function(){var a=this.Xa;this.Ya=a.V;a=a.cb;if(null!==a){this.yb=a;var b=a.value;this.key=a.key;return this.value=b}return null}; Ka.prototype.any=function(a){var b=this.Xa;b.ho=null;var c=b.V;this.yb=null;for(var d=b.cb;null!==d;){if(a(d.value))return!0;b.V!==c&&t.Qb(b);d=d.Tb}return!1};Ka.prototype.all=function(a){var b=this.Xa;b.ho=null;var c=b.V;this.yb=null;for(var d=b.cb;null!==d;){if(!a(d.value))return!1;b.V!==c&&t.Qb(b);d=d.Tb}return!0};Ka.prototype.each=function(a){var b=this.Xa;b.ho=null;var c=b.V;this.yb=null;for(var d=b.cb;null!==d;)a(d.value),b.V!==c&&t.Qb(b),d=d.Tb};t.A(Ka,{count:"count"},function(){return this.Xa.ed}); Ka.prototype.cg=function(){this.value=this.key=null;this.Ya=-1;this.Xa.ho=this};Ka.prototype.toString=function(){return null!==this.yb?"MapValueSetIterator@"+this.yb.value:"MapValueSetIterator"};function Ea(a,b){this.key=a;this.value=b;this.uo=this.Tb=null}t.Vd(Ea,{key:!0,value:!0});Ea.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function La(a){this.Xa=a;this.reset()}t.Vd(La,{key:!0,value:!0});t.A(La,{k:"iterator"},function(){return this}); La.prototype.reset=La.prototype.reset=function(){var a=this.Xa;a.Cd=null;this.Ya=a.V;this.yb=null};La.prototype.next=La.prototype.hasNext=La.prototype.next=function(){var a=this.Xa;a.V!==this.Ya&&t.Qb(a);var b=this.yb,b=null===b?a.cb:b.Tb;if(null!==b)return this.yb=b,this.key=b.key,this.value=b.value,!0;this.cg();return!1};La.prototype.first=La.prototype.$a=function(){var a=this.Xa;this.Ya=a.V;a=a.cb;return null!==a?(this.yb=a,this.key=a.key,this.value=a.value,a):null}; La.prototype.any=function(a){var b=this.Xa;b.Cd=null;var c=b.V;this.yb=null;for(var d=b.cb;null!==d;){if(a(d))return!0;b.V!==c&&t.Qb(b);d=d.Tb}return!1};La.prototype.all=function(a){var b=this.Xa;b.Cd=null;var c=b.V;this.yb=null;for(var d=b.cb;null!==d;){if(!a(d))return!1;b.V!==c&&t.Qb(b);d=d.Tb}return!0};La.prototype.each=function(a){var b=this.Xa;b.Cd=null;var c=b.V;this.yb=null;for(var d=b.cb;null!==d;)a(d),b.V!==c&&t.Qb(b),d=d.Tb};t.A(La,{count:"count"},function(){return this.Xa.ed}); La.prototype.cg=function(){this.value=this.key=null;this.Ya=-1;this.Xa.Cd=this};La.prototype.toString=function(){return null!==this.yb?"MapIterator@"+this.yb:"MapIterator"}; function ia(a,b){t.Ac(this);this.nb=!1;void 0===a||null===a?this.Hh=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.Hh=a:t.ka(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.Hh=a===Object?"object":a===String?"string":a===Number?"number":a:t.ka(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.Ri=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"=== b||"function"===b?this.Ri=b:t.ka(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.Ri=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:t.ka(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.fd={};this.ed=0;this.ho=this.Cd=null;this.V=0;this.Ih=this.cb=null}t.ga("Map",ia); function Ma(a,b){null!==a.Hh&&("string"===typeof a.Hh?typeof b===a.Hh&&null!==b||t.bc(b,a.Hh):b instanceof a.Hh||t.bc(b,a.Hh))}ia.prototype.Qd=function(){var a=this.V;a++;999999999<a&&(a=0);this.V=a};ia.prototype.freeze=ia.prototype.freeze=function(){this.nb=!0;return this};ia.prototype.thaw=ia.prototype.Ma=function(){this.nb=!1;return this};ia.prototype.toString=function(){return"Map("+t.$h(this.Hh)+","+t.$h(this.Ri)+")#"+t.od(this)}; ia.prototype.add=ia.prototype.set=ia.prototype.add=function(a,b){e&&(Ma(this,a),null!==this.Ri&&("string"===typeof this.Ri?typeof b===this.Ri&&null!==b||t.bc(b,this.Ri):b instanceof this.Ri||t.bc(b,this.Ri)));t.L(this,a);var c=a;t.qb(a)&&(c=t.jt(a));var d=this.fd[c];if(void 0===d)return this.ed++,d=new Ea(a,b),this.fd[c]=d,c=this.Ih,null===c?this.cb=d:(d.uo=c,c.Tb=d),this.Ih=d,this.Qd(),!0;d.value=b;return!1}; ia.prototype.addAll=ia.prototype.Oe=function(a){if(null===a)return this;if(t.isArray(a))for(var b=t.ub(a),c=0;c<b;c++){var d=t.lb(a,c);this.add(d.key,d.value)}else for(e&&t.l(a,ia,ia,"addAll:map"),a=a.k;a.next();)this.add(a.key,a.value);return this};ia.prototype.first=ia.prototype.$a=function(){return this.cb};ia.prototype.any=function(a){for(var b=this.V,c=this.cb;null!==c;){if(a(c))return!0;this.V!==b&&t.Qb(this);c=c.Tb}return!1}; ia.prototype.all=function(a){for(var b=this.V,c=this.cb;null!==c;){if(!a(c))return!1;this.V!==b&&t.Qb(this);c=c.Tb}return!0};ia.prototype.each=function(a){for(var b=this.V,c=this.cb;null!==c;)a(c),this.V!==b&&t.Qb(this),c=c.Tb};ia.prototype.contains=ia.prototype.has=ia.prototype.contains=function(a){e&&Ma(this,a);var b=a;return t.qb(a)&&(b=t.od(a),void 0===b)?!1:void 0!==this.fd[b]}; ia.prototype.getValue=ia.prototype.get=ia.prototype.za=function(a){e&&Ma(this,a);var b=a;if(t.qb(a)&&(b=t.od(a),void 0===b))return null;a=this.fd[b];return void 0===a?null:a.value}; ia.prototype.remove=ia.prototype["delete"]=ia.prototype.remove=function(a){if(null===a)return!1;e&&Ma(this,a);t.L(this,a);var b=a;if(t.qb(a)&&(b=t.od(a),void 0===b))return!1;a=this.fd[b];if(void 0===a)return!1;var c=a.Tb,d=a.uo;null!==c&&(c.uo=d);null!==d&&(d.Tb=c);this.cb===a&&(this.cb=c);this.Ih===a&&(this.Ih=d);delete this.fd[b];this.ed--;this.Qd();return!0};ia.prototype.clear=ia.prototype.clear=function(){t.L(this);this.fd={};this.ed=0;this.Ih=this.cb=null;this.Qd()}; ia.prototype.copy=function(){var a=new ia(this.Hh,this.Ri),b=this.fd,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};ia.prototype.toArray=ia.prototype.Ie=function(){var a=this.fd,b=Array(this.ed),c=0,d;for(d in a){var f=a[d];b[c]=new Ea(f.key,f.value);c++}return b};ia.prototype.toKeySet=ia.prototype.Fl=function(){return new Ha(this)};t.A(ia,{count:"count"},function(){return this.ed});t.A(ia,{size:"size"},function(){return this.ed}); t.A(ia,{k:"iterator"},function(){if(0>=this.count)return t.ag;var a=this.Cd;return null!==a?(a.reset(),a):new La(this)});t.A(ia,{BK:"iteratorKeys"},function(){return 0>=this.count?t.ag:new Fa(this)});t.A(ia,{jF:"iteratorValues"},function(){if(0>=this.count)return t.ag;var a=this.ho;return null!==a?(a.reset(),a):new Ka(this)});function w(a,b){void 0===a||void 0===b?this.y=this.x=0:!e||"number"===typeof a&&"number"===typeof b?(this.x=a,this.y=b):t.m("Invalid arguments to Point constructor")} t.ga("Point",w);t.Xh(w);t.Vd(w,{x:!0,y:!0});w.prototype.assign=function(a){this.x=a.x;this.y=a.y};w.prototype.p=function(a,b){this.x=a;this.y=b};w.prototype.setTo=w.prototype.Sp=function(a,b){e&&(t.i(a,"number",w,"setTo:x"),t.i(b,"number",w,"setTo:y"));t.L(this);this.x=a;this.y=b;return this};w.prototype.set=w.prototype.set=function(a){e&&t.l(a,w,w,"set:p");t.L(this);this.x=a.x;this.y=a.y;return this};w.prototype.copy=function(){var a=new w;a.x=this.x;a.y=this.y;return a}; w.prototype.Ja=function(){this.nb=!0;Object.freeze(this);return this};w.prototype.Z=function(){return Object.isFrozen(this)?this:this.copy().freeze()};w.prototype.freeze=function(){this.nb=!0;return this};w.prototype.Ma=function(){Object.isFrozen(this)&&t.m("cannot thaw constant: "+this);this.nb=!1;return this}; w.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 f=0;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));return new w(c,f)}return new w};w.stringify=function(a){return a instanceof w?a.x.toString()+" "+a.y.toString():a.toString()};w.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};w.prototype.equals=w.prototype.M=function(a){return a instanceof w?this.x===a.x&&this.y===a.y:!1}; w.prototype.equalTo=function(a,b){return this.x===a&&this.y===b};w.prototype.equalsApprox=w.prototype.tf=function(a){return F.I(this.x,a.x)&&F.I(this.y,a.y)};w.prototype.add=w.prototype.add=function(a){e&&t.l(a,w,w,"add:p");t.L(this);this.x+=a.x;this.y+=a.y;return this};w.prototype.subtract=w.prototype.Vt=function(a){e&&t.l(a,w,w,"subtract:p");t.L(this);this.x-=a.x;this.y-=a.y;return this}; w.prototype.offset=w.prototype.offset=function(a,b){e&&(t.q(a,w,"offset:dx"),t.q(b,w,"offset:dy"));t.L(this);this.x+=a;this.y+=b;return this};w.prototype.rotate=w.prototype.rotate=function(a){e&&t.q(a,w,"rotate:angle");t.L(this);if(0===a)return this;var b=this.x,c=this.y;if(0===b&&0===c)return this;var d;90===a?(a=0,d=1):180===a?(a=-1,d=0):270===a?(a=0,d=-1):(d=a*Math.PI/180,a=Math.cos(d),d=Math.sin(d));this.x=a*b-d*c;this.y=d*b+a*c;return this}; w.prototype.scale=w.prototype.scale=function(a,b){e&&(t.q(a,w,"scale:sx"),t.q(b,w,"scale:sy"));this.x*=a;this.y*=b;return this};w.prototype.distanceSquaredPoint=w.prototype.Zj=function(a){e&&t.l(a,w,w,"distanceSquaredPoint:p");var b=a.x-this.x;a=a.y-this.y;return b*b+a*a};w.prototype.distanceSquared=w.prototype.Zs=function(a,b){e&&(t.q(a,w,"distanceSquared:px"),t.q(b,w,"distanceSquared:py"));var c=a-this.x,d=b-this.y;return c*c+d*d}; w.prototype.normalize=w.prototype.normalize=function(){t.L(this);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};w.prototype.directionPoint=w.prototype.aj=function(a){e&&t.l(a,w,w,"directionPoint:p");return Oa(a.x-this.x,a.y-this.y)};w.prototype.direction=w.prototype.direction=function(a,b){e&&(t.q(a,w,"direction:px"),t.q(b,w,"direction:py"));return Oa(a-this.x,b-this.y)}; function Oa(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}w.prototype.projectOntoLineSegment=function(a,b,c,d){e&&(t.q(a,w,"projectOntoLineSegment:px"),t.q(b,w,"projectOntoLineSegment:py"),t.q(c,w,"projectOntoLineSegment:qx"),t.q(d,w,"projectOntoLineSegment:qy"));F.dn(a,b,c,d,this.x,this.y,this);return this}; w.prototype.projectOntoLineSegmentPoint=function(a,b){e&&(t.l(a,w,w,"projectOntoLineSegmentPoint:p"),t.l(b,w,w,"projectOntoLineSegmentPoint:q"));F.dn(a.x,a.y,b.x,b.y,this.x,this.y,this);return this};w.prototype.snapToGrid=function(a,b,c,d){e&&(t.q(a,w,"snapToGrid:originx"),t.q(b,w,"snapToGrid:originy"),t.q(c,w,"snapToGrid:cellwidth"),t.q(d,w,"snapToGrid:cellheight"));F.dt(this.x,this.y,a,b,c,d,this);return this}; w.prototype.snapToGridPoint=function(a,b){e&&(t.l(a,w,w,"snapToGridPoint:p"),t.l(b,fa,w,"snapToGridPoint:q"));F.dt(this.x,this.y,a.x,a.y,b.width,b.height,this);return this};w.prototype.setRectSpot=w.prototype.Qt=function(a,b){e&&(t.l(a,x,w,"setRectSpot:r"),t.l(b,H,w,"setRectSpot:spot"));t.L(this);this.x=a.x+b.x*a.width+b.offsetX;this.y=a.y+b.y*a.height+b.offsetY;return this}; w.prototype.setSpot=w.prototype.Rt=function(a,b,c,d,f){e&&(t.q(a,w,"setSpot:x"),t.q(b,w,"setSpot:y"),t.q(c,w,"setSpot:w"),t.q(d,w,"setSpot:h"),(0>c||0>d)&&t.m("Point.setSpot:Width and height cannot be negative"),t.l(f,H,w,"setSpot:spot"));t.L(this);this.x=a+f.x*c+f.offsetX;this.y=b+f.y*d+f.offsetY;return this};w.prototype.transform=function(a){e&&t.l(a,ga,w,"transform:t");a.Sa(this);return this};function Qa(a,b){e&&t.l(b,ga,w,"transformInverted:t");b.ai(a);return a}var Ra; w.distanceLineSegmentSquared=Ra=function(a,b,c,d,f,g){e&&(t.q(a,w,"distanceLineSegmentSquared:px"),t.q(b,w,"distanceLineSegmentSquared:py"),t.q(c,w,"distanceLineSegmentSquared:ax"),t.q(d,w,"distanceLineSegmentSquared:ay"),t.q(f,w,"distanceLineSegmentSquared:bx"),t.q(g,w,"distanceLineSegmentSquared:by"));var h=f-c,k=g-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=f-a,k=g-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var Sa; w.distanceSquared=Sa=function(a,b,c,d){e&&(t.q(a,w,"distanceSquared:px"),t.q(b,w,"distanceSquared:py"),t.q(c,w,"distanceSquared:qx"),t.q(d,w,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var Ta; w.direction=Ta=function(a,b,c,d){e&&(t.q(a,w,"direction:px"),t.q(b,w,"direction:py"),t.q(c,w,"direction:qx"),t.q(d,w,"direction:qy"));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};w.prototype.isReal=w.prototype.N=function(){return isFinite(this.x)&&isFinite(this.y)}; function fa(a,b){void 0===a||void 0===b?this.height=this.width=0:!e||"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.width=a,this.height=b):t.m("Invalid arguments to Size constructor")}t.ga("Size",fa);t.Xh(fa);t.Vd(fa,{width:!0,height:!0});fa.prototype.assign=function(a){this.width=a.width;this.height=a.height};fa.prototype.p=function(a,b){this.width=a;this.height=b}; fa.prototype.setTo=fa.prototype.Sp=function(a,b){e&&(t.i(a,"number",fa,"setTo:w"),t.i(b,"number",fa,"setTo:h"));0>a&&t.ka(a,">= 0",fa,"setTo:w");0>b&&t.ka(b,">= 0",fa,"setTo:h");t.L(this);this.width=a;this.height=b;return this};fa.prototype.set=fa.prototype.set=function(a){e&&t.l(a,fa,fa,"set:s");t.L(this);this.width=a.width;this.height=a.height;return this};fa.prototype.copy=function(){var a=new fa;a.width=this.width;a.height=this.height;return a}; fa.prototype.Ja=function(){this.nb=!0;Object.freeze(this);return this};fa.prototype.Z=function(){return Object.isFrozen(this)?this:this.copy().freeze()};fa.prototype.freeze=function(){this.nb=!0;return this};fa.prototype.Ma=function(){Object.isFrozen(this)&&t.m("cannot thaw constant: "+this);this.nb=!1;return this}; fa.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 f=0;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));return new fa(c,f)}return new fa};fa.stringify=function(a){return a instanceof fa?a.width.toString()+" "+a.height.toString():a.toString()};fa.prototype.toString=function(){return"Size("+this.width+","+this.height+")"}; fa.prototype.equals=fa.prototype.M=function(a){return a instanceof fa?this.width===a.width&&this.height===a.height:!1};fa.prototype.equalTo=function(a,b){return this.width===a&&this.height===b};fa.prototype.equalsApprox=fa.prototype.tf=function(a){return F.I(this.width,a.width)&&F.I(this.height,a.height)};fa.prototype.isReal=fa.prototype.N=function(){return isFinite(this.width)&&isFinite(this.height)}; function x(a,b,c,d){void 0===a?this.height=this.width=this.y=this.x=0:a instanceof w?b instanceof w?(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 fa?(this.x=a.x,this.y=a.y,this.width=b.width,this.height=b.height):t.m("Incorrect arguments supplied"):!e||"number"===typeof a&&"number"===typeof b&&"number"===typeof c&&(0<=c||isNaN(c))&&"number"===typeof d&&(0<=d||isNaN(d))?(this.x=a,this.y=b,this.width=c,this.height=d):t.m("Invalid arguments to Rect constructor")} t.ga("Rect",x);t.Xh(x);t.Vd(x,{x:!0,y:!0,width:!0,height:!0});x.prototype.assign=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height};x.prototype.p=function(a,b,c,d){this.x=a;this.y=b;this.width=c;this.height=d};function Va(a,b,c){a.width=b;a.height=c} x.prototype.setTo=x.prototype.Sp=function(a,b,c,d){e&&(t.i(a,"number",x,"setTo:x"),t.i(b,"number",x,"setTo:y"),t.i(c,"number",x,"setTo:w"),t.i(d,"number",x,"setTo:h"));0>c&&t.ka(c,">= 0",x,"setTo:w");0>d&&t.ka(d,">= 0",x,"setTo:h");t.L(this);this.x=a;this.y=b;this.width=c;this.height=d;return this};x.prototype.set=x.prototype.set=function(a){e&&t.l(a,x,x,"set:r");t.L(this);this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height;return this}; x.prototype.setPoint=x.prototype.Ef=function(a){e&&t.l(a,w,x,"setPoint:p");t.L(this);this.x=a.x;this.y=a.y;return this};x.prototype.setSize=function(a){e&&t.l(a,fa,x,"setSize:s");t.L(this);this.width=a.width;this.height=a.height;return this};x.prototype.copy=function(){var a=new x;a.x=this.x;a.y=this.y;a.width=this.width;a.height=this.height;return a};x.prototype.Ja=function(){this.nb=!0;Object.freeze(this);return this};x.prototype.Z=function(){return Object.isFrozen(this)?this:this.copy().freeze()}; x.prototype.freeze=function(){this.nb=!0;return this};x.prototype.Ma=function(){Object.isFrozen(this)&&t.m("cannot thaw constant: "+this);this.nb=!1;return this};x.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 f=0;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new x(c,f,g,h)}return new x}; x.stringify=function(a){return a instanceof x?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()};x.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};x.prototype.equals=x.prototype.M=function(a){return a instanceof x?this.x===a.x&&this.y===a.y&&this.width===a.width&&this.height===a.height:!1};x.prototype.equalTo=function(a,b,c,d){return this.x===a&