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