/**
 * Combined, minified redistributable GNU ease.js file.
 * <http://www.gnu.org/software/easejs/>
 * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
 * @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
 */
'use strict';var easejs={};
(function(G,q){var g={},k=function(c){c=("/"===c.substr(0,1)?c:q+"/"+c).replace(/([^\/]+\/\.\.\/|\.\/|^\/)/g,"");var k=g[c];if(void 0===k)throw"[ease.js] Undefined module: "+c;return k.exports};(function(c,k){function b(){if(!(this instanceof b))return new b;this.___$$id$$=e+f(1E8*a())}c.exports={};q="util/symbol";var a=Math.random,f=Math.floor,e=" "+String.fromCharCode(f(10*a())%31+1)+"$";b.prototype={toString:function(){return this.___$$id$$}};c.exports=b})(g["util/symbol/FallbackSymbol"]={},".");
(function(c,k){function b(){if(!(this instanceof b))return new b;this._alt={}}c.exports={};q="util";(0,eval)("var _the_global=this");b.expose=function(){return _the_global};b.prototype={provideAlt:function(a,b){if(void 0===_the_global[a]&&void 0===this._alt[a])return this._alt[a]=b(),this},get:function(a){return void 0!==this._alt[a]?this._alt[a]:_the_global[a]}};c.exports=b})(g["util/Global"]={},".");(function(c,g){c.exports={};q="util";var b=k("./symbol/FallbackSymbol"),a=k("./Global").expose();
c.exports=a.Symbol||b})(g["util/Symbol"]={},".");(function(c,k){var b=c.exports={};q=".";var a={"public":1,"protected":2,"private":4,"static":8,"abstract":16,"const":32,virtual:64,override:128,proxy:256,weak:512},f={amods:a["public"]|a["protected"]|a["private"],virtual:a["abstract"]|a.virtual};b.kvals=a;b.kmasks=f;b.parseKeywords=function(b){var c=b,l=[],h=0,r={};if(1!==(l=(""+b).split(/\s+/)).length)for(c=l.pop(),b=l.length;b--;){var w=l[b],A=a[w];if(!A)throw Error("Unexpected keyword for '"+c+"': "+
w);r[w]=!0;h|=A}!c.match(/^_[^_]/)||h&f.amods||(r["private"]=!0,h|=a["private"]);return{name:c,keywords:r,bitwords:h}}})(g.prop_parser={},".");(function(c,g){function b(a){throw a;}function a(a,b,c){for(var e=c.length;e--;)null===c[e].match(/^[a-z_][a-z0-9_]*$/i)&&a(SyntaxError("Member "+b+" contains invalid parameter '"+c[e]+"'"))}function f(){var a=function(a,b,c){a[b]=c};return l?function(a,b,c){Object.defineProperty(a,b,{value:c,enumerable:!1,writable:!1,configurable:!1})}:a}var e=c.exports={};
q=".";var d=k("./prop_parser").parseKeywords,l;a:{if("function"===typeof Object.defineProperty)try{Object.defineProperty({},"x",{});l=!0;break a}catch(h){}l=!1}e.Global=k("./util/Global");e.freeze="function"===typeof Object.freeze?Object.freeze:function(a){};e.definePropertyFallback=function(a){if(void 0===a)return!l;l=!a;e.defineSecureProp=f();return e};e.defineSecureProp=f();e.clone=function w(a,b){b=!!b;if(a instanceof Array){if(!b)return a.slice(0);for(var c=[],e=0,d=a.length;e<d;e++)c.push(w(a[e],
b));return c}if("function"!==typeof a&&a instanceof Object){c={};e=Object.prototype.hasOwnProperty;for(d in a)e.call(a,d)&&(c[d]=b?w(a[d]):a[d]);return c}return a};e.copyTo=function(a,b,c){c=!!c;var d;if(!(a instanceof Object&&b instanceof Object))throw TypeError("Must provide both source and destination objects");if(l)for(var f in b)d=Object.getOwnPropertyDescriptor(b,f),d.get||d.set?Object.defineProperty(a,f,d):a[f]=c?e.clone(b[f],!0):b[f];else for(f in b)a[f]=c?e.clone(b[f],!0):b[f];return a};
e.propParse=function(c,f,u){var h=function(){},k=f.each||void 0,g=f.property||h,n=f.method||h,h=f.getset||h,p=f.keywordParser||d,B=f._throw||b,C=Object.prototype.hasOwnProperty,v={},m="",v={},x=null,y=!1,t=!1,F;for(F in c)if(C.call(c,F)){l&&(m=Object.getOwnPropertyDescriptor(c,F),y=m.get,t=m.set);x="function"===typeof y?void 0:c[F];v=p(F)||{};m=v.name||F;v=v.keywords||{};if(f.assumeAbstract||v["abstract"]&&!v.override)v["abstract"]=!0,x instanceof Array||B(TypeError("Missing parameter list for abstract method: "+
m)),a(B,m,x),x=e.createAbstractMethod.apply(this,x);k&&k.call(u,m,x,v);y||t?h.call(u,m,y,t,v):"function"===typeof x||v.proxy?n.call(u,m,x,e.isAbstractMethod(x),v):g.call(u,m,x,v)}};e.createAbstractMethod=function(a){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];c=function(){throw Error("Cannot call abstract method");};e.defineSecureProp(c,"abstractFlag",!0);e.defineSecureProp(c,"definition",b);e.defineSecureProp(c,"__length",arguments.length);return c};e.isAbstractMethod=function(a){return"function"===
typeof a&&!0===a.abstractFlag?!0:!1};e.arrayShrink=function(a){for(var b=[],c=0,e=a.length;c<e;c++){var d=a[c];void 0!==d&&b.push(d)}return b};e.getOwnPropertyDescriptor=l&&Object.getOwnPropertyDescriptor||function(a,b){return Object.prototype.hasOwnProperty.call(a,b)?{get:void 0,set:void 0,writable:!0,enumerable:!0,configurable:!0,value:a[b]}:void 0};e.getPrototypeOf=Object.getPrototypeOf||function(){};e.getPropertyDescriptor=function(a,b,c){c=!!c;var d=e.getOwnPropertyDescriptor(a,b);a=e.getPrototypeOf(a);
return d||!a||c&&!e.getPrototypeOf(a)?d:e.getPropertyDescriptor(a,b,c)};e.defineSecureProp(e.getPropertyDescriptor,"canTraverse",Object.getPrototypeOf?!0:!1)})(g.util={},".");(function(c,k){function b(a){if(!(this instanceof b))return new b(a);if(!(a instanceof Error))throw TypeError("Must provide exception to wrap");Error.prototype.constructor.call(this,a.message);this.message=a.message;this.name="Warning";this._error=a;this.stack=a.stack&&a.stack.replace(/^.*?\n+/,this.name+": "+this.message+"\n")}
c.exports={};q="warn";b.prototype=Error();b.prototype.constructor=b;b.prototype.name="Warning";b.prototype.getError=function(){return this._error};c.exports=b})(g["warn/Warning"]={},".");(function(c,k){function b(){if(!(this instanceof b))return new b}c.exports={};q="warn";b.prototype={handle:function(a){}};c.exports=b})(g["warn/DismissiveHandler"]={},".");(function(c,k){function b(a){if(!(this instanceof b))return new b(a);this._console=a||{}}c.exports={};q="warn";b.prototype={handle:function(a){var b=
this._console.warn||this._console.log;b&&b.call(this._console,"Warning: "+a.message)}};c.exports=b})(g["warn/LogHandler"]={},".");(function(c,k){function b(){if(!(this instanceof b))return new b}c.exports={};q="warn";b.prototype={handle:function(a){throw a.getError();}};c.exports=b})(g["warn/ThrowHandler"]={},".");(function(c,g){c.exports={};q=".";c.exports={Warning:k("./warn/Warning"),DismissiveHandler:k("./warn/DismissiveHandler"),LogHandler:k("./warn/LogHandler"),ThrowHandler:k("./warn/ThrowHandler")}})(g.warn=
{},".");(function(c,g){function b(a,b){try{if(b instanceof a)return!0}catch(c){}return!1}function a(a,b,c){b=this.defs;if(!0===x[a])throw Error(a+" is reserved");if(v.call(b,a)&&!c.weak&&!b[a].weak)throw Error("Cannot redefine method '"+a+"' in same declaration");b[a]=c}function f(a,b,c){var e=h(c)?this.static_members.props:this.prop_init;this._cb._memberBuilder.buildProp(e,null,a,b,c,this.base)}function e(a,b,c,e){var d=h(e)?this.static_members.methods:this.members,m=h(e)?this.staticInstLookup:n.getMethodInstance;
this._cb._memberBuilder.buildGetterSetter(d,null,a,b,c,e,m,this.class_id,this.base)}function d(a,b,c,e){var d=h(e),m=d?this.static_members.methods:this.members,d=d?this.staticInstLookup:n.getMethodInstance;if(!0===y[a]&&(e["protected"]||e["private"]))throw TypeError(a+" must be public");this._cb._memberBuilder.buildMethod(m,null,a,b,e,d,this.class_id,this.base,this.state)&&(c?(this.abstract_methods[a]=!0,this.abstract_methods.__length++):v.call(this.abstract_methods,a)&&!1===c&&(delete this.abstract_methods[a],
this.abstract_methods.__length--),e.virtual&&(this.virtual_members[a]=!0))}function l(a,b,c,e){if(a.___$$abstract$$){if(!e&&0===c.__length)throw TypeError("Class "+(b||"(anonymous)")+" was declared as abstract, but contains no abstract members");}else if(0<c.__length)if(e)a.___$$abstract$$=!0;else throw TypeError("Class "+(b||"(anonymous)")+" contains abstract members and must therefore be declared abstract");}function h(a){return a["static"]||a["const"]?!0:!1}function r(a,b,c){return(b=b[t]?n.getMeta(b):
void 0)?a[t].meta=p.clone(b._lazy?c:b,!0):a[t].meta={implemented:[]}}function w(a,b){p.defineSecureProp(a,"__iid",b)}function A(a){var b=function(){};b.prototype=a;p.defineSecureProp(a,t,{});a[t].vis=new b}function u(a){var b=function(b){return c.exports.isInstanceOf(b,a)};p.defineSecureProp(a,"isInstanceOf",b);p.defineSecureProp(a,"isA",b)}function D(a,b){var c=0<b.__length?!0:!1;p.defineSecureProp(a,"isAbstract",function(){return c})}function z(a,b){p.defineSecureProp(a,"__cid",b);p.defineSecureProp(a.prototype,
"__cid",b)}function E(a,b){a.___$$final$$=!!b.___$$final$$;a.___$$abstract$$=!!b.___$$abstract$$;b.___$$final$$=b.___$$abstract$$=void 0}var n=c.exports={};q=".";var p=k("./util"),B=k("./warn").Warning,C=k("./util/Symbol"),v=Object.prototype.hasOwnProperty,m=!1===Object.prototype.propertyIsEnumerable.call({toString:function(){}},"toString")?!0:!1,x={__initProps:!0,constructor:!0},y={__construct:!0,__mixin:!0,toString:!0,__toString:!0},t=C();c.exports=n=function(a,b,e){if(!(this instanceof n))return new c.exports(a,
b,e);this._warnHandler=a;this._memberBuilder=b;this._visFactory=e;this._instanceId=this._classId=0;this._spropInternal=!1};n.ClassBase=function(){};p.defineSecureProp(n.ClassBase,"__cid",0);n.ClassBase.$=function(a,b){if(void 0!==b)throw ReferenceError("Cannot set value of undeclared static property '"+a+"'");};n.getReservedMembers=function(){return p.clone(x,!0)};n.getForcedPublicMethods=function(){return p.clone(y,!0)};n.getMeta=function(a){return(a[t]||{}).meta||null};n.masquerade=function(a){p.defineSecureProp(a,
t,{});r(a,n.ClassBase);return a};n.isInstanceOf=function(a,c){return a&&c?!!(a.__isInstanceOf||b)(a,c):!1};n.prototype.build=function(a,b){var c=arguments,e=c.length,d=(0<e?c[e-1]:0)||{},f=(1<e?c[e-2]:0)||n.ClassBase,w=this._getBase(f),c="",x=!1,h=this._memberBuilder.initMembers(),y=this._memberBuilder.initMembers(w),A={methods:this._memberBuilder.initMembers(),props:this._memberBuilder.initMembers()},u=n.getMeta(w.constructor)||{},e=p.clone(u.abstractMethods)||{__length:0},k=p.clone(u.virtualMembers)||
{};if(!0===f.___$$final$$)throw Error("Cannot extend final class "+(f[t].meta.name||"(anonymous)"));(c=d.__name)&&delete d.__name;void 0!==(x=d.___$$auto$abstract$$)&&delete d.___$$auto$abstract$$;m&&d.toString!==Object.prototype.toString&&(d.__toString=d.toString);this._classId++;void 0===(w[t]||{}).vis&&this._discoverProtoProps(w,h);try{this.buildMembers(d,this._classId,f,h,{all:y,"abstract":e,"static":A,virtual:k},function(a){return g.___$$svis$$})}catch(v){if(v instanceof B)this._warnHandler.handle(v);
else throw v;}w.___$$parent$$=f.prototype;var g=this.createCtor(c,e,y);this.initStaticVisibilityObj(g);var C=this,q=function(a,b){C.attachStatic(a,A,f,b)};q(g,!1);this._attachPropInit(w,h,y,g,this._classId);g.prototype=w;g.prototype.constructor=g;g.___$$props$$=h;g.___$$methods$$=y;g.___$$sinit$$=q;E(g,d);l(g,c,e,x);p.defineSecureProp(w,"__self",g.___$$svis$$);d=r(g,f,u);d.abstractMethods=e;d.virtualMembers=k;d.name=c;D(g,e);z(g,this._classId);g.asPrototype=function(){g[t].extending=!0;var a=new g;
g[t].extending=!1;return a};return g};n.prototype._getBase=function(a){switch(typeof a){case "function":return a[t]?a.asPrototype():new a;case "object":return a}throw TypeError("Must extend from Class, constructor or object");};n.prototype._discoverProtoProps=function(a,b){var c=Object.hasOwnProperty,e;for(e in a){var d=a[e];c.call(a,e)&&"function"!==typeof d&&this._memberBuilder.buildProp(b,null,e,d,{})}};n.prototype.buildMembers=function(b,c,m,t,r,w){var x={_cb:this,prop_init:t,class_id:c,base:m,
staticInstLookup:w,defs:{},state:{},members:r.all,abstract_methods:r["abstract"],static_members:r["static"],virtual_members:r.virtual},h={each:a,property:f,getset:e,method:d};if(b.___$$parser$$){var l=b.___$$parser$$;delete b.___$$parser$$;c=function(a,b){h[a]=function(){for(var c=[],e=arguments.length;e--;)c[e]=arguments[e];c.push(b);l[a].apply(x,c)}};l.each&&c("each",h.each);l.property&&c("property",h.property);l.getset&&c("getset",h.getset);l.method&&c("method",h.method)}p.propParse(b,h,x);this._memberBuilder.end(x.state)};
n.prototype.createCtor=function(a,b,c){a=0===b.__length?this.createConcreteCtor(a,c):this.createAbstractCtor(a);p.defineSecureProp(a,t,{});return a};n.prototype.createConcreteCtor=function(a,b){function c(){if(!(this instanceof c))return e=arguments,new c;A(this);this.__initProps();if(!c[t].extending){w(this,++d._instanceId);var m="function"===typeof this.___$$ctor$pre$$;m&&c.prototype.hasOwnProperty("___$$ctor$pre$$")&&(this.___$$ctor$pre$$(t),m=!1);"function"===typeof this.__construct&&this.__construct.apply(this,
e||arguments);m&&this.___$$ctor$pre$$(t);"function"===typeof this.___$$ctor$post$$&&this.___$$ctor$post$$(t);e=null;u(this);v.call(b["public"],"toString")||(this.toString=b["public"].__toString||(a?function(){return"#<"+a+">"}:function(){return"#<anonymous>"}))}}var e=null,d=this;c.toString=a?function(){return a}:function(){return"(Class)"};return c};n.prototype.createAbstractCtor=function(a){var b=function(){if(!b[t].extending)throw Error("Abstract class "+(a||"(anonymous)")+" cannot be instantiated");
};b.toString=a?function(){return a}:function(){return"(AbstractClass)"};return b};n.prototype._attachPropInit=function(a,b,c,e,d){var m=this;p.defineSecureProp(a,"__initProps",function(e){e=!!e;var f=a.___$$parent$$,r=this[t].vis,f=f&&f.__initProps;"function"===typeof f&&f.call(this,!0);f=m._visFactory.createPropProxy(this,r,b["public"]);r=r[d]=m._visFactory.setup(f,b,c);e||p.defineSecureProp(r,"__inst",this)})};n.prototype.initStaticVisibilityObj=function(a){var b=this,c=function(){};c.prototype=
a;c=new c;a.___$$svis$$=c;c.$=function(){b._spropInternal=!0;var c=a.$.apply(a,arguments);b._spropInternal=!1;return c}};n.prototype.attachStatic=function(a,b,c,e){var d=b.methods,m=b.props,f=this;(b=c.___$$sinit$$)&&b(a,!0);e||(a.___$$sprops$$=m,p.defineSecureProp(a,"$",function(b,e){var d=!1,t=this.___$$sprops$$?this:a,r=t!==a,d=v.call(m["public"],b)&&"public";!d&&f._spropInternal&&(d=v.call(m["protected"],b)&&"protected"||!r&&v.call(m["private"],b)&&"private");if(!1===d)return(c.__cid&&c.$||n.ClassBase.$).apply(t,
arguments);d=m[d][b];if(1<arguments.length){if(d[1]["const"])throw TypeError("Cannot modify constant property '"+b+"'");d[0]=e;return t}return d[0]}));p.copyTo(a,d["public"],!0);p.copyTo(a.___$$svis$$,d["protected"],!0);e||p.copyTo(a.___$$svis$$,d["private"],!0)};n.getMethodInstance=function(a,b){if(void 0===a)return null;var c=a[t],e;return a.__iid&&c&&(e=c.vis)?e[b]:null}})(g.ClassBuilder={},".");(function(c,g){var b=c.exports={};q=".";c.exports=b=function(a){if(!(this instanceof b))return new c.exports(a);
this._factory=a};b.prototype.wrapMethod=function(a,b,c,d,l,h){return this._factory(a,b,c,d,l,h)}})(g.MethodWrapperFactory={},".");(function(c,g){var b=c.exports={};q=".";b.standard={wrapOverride:function(a,b,c,d){var l=function(){var h=d(this,c)||this||{},r=void 0,w=h.__super;h.__super=b;r=a.apply(h,arguments);h.__super=w;return r===h?this:r};l["super"]=b;return l},wrapNew:function(a,b,c,d){return function(){var b=d(this,c)||this,f=void 0,f=a.apply(b,arguments);return f===b?this:f}},wrapProxy:function(a,
b,c,d,l,h){var r=h&&h["static"];b=function(){var b=d(this,c)||this,f=void 0,b=r?b.$(a):b[a];if(null===b||"object"!==typeof b||"function"!==typeof b[l])throw TypeError("Unable to proxy "+l+"() call to '"+a+"'; '"+a+"' is undefined or '"+l+"' is not a function.");f=b[l].apply(b,arguments);return f===b?this:f};b.__length=NaN;return b}}})(g.MethodWrappers={},".");(function(c,g){function b(a){return function(){return this.___$$super$$.prototype[a].apply(this.___$$pmo$$,arguments)}}function a(a,b,c){if(b["private"])return(b["public"]||
b["protected"])&&f(c),a["private"];if(b["protected"])return(b["public"]||b["private"])&&f(c),a["protected"];(b["private"]||b["protected"])&&f(c);return a["public"]}function f(a){throw TypeError("Only one access modifier may be used for definition of '"+a+"'");}function e(a,b,c){for(var d=h.length,f=null;d--;)if(f=l.getPropertyDescriptor(a[h[d]],b,!0))return{get:f.get,set:f.set,member:f.value};return void 0!==c?(a=c.___$$methods$$,d=c.___$$props$$,c=((c.prototype||{}).___$$parent$$||{}).constructor,
a&&e(a,b,c)||d&&e(d,b,c)||null):null}var d=c.exports={};q=".";var l=k("./util"),h=["public","protected","private"];c.exports=function(a,b,e,d){if(!(this instanceof c.exports))return new c.exports(a,b,e,d);this._wrapMethod=a;this._wrapOverride=b;this._wrapProxy=e;this._validate=d};d=c.exports.prototype;d.initMembers=function(a,b,c){return{"public":a||{},"protected":b||{},"private":c||{}}};d.buildMethod=function(c,d,f,h,l,g,k,n,p){var B=this._methodKeywordDefaults,B=(d=(n=e(c,f,n))?n.member:null)&&
(d.___$$keywords$$||B);c=a(c,l,f);this._validate.validateMethod(f,h,l,n,B,p);if(!l.proxy||d&&l.weak)if(d){if(l.weak&&!B["abstract"])return!1;if(l.override||B["abstract"])p=l["abstract"]?b(f):d,c[f]=this._overrideMethod(p,h,g,k);else throw Error("Method hiding not yet implemented (we should never get here; bug).");}else c[f]=l["abstract"]||l["private"]?h:this._overrideMethod(null,h,g,k);else c[f]=this._createProxy(h,g,k,f,l);c[f].___$$keywords$$=l;return!0};d._methodKeywordDefaults={virtual:!0};d.buildProp=
function(b,c,d,f,l,h){h=(c=e(b,d,h))?c.member:null;this._validate.validateProperty(d,f,l,c,h?h[1]:null);a(b,l,d)[d]=[f,l]};d.buildGetterSetter=function(b,c,d,f,l,h,g,k,p){c=e(b,d,p);this._validate.validateGetterSetter(d,{},h,c,c&&c.get?c.get.___$$keywords$$:null);f&&(f=this._overrideMethod(null,f,g,k),f.___$$keywords$$=h);Object.defineProperty(a(b,h,d),d,{get:f,set:l?this._overrideMethod(null,l,g,k):l,enumerable:!0,configurable:!1})};d._createProxy=function(a,b,c,e,d){return this._wrapProxy.wrapMethod(a,
null,c,b,e,d)};d._overrideMethod=function(a,b,c,e){var d=null,d=(a?this._wrapOverride:this._wrapMethod).wrapMethod(b,a,e,c||function(){});l.defineSecureProp(d,"__length",b.__length||b.length);return d};d._getVisibilityValue=function(a){return a["protected"]?1:a["private"]?2:0};d.end=function(a){this._validate&&this._validate.end(a)}})(g.MemberBuilder={},".");(function(c,g){var b=c.exports={};q=".";c.exports=b=function(a){if(!(this instanceof c.exports))return new c.exports(a);this._warningHandler=
a||function(){}};b.prototype._initState=function(a){if(a.__vready)return a;a.warn={};a.__vready=!0;return a};b.prototype.end=function(a){for(var b in a.warn){var c=a.warn[b],d;for(d in c)this._warningHandler(c[d])}a.__vready=!1};b.prototype.validateMethod=function(a,b,c,d,l,h){this._initState(h);var g=d?d.member:null;if(c["abstract"]&&c["private"])throw TypeError("Method '"+a+"' cannot be both private and abstract");if(c["const"])throw TypeError("Cannot declare method '"+a+"' as constant; keyword is redundant");
if(c.virtual&&c["static"])throw TypeError("Cannot declare static method '"+a+"' as virtual");if(d&&(d.get||d.set))throw TypeError("Cannot override getter/setter '"+a+"' with method");if(c.proxy){if("string"!==typeof b)throw TypeError("Cannot declare proxy method '"+a+"'; string value expected");if(c["abstract"])throw TypeError("Proxy method '"+a+"' cannot be abstract");}if(g){if(l["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if("function"!==typeof g)throw TypeError("Cannot override property '"+
a+"' with method");if(c.override&&!l.virtual){if(!c["abstract"])throw TypeError("Cannot override non-virtual method '"+a+"'");if(!l["abstract"])throw TypeError("Cannot perform abstract override on non-abstract method '"+a+"'");}if(c["abstract"]&&!c.weak&&!l["abstract"])throw TypeError("Cannot override concrete method '"+a+"' with abstract method");d=void 0===g.__length?g.length:g.__length;b=void 0===b.__length?b.length:b.__length;c.proxy&&(b=NaN);c.weak&&!l["abstract"]&&(g=d,d=b,b=g);if(b<d)throw TypeError("Declaration of method '"+
a+"' must be compatible with that of its supertype");if(this._getVisibilityValue(l)<this._getVisibilityValue(c))throw TypeError("Cannot de-escalate visibility of method '"+a+"'");if(!(c.override||l["abstract"]||c.weak))throw TypeError("Attempting to override method '"+a+"' without 'override' keyword");c.weak&&l.override&&delete (h.warn[a]||{}).no}else c.override&&(c=Error("Method '"+a+"' using 'override' keyword without super method"),(h.warn[a]=h.warn[a]||{}).no=c)};b.prototype.validateProperty=
function(a,b,c,d,l){if(b=d?d.member:null){if(l["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if("function"===typeof b)throw new TypeError("Cannot override method '"+a+"' with property");if(this._getVisibilityValue(l)<this._getVisibilityValue(c))throw TypeError("Cannot de-escalate visibility of property '"+a+"'");}if(d&&(d.get||d.set))throw TypeError("Cannot override getter/setter '"+a+"' with property");if(c["abstract"])throw TypeError("Property '"+a+"' cannot be declared as abstract");
if(c["static"]&&c["const"])throw TypeError("Static keyword cannot be used with const for property '"+a+"'");if(c.virtual)throw TypeError("Cannot declare property '"+a+"' as virtual");};b.prototype.validateGetterSetter=function(a,b,c,d,l){b=d?d.member:null;d=d&&(d.get||d.set)?!0:!1;if(c["abstract"])throw TypeError("Cannot declare getter/setter '"+a+"' as abstract");if(c["const"])throw TypeError("Cannot declare const getter/setter '"+a+"'");if(c.virtual&&c["static"])throw TypeError("Cannot declare static method '"+
a+"' as virtual");if(b||d){if(l&&l["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if(!d)throw TypeError("Cannot override method or property '"+a+"' with getter/setter");if(!l||!l.virtual)throw TypeError("Cannot override non-virtual getter/setter '"+a+"'");if(!c.override)throw TypeError("Attempting to override getter/setter '"+a+"' without 'override' keyword");if(this._getVisibilityValue(l||{})<this._getVisibilityValue(c))throw TypeError("Cannot de-escalate visibility of getter/setter '"+
a+"'");}else c.override&&this._warningHandler(Error("Getter/setter '"+a+"' using 'override' keyword without super getter/setter"))};b.prototype._getVisibilityValue=function(a){return a["protected"]?1:a["private"]?2:0}})(g.MemberBuilderValidator={},".");(function(c,g){function b(){}function a(a){if(1<arguments.length)throw Error("Expecting one argument for Interface definition; "+arguments.length+" given.");return p(a)}function f(a,b){if(2<arguments.length)throw Error("Expecting two arguments for definition of named Interface '"+
a+"'; "+arguments.length+" given.");if("object"!==typeof b)throw TypeError("Unexpected value for definition of named Interface '"+a+"'; object expected");b.__name=a;return p(b)}function e(a,b){b.message="Failed to define interface "+(a?a:"(anonymous)")+": "+b.message;throw b;}function d(a){u.defineSecureProp(a,"extend",function(a){return p(this,a)})}function l(a,b){a.toString=b?function(){return"[object Interface <"+b+">]"}:function(){return"[object Interface]"}}function h(a){u.defineSecureProp(a,
"isCompatible",function(b){return 0===r(a,b).length})}function r(a,b){var c=[];u.propParse(a.prototype,{method:function(a,d,e,f){"function"!==typeof b[a]?c.push([a,"missing"]):b[a].length<d.__length&&c.push([a,"incompatible"])}});return c}function w(a){u.defineSecureProp(a,"__isInstanceOf",function(a,b){return A(a,b)})}function A(a,b){var c=b.constructor,d;if(!b.__cid||!(d=n.getMeta(c)))return 0===r(a,b).length;c=d.implemented;for(d=c.length;d--;)if(c[d]===a)return!0;return!1}c.exports={};q=".";var u=
k("./util"),D=k("./MethodWrapperFactory"),z=k("./MethodWrappers").standard,E=k("./MemberBuilder")(D(z.wrapNew),D(z.wrapOverride),D(z.wrapProxy),k("./MemberBuilderValidator")()),n=k("./ClassBuilder");c.exports=function(b,c){var d=null;switch(typeof b){case "object":d=a.apply(null,arguments);break;case "string":d=f.apply(null,arguments);break;default:throw TypeError("Expecting anonymous interface definition or named interface definition");}return d};c.exports.extend=function(){return p.apply(this,arguments)};
c.exports.isInterface=function(a){a=a||{};return a.prototype instanceof b?!0:!1};var p=function(a){function c(b){return function(){if(!a)throw Error("Interface "+(b?b+" ":"")+" cannot be instantiated");}}return function(){a=!0;var f=arguments,m=f.length,g=(0<m?f[m-1]:0)||{},f=new ((1<m?f[m-2]:0)||b),y="",t={},F=E.initMembers(f,f,f);(y=g.__name)&&delete g.__name;if(!(f instanceof b))throw new TypeError("Interfaces may only extend other interfaces");m=c(y);u.propParse(g,{assumeAbstract:!0,_throw:function(a){e(y,
a)},property:function(){e(y,TypeError("Unexpected internal error"))},getset:function(){e(y,TypeError("Unexpected internal error"))},method:function(a,b,c,d){(d["protected"]||d["private"])&&e(y,TypeError("Member "+a+" must be public"));E.buildMethod(F,null,a,b,d,null,0,{},t)}});d(m);l(m,y);h(m);w(m);m.prototype=f;m.constructor=m;u.freeze(m);a=!1;return m}}(!1);c.exports.isInstanceOf=A})(g["interface"]={},".");(function(c,g){var b=c.exports={};q=".";var a=k("./util");c.exports=b=function(){if(!(this instanceof
b))return new c.exports};b.prototype.setup=function(a,b,c){var g=this._createPrivateLayer(a,b);this._doSetup(a,b["public"]);this._doSetup(a,b["protected"],c["protected"],!0);this._doSetup(g,b["private"],c["private"]);return g};b.prototype._createPrivateLayer=function(a,b){var c=function(){};c.prototype=a;c=new c;this.createPropProxy(a,c,b["protected"]);return c};b.prototype._doSetup=function(b,c,d,g){var h=Array.prototype.hasOwnProperty;if(void 0!==d)for(var k in d)if(h.call(d,k)){var q=b[k],A=q&&
q.___$$keywords$$;if(!g||void 0===q||A["private"]||A["protected"])b[k]=d[k]}for(var u in c)h.call(c,u)&&(b[u]=a.clone(c[u][0]))};b.prototype.createPropProxy=function(a,b,c){var g=Object.prototype.hasOwnProperty,h;for(h in c)g.call(c,h)&&function(c){b[c]=void 0;Object.defineProperty(b,c,{set:function(b){a[c]=b},get:function(){return a[c]},enumerable:!0})}.call(null,h);return b}})(g.VisibilityObjectFactory={},".");(function(c,g){var b=c.exports={};q=".";c.exports=b=function(){if(!(this instanceof b))return new c.exports};
b.prototype=k("./VisibilityObjectFactory")();b.prototype._createPrivateLayer=function(a,b){return a};b.prototype.createPropProxy=function(a,b,c){return a}})(g.FallbackVisibilityObjectFactory={},".");(function(c,g){var b=c.exports={};q=".";var a=k("./util"),f=k("./VisibilityObjectFactory"),e=k("./FallbackVisibilityObjectFactory");b.fromEnvironment=function(){return a.definePropertyFallback()?e():f()}})(g.VisibilityObjectFactoryFactory={},".");(function(c,g){function b(a){if(1<arguments.length)throw Error("Expecting one argument for anonymous Class definition; "+
arguments.length+" given.");return h(a)}function a(a,b){if(2<arguments.length)throw Error("Expecting at most two arguments for definition of named Class '"+a+"'; "+arguments.length+" given.");if(void 0===b)return f(a);if("object"!==typeof b)throw TypeError("Unexpected value for definition of named Class '"+a+"'; object expected");b.__name=a;return h(b)}function f(a){return{extend:function(){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];b[b.length-1].__name=a;return h.apply(null,b)},implement:function(){for(var b=
[],c=arguments.length;c--;)b[c]=arguments[c];return e(null,b,a)},use:function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];return d(v,a)}}}function e(a,b,c){var e={extend:function(){var d=arguments.length,e=arguments[d-1],m=1<d?arguments[d-2]:null;if(2<d)throw Error("Expecting no more than two arguments for extend()");if(a&&m)throw Error("Cannot override parent "+a.toString()+" with "+m.toString()+" via extend()");c&&(e.__name=c);b.push(a||m||h({}));return h.call(null,y.apply(this,b),
e)},use:function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];return d(function(){return e.__createBase()},a)},__createBase:function(){return e.extend({})}};return e}function d(a,b,c){var e=function(){return m().apply(null,arguments)},m=function(){if(!c)throw TypeError("Cannot instantiate incomplete class definition; did you forget to call `extend'?");return l(a(),b)};e.extend=function(){var c=arguments.length,d=arguments[c-1],c=1<c?arguments[c-2]:null,e=a();return h.call(null,l(e||c,
b),d)};e.use=function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];return d(function(){return e.__createBase()},a,c)};e.__createBase=function(){return e.extend({})};e.asPrototype=function(){return m().asPrototype()};e.__isInstanceOf=E.isInstanceOf;z.masquerade(e);z.getMeta(e)._lazy=!0;return e}function l(a,b){for(var c={___$$auto$abstract$$:!0},d=[],e=0,m=b.length;e<m;e++)b[e].__mixin(c,d,a||z.ClassBase);c=h.call(null,a,c);d=z.getMeta(c).implemented;e=0;for(m=b.length;e<m;e++)d.push(b[e]),
b[e].__mixinImpl(d);return c}function h(a,b){for(var c=[],d=arguments.length;d--;)c[d]=arguments[d];c=C.build.apply(C,c);r(c);w(c);A(c);D.freeze(c);return c}function r(a){D.defineSecureProp(a,"extend",function(a){return h(this,a)})}function w(a){D.defineSecureProp(a,"implement",function(){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];return e(a,b)})}function A(a){D.defineSecureProp(a,"use",function(){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];return d(function(){return a},b,!0)})}
c.exports={};q=".";var u="undefined"!==typeof console?console:void 0,D=k("./util"),z=k("./ClassBuilder"),E=k("./interface"),n=k("./warn"),p=n.Warning,B=n.LogHandler(u),u=k("./MethodWrapperFactory"),n=k("./MethodWrappers").standard,C=z(B,k("./MemberBuilder")(u(n.wrapNew),u(n.wrapOverride),u(n.wrapProxy),k("./MemberBuilderValidator")(function(a){B.handle(p(a))})),k("./VisibilityObjectFactoryFactory").fromEnvironment()),v=function(){return null};c.exports=function(c,d){for(var e=typeof c,m=null,m=[],
f=arguments.length;f--;)m[f]=arguments[f];switch(e){case "object":m=b.apply(null,m);break;case "string":m=a.apply(null,m);break;default:throw TypeError("Expecting anonymous class definition or named class definition");}return m};c.exports.extend=h;c.exports.implement=function(a){return e(null,Array.prototype.slice.call(arguments))};c.exports.use=function(a){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];return d(v,b)};var m={prototype:{}},x={constructor:{prototype:{}}};c.exports.isClass=function(a){a=
a||m;var b=z.getMeta(a);return null!==b&&b.implemented||a.prototype instanceof z.ClassBase?!0:!1};c.exports.isClassInstance=function(a){a=a||x;return c.exports.isClass(a.constructor)};c.exports.isInstanceOf=z.isInstanceOf;c.exports.isA=c.exports.isInstanceOf;var y=function(a,b){for(var d=arguments.length,e={},m=arguments[d-1],f=null,g=[],h=!1,l=0;l<d-1;l++)f=arguments[l],D.propParse(f.prototype,{method:function(a,b,c,d){e["abstract "+a]=b.definition;h=!0}}),g.push(f);h&&(e.___$$abstract$$=!0);d=c.exports.extend(m,
e);z.getMeta(d).implemented=g;return d}})(g["class"]={},".");(function(c,g){function b(a){"object"===typeof a&&(a.___$$abstract$$=!0)}function a(c){var e=c.extend,f=c.implement,g=c.use;f&&(c.implement=function(){return a(f.apply(this,arguments))});g&&(c.use=function(){return a(g.apply(this,arguments))});c.extend=function(){b(arguments[arguments.length-1]);return e.apply(this,arguments)};c.__createBase=function(){return e({___$$auto$abstract$$:!0})};return c}var f=c.exports={};q=".";var e=k("./class");
c.exports=f=function(){b(arguments[arguments.length-1]);var c=e.apply(this,arguments);e.isClass(c)||a(c);return c};f.extend=function(){b(arguments[arguments.length-1]);return e.extend.apply(this,arguments)};f.use=function(){return a(e.use.apply(this,arguments))};f.implement=function(){return a(e.implement.apply(this,arguments))}})(g.class_abstract={},".");(function(c,g){function b(){}function a(){switch(arguments.length){case 0:throw Error("Missing trait name or definition");case 1:return"string"===
typeof arguments[0]?e.apply(this,arguments):a.extend.apply(this,arguments);case 2:return f.apply(this,arguments)}throw Error("Expecting at most two arguments for definition of named Trait "+name+"'; "+arguments.length+" given");}function f(b,c){if("string"!==typeof b)throw Error("First argument of named class definition must be a string");c.__name=b;return a.extend(c)}function e(a){return{extend:function(b){return f(a,b)},implement:function(){return r(arguments,a)}}}function d(a,b,c,d){if("__construct"===
a)throw Error("Traits may not define __construct");if(c["static"])throw Error("Cannot define member `"+a+"'; static trait members are currently unsupported");d.apply(this,arguments)}function l(a,b,c,d){if("___"!==a.substr(0,3)){if(!c["private"])throw Error("Cannot define property `"+a+"'; only private properties are permitted within Trait definitions");d.apply(this,arguments)}}function h(a,b,c,d){throw Error("Cannot define property `"+a+"'; getters/setters are currently unsupported");}function r(b,
c){return{extend:function(d){c&&(d.__name=c);return a.extend.call({__$$meta:{ifaces:b}},d)}}}function w(a){var b={"protected ___$$pmo$$":null,"protected ___$$super$$":null,__construct:function(a,b){this.___$$super$$=a;this.___$$pmo$$=b},__name:"#ConcreteTrait#"},c=C.getMeta(a).abstractMethods,d;for(d in c)Object.hasOwnProperty.call(c,d)&&"__"!==d.substr(0,2)&&(b[(void 0!==a.___$$methods$$["public"][d]?"public":"protected")+" proxy "+d]="___$$pmo$$");A(a,b);return a.extend(b)}function A(a,b){var c=
C.getMeta(a).virtualMembers,d;for(d in c){var c=void 0!==a.___$$methods$$["public"][d]?"public":"protected",e=a.___$$methods$$[c][d],f=e.__length;b[c+" virtual override "+d]=function(a){var b=function(){var b=this.___$$pmo$$,c=b[a];return c?c.apply(b,arguments):this.__super.apply(this,arguments)};b.__length=f;return b}(d);b[c+" virtual __$$"+d]=function(a){var b=function(){return a.apply(this,arguments)};b.__length=f;return b}(e)}}function u(a,c,d,e){if(a.__extbase&&a.__extbase!==e&&!C.isInstanceOf(a.__extbase,
e.asPrototype()))throw TypeError("Cannot mix trait "+a.toString()+" into "+e.toString()+"; mixor must be of type "+a.__extbase.toString());var f=a.__acls;a=E(a,c,d,e);c["weak virtual ___$$ctor$pre$$"]=b;c["weak virtual ___$$ctor$post$$"]=b;e===C.ClassBase?(c["virtual override ___$$ctor$post$$"]=p,c["virtual override ___$$ctor$pre$$"]=b):(c["virtual override ___$$ctor$post$$"]=b,c["virtual override ___$$ctor$pre$$"]=p);D(f,c,a);return c}function D(a,b,c){a=a.___$$methods$$;z(a["public"],b,"public",
c);z(a["protected"],b,"protected",c);(a=a["public"].___$$parent$$)&&a.constructor!==C.ClassBase&&D(a.constructor,b,c)}function z(a,b,c,d){for(var e in a)if(Object.hasOwnProperty.call(a,e)&&"__mixin"!==e&&a[e].___$$keywords$$){var f=a[e].___$$keywords$$;c=f["protected"]?"protected":"public";if(f["abstract"]&&!f.override)b[c+" weak abstract "+e]=a[e].definition;else{var g=f.virtual;c=(g?"":"proxy ")+(g?"virtual ":"")+(f.override?"override ":"")+c+" "+e;if(void 0!==b[c])throw Error("Trait member conflict: `"+
e+"'");b[c]=f.virtual?function(b){var c=function(){var a=this[d],c=a["__$$"+b].apply(a,arguments);return c===a?this:c};c.__length=a[b].__length;return c}(e):d}}}function E(a,b,c,d){var e="___$to$"+a.__acls.__cid+"$"+d.__cid;c.push([e,a]);b["private "+e]=null;void 0===b.___$$tctor$$&&(b["weak virtual ___$$tctor$$"]=function(){},b["virtual override ___$$tctor$$"]=n(c,d));return e}function n(a,b){return function(c){for(var d in a){var e=a[d][0],f=a[d][1],g=f.__ccls||(f.__ccls=w(f.__acls));this[e]=g(b,
this[c].vis)[c].vis;this[e].__mixin&&this[e].__mixin.apply(this[e],f.___$$mixinargs)}this.__super&&this.__super(c)}}function p(){this.___$$tctor$$.apply(this,arguments)}c.exports={};q=".";var B=k("./class_abstract"),C=k("./ClassBuilder"),v=k("./interface");a.extend=function(){var a=arguments.length,b=arguments[a-1],e=1<a,f=e?arguments[0]:null;if(2<a)throw Error("Unexpected number of arguments to Trait.extend");if(e){a=typeof f;if(null===f||"object"!==a&&"function"!==a)throw TypeError("Trait cannot extend base of type '"+
a+"'");if(!0===f.___$$final$$)throw TypeError("Trait cannot extend final class");if(c.exports.isTrait(f))throw TypeError("Traits cannot extend other traits");}var a=(this||{}).__$$meta||{},g=b.__name||"(Trait)",e="function"===typeof b.__mixin?"param":"std";b.___$$parser$$={each:d,property:l,getset:h};b.___$$auto$abstract$$=!0;b.__name="#AbstractTrait#";var k="param"===e?function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];var c=function(){throw Error("Cannot re-configure argument trait");
};c.___$$mixinargs=a;c.__trait="arg";c.__acls=k.__acls;c.__ccls=k.__ccls;c.toString=k.toString;c.__mixinImpl=k.__mixinImpl;c.__isInstanceOf=k.__isInstanceOf;c.__mixin=function(a,b,d){u(c,a,b,d)};return c}:function(){throw Error("Cannot instantiate non-parameterized trait");},n=B;a.ifaces&&(n=n.implement.apply(null,a.ifaces));var p=n.extend(b);k.__trait=e;k.__acls=p;k.__ccls=null;k.__extbase=f;k.toString=function(){return""+g};k.___$$mixinargs=[];k.__mixin=function(a,b,c){u(k,a,b,c)};k.__mixinImpl=
function(a){for(var b=C.getMeta(p).implemented||[],c=b.length;c--;)a.push(b[c])};k.__isInstanceOf=v.isInstanceOf;return k};a.implement=function(){return r(arguments)};a.isTrait=function(a){return!!(a||{}).__trait};a.isParameterTrait=function(a){return"param"===(a||{}).__trait};a.isArgumentTrait=function(a){return"arg"===(a||{}).__trait};c.exports=a})(g.Trait={},".");(function(c,g){function b(a){"object"===typeof a&&(a.___$$final$$=!0)}function a(a){var c=a.extend;a.extend=function(){b(arguments[arguments.length-
1]);return c.apply(this,arguments)}}var f=c.exports={};q=".";var e=k("./class"),f=c.exports=function(){b(arguments[arguments.length-1]);var c=e.apply(this,arguments);e.isClass(c)||a(c);return c};f.extend=function(){b(arguments[arguments.length-1]);return e.extend.apply(this,arguments)}})(g.class_final={},".");(function(c,g){var b=c.exports={};q=".";var a=k("./MemberBuilder");c.exports=b=function(a,b){if(!(this instanceof c.exports))return new c.exports(a,b);c.exports.prototype.constructor.call(this,
a,b)};c.exports.prototype=new a;c.exports.constructor=c.exports;b.prototype.buildGetterSetter=function(){throw Error("Getters/setters are unsupported in this environment");}})(g.FallbackMemberBuilder={},".");(function(c,g){function b(){if(!(this instanceof b))return new b;this._alt={}}c.exports={};q="util";(0,eval)("var _the_global=this");b.expose=function(){return _the_global};b.prototype={provideAlt:function(a,b){if(void 0===_the_global[a]&&void 0===this._alt[a])return this._alt[a]=b(),this},get:function(a){return void 0!==
this._alt[a]?this._alt[a]:_the_global[a]}};c.exports=b})(g["util/Global"]={},".");(function(c,g){c.exports={};q="util";var b=k("./symbol/FallbackSymbol"),a=k("./Global").expose();c.exports=a.Symbol||b})(g["util/Symbol"]={},".");(function(c,g){function b(){if(!(this instanceof b))return new b;this.___$$id$$=e+f(1E8*a())}c.exports={};q="util/symbol";var a=Math.random,f=Math.floor,e=" "+String.fromCharCode(f(10*a())%31+1)+"$";b.prototype={toString:function(){return this.___$$id$$}};c.exports=b})(g["util/symbol/FallbackSymbol"]=
{},".");(function(c,g){c.exports={};q=".";var b=[0,2,5,""];b.major=0;b.minor=2;b.rev=5;b.suffix="";b.toString=function(){return this.join(".").replace(/\.([^.]*)$/,"-$1").replace(/-$/,"")};c.exports=b})(g.version={},".");(function(c,g){function b(){if(!(this instanceof b))return new b}c.exports={};q="warn";b.prototype={handle:function(a){}};c.exports=b})(g["warn/DismissiveHandler"]={},".");(function(c,g){function b(a){if(!(this instanceof b))return new b(a);this._console=a||{}}c.exports={};q="warn";
b.prototype={handle:function(a){var b=this._console.warn||this._console.log;b&&b.call(this._console,"Warning: "+a.message)}};c.exports=b})(g["warn/LogHandler"]={},".");(function(c,g){function b(){if(!(this instanceof b))return new b}c.exports={};q="warn";b.prototype={handle:function(a){throw a.getError();}};c.exports=b})(g["warn/ThrowHandler"]={},".");(function(c,g){function b(a){if(!(this instanceof b))return new b(a);if(!(a instanceof Error))throw TypeError("Must provide exception to wrap");Error.prototype.constructor.call(this,
a.message);this.message=a.message;this.name="Warning";this._error=a;this.stack=a.stack&&a.stack.replace(/^.*?\n+/,this.name+": "+this.message+"\n")}c.exports={};q="warn";b.prototype=Error();b.prototype.constructor=b;b.prototype.name="Warning";b.prototype.getError=function(){return this._error};c.exports=b})(g["warn/Warning"]={},".");G.Class=g["class"].exports;G.AbstractClass=g.class_abstract.exports;G.FinalClass=g.class_final.exports;G.Interface=g["interface"].exports;G.Trait=g.Trait.exports;G.version=
g.version.exports})(easejs,".");
