From 2b76dc9055020009d49cd59912d3d7337b584bc2 Mon Sep 17 00:00:00 2001 From: Rino Jose Date: Sun, 25 Dec 2022 20:55:59 -0800 Subject: [PATCH 01/29] Add initial version of Forthic React bundle * Use create-react-app to create first version * Add initial Makefile * Specify homepage in package.json * Install npm modules * Build and install the react bundle --- apps/examples/app1/main.forthic | 5 + apps/examples/run.py | 51 +- apps/examples/static/js/babel.min.js | 15 + apps/examples/static/js/prop-types.min.js | 1 + .../static/js/react-dom.production.min.js | 267 + .../static/js/react.production.min.js | 31 + .../static/react/react-app/main.073c9b0a.css | 2 + .../static/react/react-app/main.2d50e04b.js | 3 + .../static/react/react-app/manifest.json | 25 + apps/examples/templates/react/react-app.html | 35 + forthic-react/.gitignore | 23 + forthic-react/Makefile | 21 + forthic-react/README.md | 70 + forthic-react/package-lock.json | 30079 ++++++++++++++++ forthic-react/package.json | 45 + forthic-react/public/favicon.ico | Bin 0 -> 3870 bytes forthic-react/public/index.html | 43 + forthic-react/public/logo192.png | Bin 0 -> 5347 bytes forthic-react/public/logo512.png | Bin 0 -> 9664 bytes forthic-react/public/manifest.json | 25 + forthic-react/public/robots.txt | 3 + forthic-react/src/App.css | 38 + forthic-react/src/App.js | 25 + forthic-react/src/App.test.js | 8 + forthic-react/src/index.css | 13 + forthic-react/src/index.js | 17 + forthic-react/src/logo.svg | 1 + forthic-react/src/reportWebVitals.js | 13 + forthic-react/src/setupTests.js | 5 + forthic-react/update_template.py | 25 + 30 files changed, 30874 insertions(+), 15 deletions(-) create mode 100644 apps/examples/app1/main.forthic create mode 100644 apps/examples/static/js/babel.min.js create mode 100644 apps/examples/static/js/prop-types.min.js create mode 100644 apps/examples/static/js/react-dom.production.min.js create mode 100644 apps/examples/static/js/react.production.min.js create mode 100644 apps/examples/static/react/react-app/main.073c9b0a.css create mode 100644 apps/examples/static/react/react-app/main.2d50e04b.js create mode 100644 apps/examples/static/react/react-app/manifest.json create mode 100644 apps/examples/templates/react/react-app.html create mode 100644 forthic-react/.gitignore create mode 100644 forthic-react/Makefile create mode 100644 forthic-react/README.md create mode 100644 forthic-react/package-lock.json create mode 100644 forthic-react/package.json create mode 100644 forthic-react/public/favicon.ico create mode 100644 forthic-react/public/index.html create mode 100644 forthic-react/public/logo192.png create mode 100644 forthic-react/public/logo512.png create mode 100644 forthic-react/public/manifest.json create mode 100644 forthic-react/public/robots.txt create mode 100644 forthic-react/src/App.css create mode 100644 forthic-react/src/App.js create mode 100644 forthic-react/src/App.test.js create mode 100644 forthic-react/src/index.css create mode 100644 forthic-react/src/index.js create mode 100644 forthic-react/src/logo.svg create mode 100644 forthic-react/src/reportWebVitals.js create mode 100644 forthic-react/src/setupTests.js create mode 100644 forthic-react/update_template.py diff --git a/apps/examples/app1/main.forthic b/apps/examples/app1/main.forthic new file mode 100644 index 0000000..b04997b --- /dev/null +++ b/apps/examples/app1/main.forthic @@ -0,0 +1,5 @@ +: CSS ""; +: JSX ""; +: FORTHIC ""; + +: MAIN-PAGE ["REACT" CSS JSX FORTHIC]; \ No newline at end of file diff --git a/apps/examples/run.py b/apps/examples/run.py index da98f1d..e0a597b 100644 --- a/apps/examples/run.py +++ b/apps/examples/run.py @@ -77,6 +77,23 @@ def get_example_infos(): @app.route('/examples/') def example(example): + + def render_configured_page(array): + page_type = array[0] + + if page_type == "REACT": + [_, css, jsx, forthic] = array + res = render_template( + 'react/react-app.html', + css=css, + jsx=jsx, + forthic=forthic, + basename=f"examples/{example}" + ) + else: + res = f"Unknown page type: {page_type}" + return res + try: directory = '.' example_dir = f'{directory}/{example}' @@ -86,20 +103,25 @@ def example(example): example_forthic = get_example_forthic(example_dir) interp.run(example_forthic) - def get_html_output(): - interp.run('MAIN-PAGE') - res = interp.stack_pop() - return res - - overview = markdown.markdown(read_file(f'{example_dir}/overview.md')) - html_output = get_html_output() - result = render_template( - 'example.html', - example=example, - overview=overview, - example_forthic=example_forthic, - html_output=html_output, - ) + interp.run('MAIN-PAGE') + res = interp.stack_pop() + + # TODO: If a string, render the example; otherwise, render react app + if isinstance(res, str): + overview = markdown.markdown(read_file(f'{example_dir}/overview.md')) + html_output = res + result = render_template( + 'example.html', + example=example, + overview=overview, + example_forthic=example_forthic, + html_output=html_output, + ) + elif isinstance(res, list): + result = render_configured_page(res) + else: + result = f"Unknown config: {res}" + return result except MissingSecretsFile: creds.ensure_secrets_file() return redirect(url_for('example', example=example)) @@ -123,7 +145,6 @@ def get_html_output(): pass else: raise RuntimeError(f'Unknown OAuth token type: {e.field}') - return result @app.route('/update_password_form//') diff --git a/apps/examples/static/js/babel.min.js b/apps/examples/static/js/babel.min.js new file mode 100644 index 0000000..6a5da02 --- /dev/null +++ b/apps/examples/static/js/babel.min.js @@ -0,0 +1,15 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Babel={})}(this,(function(e){"use strict";var t=Object.freeze({__proto__:null,get version(){return ZG},get types(){return Bl},get DEFAULT_EXTENSIONS(){return eV},get OptionManager(){return tV},get Plugin(){return rV},get File(){return v_},get buildExternalHelpers(){return W_},get resolvePlugin(){return tB},get resolvePreset(){return rB},get getEnv(){return sB},get tokTypes(){return IE},get traverse(){return tC},get template(){return ij},get createConfigItem(){return NU},get createConfigItemSync(){return BU},get createConfigItemAsync(){return OU},get loadPartialConfig(){return TU},get loadPartialConfigSync(){return PU},get loadPartialConfigAsync(){return kU},get loadOptions(){return FU},get loadOptionsSync(){return IU},get loadOptionsAsync(){return _U},get transform(){return MG},get transformSync(){return UG},get transformAsync(){return GG},get transformFile(){return VG},get transformFileSync(){return WG},get transformFileAsync(){return HG},get transformFromAst(){return KG},get transformFromAstSync(){return qG},get transformFromAstAsync(){return XG},get parse(){return YG},get parseSync(){return $G},get parseAsync(){return QG}});function r(){r=function(){return e};var e={},t=Object.prototype,a=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},s="function"==typeof Symbol?Symbol:{},i=s.iterator||"@@iterator",o=s.asyncIterator||"@@asyncIterator",d=s.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function c(e,t,r,a){var s=t&&t.prototype instanceof f?t:f,i=Object.create(s.prototype),o=new A(a||[]);return n(i,"_invoke",{value:E(e,r,o)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var p={};function f(){}function g(){}function h(){}var y={};u(y,i,(function(){return this}));var m=Object.getPrototypeOf,v=m&&m(m(C([])));v&&v!==t&&a.call(v,i)&&(y=v);var b=h.prototype=f.prototype=Object.create(y);function R(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function r(n,s,i,o){var d=l(e[n],e,s);if("throw"!==d.type){var u=d.arg,c=u.value;return c&&"object"==typeof c&&a.call(c,"__await")?t.resolve(c.__await).then((function(e){r("next",e,i,o)}),(function(e){r("throw",e,i,o)})):t.resolve(c).then((function(e){u.value=e,i(u)}),(function(e){return r("throw",e,i,o)}))}o(d.arg)}var s;n(this,"_invoke",{value:function(e,a){function n(){return new t((function(t,n){r(e,a,t,n)}))}return s=s?s.then(n,n):n()}})}function E(e,t,r){var a="suspendedStart";return function(n,s){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===n)throw s;return S()}for(r.method=n,r.arg=s;;){var i=r.delegate;if(i){var o=D(i,r);if(o){if(o===p)continue;return o}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===a)throw a="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a="executing";var d=l(e,t,r);if("normal"===d.type){if(a=r.done?"completed":"suspendedYield",d.arg===p)continue;return{value:d.arg,done:r.done}}"throw"===d.type&&(a="completed",r.method="throw",r.arg=d.arg)}}}function D(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,D(e,t),"throw"===t.method))return p;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var a=l(r,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,p;var n=a.arg;return n?n.done?(t[e.resultName]=n.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):n:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(j,this),this.reset(!0)}function C(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var s=this.tryEntries[n],i=s.completion;if("root"===s.tryLoc)return r("end");if(s.tryLoc<=this.prev){var o=a.call(s,"catchLoc"),d=a.call(s,"finallyLoc");if(o&&d){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var a=r.completion;if("throw"===a.type){var n=a.arg;w(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:C(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},e}function a(e,t,r,a,n,s,i){try{var o=e[s](i),d=o.value}catch(e){return void r(e)}o.done?t(d):Promise.resolve(d).then(a,n)}function n(e){return function(){var t=this,r=arguments;return new Promise((function(n,s){var i=e.apply(t,r);function o(e){a(i,n,s,o,d,"next",e)}function d(e){a(i,n,s,o,d,"throw",e)}o(void 0)}))}}function s(e,t){for(var r=0;r=0||(n[r]=e[r]);return n}function g(e,t){if(null==e)return{};var r,a,n=f(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e,t){return t||(t=e.slice(0)),e.raw=t,e}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var a,n,s=[],i=!0,o=!1;try{for(r=r.call(e);!(i=(a=r.next()).done)&&(s.push(a.value),!t||s.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(o)throw n}}return s}(e,t)||b(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||b(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){if(e){if("string"==typeof e)return R(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?R(e,t):void 0}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var E=Object.freeze({__proto__:null,ReferencedIdentifier:["Identifier","JSXIdentifier"],ReferencedMemberExpression:["MemberExpression"],BindingIdentifier:["Identifier"],Statement:["Statement"],Expression:["Expression"],Scope:["Scopable","Pattern"],Referenced:null,BlockScoped:null,Var:["VariableDeclaration"],User:null,Generated:null,Pure:null,Flow:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],RestProperty:["RestElement"],SpreadProperty:["RestElement"],ExistentialTypeParam:["ExistsTypeAnnotation"],NumericLiteralTypeAnnotation:["NumberLiteralTypeAnnotation"],ForAwaitStatement:["ForOfStatement"]});function D(e,t){for(var r=0,a=Object.keys(t);rn.length)return!1;for(var i=0,o=s.length-1;i1)for(var r=1;re)return!1;if((r+=t[a+1])>=e)return!0}return!1}function $r(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&Kr.test(String.fromCharCode(e)):Yr(e,Xr)))}function Qr(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&qr.test(String.fromCharCode(e)):Yr(e,Xr)||Yr(e,Jr))))}function Zr(e){for(var t=!0,r=0;r=48&&e<=57},pa={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},fa={bin:function(e){return 48===e||49===e},oct:function(e){return e>=48&&e<=55},dec:function(e){return e>=48&&e<=57},hex:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}};function ga(e,t,r,a,n,s){for(var i=r,o=a,d=n,u="",c=null,l=r,p=t.length;;){if(r>=p){s.unterminated(i,o,d),u+=t.slice(l,r);break}var f=t.charCodeAt(r);if(ha(e,f,t,r)){u+=t.slice(l,r);break}if(92===f){u+=t.slice(l,r);var g=ya(t,r,a,n,"template"===e,s);null!==g.ch||c?u+=g.ch:c={pos:r,lineStart:a,curLine:n},r=g.pos,a=g.lineStart,n=g.curLine,l=r}else 8232===f||8233===f?(++n,a=++r):10===f||13===f?"template"===e?(u+=t.slice(l,r)+"\n",++r,13===f&&10===t.charCodeAt(r)&&++r,++n,l=a=r):s.unterminated(i,o,d):++r}return{pos:r,str:u,firstInvalidLoc:c,lineStart:a,curLine:n,containsInvalid:!!c}}function ha(e,t,r,a){return"template"===e?96===t||36===t&&123===r.charCodeAt(a+1):t===("double"===e?34:39)}function ya(e,t,r,a,n,s){var i=!n;t++;var o=function(e){return{pos:t,ch:e,lineStart:r,curLine:a}},d=e.charCodeAt(t++);switch(d){case 110:return o("\n");case 114:return o("\r");case 120:var u,c=ma(e,t,r,a,2,!1,i,s);return u=c.code,t=c.pos,o(null===u?null:String.fromCharCode(u));case 117:var l,p=ba(e,t,r,a,i,s);return l=p.code,t=p.pos,o(null===l?null:String.fromCodePoint(l));case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:r=t,++a;case 8232:case 8233:return o("");case 56:case 57:if(n)return o(null);s.strictNumericEscape(t-1,r,a);default:if(d>=48&&d<=55){var f=t-1,g=e.slice(f,t+2).match(/^[0-7]+/)[0],h=parseInt(g,8);h>255&&(g=g.slice(0,-1),h=parseInt(g,8)),t+=g.length-1;var y=e.charCodeAt(t);if("0"!==g||56===y||57===y){if(n)return o(null);s.strictNumericEscape(f,r,a)}return o(String.fromCharCode(h))}return o(String.fromCharCode(d))}}function ma(e,t,r,a,n,s,i,o){var d,u=t,c=va(e,t,r,a,16,n,s,!1,o,!i);return d=c.n,t=c.pos,null===d&&(i?o.invalidEscapeSequence(u,r,a):t=u-1),{code:d,pos:t}}function va(e,t,r,a,n,s,i,o,d,u){for(var c=t,l=16===n?pa.hex:pa.decBinOct,p=16===n?fa.hex:10===n?fa.dec:8===n?fa.oct:fa.bin,f=!1,g=0,h=0,y=null==s?1/0:s;h=97?m-97+10:m>=65?m-65+10:la(m)?m-48:1/0)>=n){if(v<=9&&u)return{n:null,pos:t};if(v<=9&&d.invalidDigit(t,r,a,n))v=0;else{if(!i)break;v=0,f=!0}}++t,g=g*n+v}else{var b=e.charCodeAt(t-1),R=e.charCodeAt(t+1);if(o){if(Number.isNaN(R)||!p(R)||l.has(b)||l.has(R)){if(u)return{n:null,pos:t};d.unexpectedNumericSeparator(t,r,a)}}else{if(u)return{n:null,pos:t};d.numericSeparatorInEscapeSequence(t,r,a)}++t}}return t===c||null!=s&&t-c!==s||f?{n:null,pos:t}:{n:g,pos:t}}function ba(e,t,r,a,n,s){var i;if(123===e.charCodeAt(t)){var o=ma(e,++t,r,a,e.indexOf("}",t)-t,!0,n,s);if(i=o.code,t=o.pos,++t,null!==i&&i>1114111){if(!n)return{code:null,pos:t};s.invalidCodePoint(t,r,a)}}else{var d=ma(e,t,r,a,4,!1,n,s);i=d.code,t=d.pos}return{code:i,pos:t}}var Ra=["consequent","body","alternate"],xa=["leadingComments","trailingComments","innerComments"],Ea=["||","&&","??"],Da=["++","--"],ja=[">","<",">=","<="],wa=["==","===","!=","!=="],Aa=[].concat(wa,["in","instanceof"]),Ca=[].concat(v(Aa),ja),Sa=["-","/","%","*","**","&","|",">>",">>>","<<","^"],Ta=["+"].concat(Sa,v(Ca),["|>"]),Pa=["=","+="].concat(v(Sa.map((function(e){return e+"="}))),v(Ea.map((function(e){return e+"="})))),ka=["delete","!"],Fa=["+","-","~"],Ia=["typeof"],_a=["void","throw"].concat(ka,Fa,Ia),Ba={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},Oa=Symbol.for("var used to be block scoped"),Na=Symbol.for("should not be considered a local binding"),La={},Ma={},Ua={},Ga={},Va={},Wa={},Ha={};function za(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function Ka(e){return{validate:e}}function qa(e){return"string"==typeof e?tn(e):tn.apply(void 0,v(e))}function Xa(e){return Ka(qa(e))}function Ja(e){return{validate:e,optional:!0}}function Ya(e){return{validate:qa(e),optional:!0}}function $a(e){return t=qa(e),sn(an("array"),Za(t));var t}function Qa(e){return Ka($a(e))}function Za(e){function t(t,r,a){if(Array.isArray(a))for(var n=0;n=2&&"type"in t[0]&&"array"===t[0].type&&!("each"in t[1]))throw new Error('An assertValueType("array") validator can only be followed by an assertEach(...) validator.');return a}var on=["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"],dn=["default","optional","validate"],un={};function cn(){for(var e=arguments.length,t=new Array(e),r=0;r0:d&&"object"==typeof d)throw new Error("field defaults can only be primitives or empty arrays currently");a[i]={default:Array.isArray(d)?[]:d,optional:o.optional,validate:o.validate}}for(var u=t.visitor||r.visitor||[],c=t.aliases||r.aliases||[],l=t.builder||r.builder||t.visitor||[],p=0,f=Object.keys(t);p+s+1)throw new TypeError("RestElement must be last element of "+n)}}}),pn("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:tn("Expression"),optional:!0}}}),pn("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:sn(an("array"),Za(tn("Expression")))}},aliases:["Expression"]}),pn("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:tn("Expression")}}}),pn("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:tn("Expression"),optional:!0},consequent:{validate:sn(an("array"),Za(tn("Statement")))}}}),pn("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:tn("Expression")},cases:{validate:sn(an("array"),Za(tn("SwitchCase")))}}}),pn("ThisExpression",{aliases:["Expression"]}),pn("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:tn("Expression")}}}),pn("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:sn(tn("BlockStatement"),Object.assign((function(e){if(Or.env.BABEL_TYPES_8_BREAKING&&!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")}),{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:tn("CatchClause")},finalizer:{optional:!0,validate:tn("BlockStatement")}}}),pn("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:tn("Expression")},operator:{validate:en.apply(void 0,v(_a))}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),pn("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:Or.env.BABEL_TYPES_8_BREAKING?tn("Identifier","MemberExpression"):tn("Expression")},operator:{validate:en.apply(void 0,v(Da))}},visitor:["argument"],aliases:["Expression"]}),pn("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:an("boolean"),optional:!0},kind:{validate:en("var","let","const","using")},declarations:{validate:sn(an("array"),Za(tn("VariableDeclarator")))}},validate:function(e,t,r){if(Or.env.BABEL_TYPES_8_BREAKING&&Wr("ForXStatement",e,{left:r})&&1!==r.declarations.length)throw new TypeError("Exactly one VariableDeclarator is required in the VariableDeclaration of a "+e.type)}}),pn("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:function(){if(!Or.env.BABEL_TYPES_8_BREAKING)return tn("LVal");var e=tn("Identifier","ArrayPattern","ObjectPattern"),t=tn("Identifier");return function(r,a,n){(r.init?e:t)(r,a,n)}}()},definite:{optional:!0,validate:an("boolean")},init:{optional:!0,validate:tn("Expression")}}}),pn("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:tn("Expression")},body:{validate:tn("Statement")}}}),pn("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:tn("Expression")},body:{validate:tn("Statement")}}}),pn("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},xn(),{left:{validate:tn("Identifier","ObjectPattern","ArrayPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:tn("Expression")},decorators:{validate:sn(an("array"),Za(tn("Decorator"))),optional:!0}})}),pn("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},xn(),{elements:{validate:sn(an("array"),Za(rn("null","PatternLike","LVal")))},decorators:{validate:sn(an("array"),Za(tn("Decorator"))),optional:!0},optional:{validate:an("boolean"),optional:!0}})}),pn("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},fn(),gn(),{expression:{validate:an("boolean")},body:{validate:tn("BlockStatement","Expression")},predicate:{validate:tn("DeclaredPredicate","InferredPredicate"),optional:!0}})}),pn("ClassBody",{visitor:["body"],fields:{body:{validate:sn(an("array"),Za(tn("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","TSDeclareMethod","TSIndexSignature","StaticBlock")))}}}),pn("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:tn("Identifier"),optional:!0},typeParameters:{validate:tn("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:tn("ClassBody")},superClass:{optional:!0,validate:tn("Expression")},superTypeParameters:{validate:tn("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:sn(an("array"),Za(tn("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:sn(an("array"),Za(tn("Decorator"))),optional:!0},mixins:{validate:tn("InterfaceExtends"),optional:!0}}}),pn("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:tn("Identifier")},typeParameters:{validate:tn("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:tn("ClassBody")},superClass:{optional:!0,validate:tn("Expression")},superTypeParameters:{validate:tn("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:sn(an("array"),Za(tn("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:sn(an("array"),Za(tn("Decorator"))),optional:!0},mixins:{validate:tn("InterfaceExtends"),optional:!0},declare:{validate:an("boolean"),optional:!0},abstract:{validate:an("boolean"),optional:!0}},validate:function(){var e=tn("Identifier");return function(t,r,a){Or.env.BABEL_TYPES_8_BREAKING&&(Wr("ExportDefaultDeclaration",t)||e(a,"id",a.id))}}()}),pn("ExportAllDeclaration",{visitor:["source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{source:{validate:tn("StringLiteral")},exportKind:Ja(en("type","value")),assertions:{optional:!0,validate:sn(an("array"),Za(tn("ImportAttribute")))}}}),pn("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:tn("TSDeclareFunction","FunctionDeclaration","ClassDeclaration","Expression")},exportKind:Ja(en("value"))}}),pn("ExportNamedDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{optional:!0,validate:sn(tn("Declaration"),Object.assign((function(e,t,r){if(Or.env.BABEL_TYPES_8_BREAKING&&r&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration")}),{oneOfNodeTypes:["Declaration"]}),(function(e,t,r){if(Or.env.BABEL_TYPES_8_BREAKING&&r&&e.source)throw new TypeError("Cannot export a declaration from a source")}))},assertions:{optional:!0,validate:sn(an("array"),Za(tn("ImportAttribute")))},specifiers:{default:[],validate:sn(an("array"),Za((bn=tn("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),Rn=tn("ExportSpecifier"),Or.env.BABEL_TYPES_8_BREAKING?function(e,t,r){(e.source?bn:Rn)(e,t,r)}:bn)))},source:{validate:tn("StringLiteral"),optional:!0},exportKind:Ja(en("type","value"))}}),pn("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:tn("Identifier")},exported:{validate:tn("Identifier","StringLiteral")},exportKind:{validate:en("type","value"),optional:!0}}}),pn("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){if(!Or.env.BABEL_TYPES_8_BREAKING)return tn("VariableDeclaration","LVal");var e=tn("VariableDeclaration"),t=tn("Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression");return function(r,a,n){Wr("VariableDeclaration",n)?e(r,a,n):t(r,a,n)}}()},right:{validate:tn("Expression")},body:{validate:tn("Statement")},await:{default:!1}}}),pn("ImportDeclaration",{visitor:["specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration"],fields:{assertions:{optional:!0,validate:sn(an("array"),Za(tn("ImportAttribute")))},module:{optional:!0,validate:an("boolean")},specifiers:{validate:sn(an("array"),Za(tn("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:tn("StringLiteral")},importKind:{validate:en("type","typeof","value"),optional:!0}}}),pn("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:tn("Identifier")}}}),pn("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:tn("Identifier")}}}),pn("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:tn("Identifier")},imported:{validate:tn("Identifier","StringLiteral")},importKind:{validate:en("type","typeof","value"),optional:!0}}}),pn("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:sn(tn("Identifier"),Object.assign((function(e,t,r){if(Or.env.BABEL_TYPES_8_BREAKING){var a;switch(r.name){case"function":a="sent";break;case"new":a="target";break;case"import":a="meta"}if(!Wr("Identifier",e.property,{name:a}))throw new TypeError("Unrecognised MetaProperty")}}),{oneOfNodeTypes:["Identifier"]}))},property:{validate:tn("Identifier")}}});var En=function(){return{abstract:{validate:an("boolean"),optional:!0},accessibility:{validate:en("public","private","protected"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:an("boolean"),optional:!0},key:{validate:sn(function(){var e=tn("Identifier","StringLiteral","NumericLiteral"),t=tn("Expression");return function(r,a,n){(r.computed?t:e)(r,a,n)}}(),tn("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression"))}}},Dn=function(){return Object.assign({},fn(),En(),{params:{validate:sn(an("array"),Za(tn("Identifier","Pattern","RestElement","TSParameterProperty")))},kind:{validate:en("get","set","method","constructor"),default:"method"},access:{validate:sn(an("string"),en("public","private","protected")),optional:!0},decorators:{validate:sn(an("array"),Za(tn("Decorator"))),optional:!0}})};pn("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:Object.assign({},Dn(),gn(),{body:{validate:tn("BlockStatement")}})}),pn("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},xn(),{properties:{validate:sn(an("array"),Za(tn("RestElement","ObjectProperty")))}})}),pn("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:tn("Expression")}}}),pn("Super",{aliases:["Expression"]}),pn("TaggedTemplateExpression",{visitor:["tag","quasi","typeParameters"],builder:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:tn("Expression")},quasi:{validate:tn("TemplateLiteral")},typeParameters:{validate:tn("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),pn("TemplateElement",{builder:["value","tail"],fields:{value:{validate:sn(function(e){function t(t,r,a){for(var n=[],s=0,i=Object.keys(e);s=0)){if(Ve(i))return[i];if(ar(i))r.set(i.type,i);else if(rt(i))a.has(i.types)||(e=e.concat(i.types),a.add(i.types));else if(Ke(i)){var o=Wu(i.id);if(t.has(o)){var d=t.get(o);d.typeParameters?i.typeParameters&&(d.typeParameters.params=Hu(d.typeParameters.params.concat(i.typeParameters.params))):d=i.typeParameters}else t.set(o,i)}else n.push(i)}}for(var u,c=x(r);!(u=c()).done;){var l=m(u.value,2)[1];n.push(l)}for(var p,f=x(t);!(p=f()).done;){var g=m(p.value,2)[1];n.push(g)}return n}function zu(e){var t=Hu(e);return 1===t.length?t[0]:So(t)}function Ku(e){return L(e)?e.name:e.right.name+"."+Ku(e.left)}function qu(e){for(var t=new Map,r=new Map,a=new Set,n=[],s=0;s=0)){if(xt(i))return[i];if(nr(i))r.set(i.type,i);else if(At(i))a.has(i.types)||(e.push.apply(e,v(i.types)),a.add(i.types));else if(Et(i)&&i.typeParameters){var o=Ku(i.typeName);if(t.has(o)){var d=t.get(o);d.typeParameters?i.typeParameters&&(d.typeParameters.params=qu(d.typeParameters.params.concat(i.typeParameters.params))):d=i.typeParameters}else t.set(o,i)}else n.push(i)}}for(var u,c=x(r);!(u=c()).done;){var l=m(u.value,2)[1];n.push(l)}for(var p,f=x(t);!(p=f()).done;){var g=m(p.value,2)[1];n.push(g)}return n}function Xu(e){var t=e.map((function(e){return Ot(e)?e.typeAnnotation:e})),r=qu(t);return 1===r.length?r[0]:eu(r)}var Ju=Function.call.bind(Object.prototype.hasOwnProperty);function Yu(e,t,r,a){return e&&"string"==typeof e.type?Zu(e,t,r,a):e}function $u(e,t,r,a){return Array.isArray(e)?e.map((function(e){return Yu(e,t,r,a)})):Yu(e,t,r,a)}function Qu(e,t,r){return void 0===t&&(t=!0),void 0===r&&(r=!1),Zu(e,t,r,new Map)}function Zu(e,t,r,a){if(void 0===t&&(t=!0),void 0===r&&(r=!1),!e)return e;var n=e.type,s={type:e.type};if(L(e))s.name=e.name,Ju(e,"optional")&&"boolean"==typeof e.optional&&(s.optional=e.optional),Ju(e,"typeAnnotation")&&(s.typeAnnotation=t?$u(e.typeAnnotation,!0,r,a):e.typeAnnotation);else{if(!Ju(Ga,n))throw new Error('Unknown node type: "'+n+'"');for(var i=0,o=Object.keys(Ga[n]);i=Number.MAX_SAFE_INTEGER?hl.uid=0:hl.uid++},yl.keys={DeclareClass:["id"],DeclareFunction:["id"],DeclareModule:["id"],DeclareVariable:["id"],DeclareInterface:["id"],DeclareTypeAlias:["id"],DeclareOpaqueType:["id"],InterfaceDeclaration:["id"],TypeAlias:["id"],OpaqueType:["id"],CatchClause:["param"],LabeledStatement:["label"],UnaryExpression:["argument"],AssignmentExpression:["left"],ImportSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportDefaultSpecifier:["local"],ImportDeclaration:["specifiers"],ExportSpecifier:["exported"],ExportNamespaceSpecifier:["exported"],ExportDefaultSpecifier:["exported"],FunctionDeclaration:["id","params"],FunctionExpression:["id","params"],ArrowFunctionExpression:["params"],ObjectMethod:["params"],ClassMethod:["params"],ClassPrivateMethod:["params"],ForInStatement:["left"],ForOfStatement:["left"],ClassDeclaration:["id"],ClassExpression:["id"],RestElement:["argument"],UpdateExpression:["argument"],ObjectProperty:["value"],AssignmentPattern:["left"],ArrayPattern:["elements"],ObjectPattern:["properties"],VariableDeclaration:["declarations"],VariableDeclarator:["id"]};var Rl=Function.call.bind(Object.prototype.toString);function xl(e){if(void 0===e)return vs("undefined");if(!0===e||!1===e)return js(e);if(null===e)return{type:"NullLiteral"};if("string"==typeof e)return xs(e);if("number"==typeof e){var t;if(Number.isFinite(e))t=Es(Math.abs(e));else t=Zn("/",Number.isNaN(e)?Es(0):Es(1),Es(0));return(e<0||Object.is(e,-0))&&(t=Vs("-",t)),t}if(function(e){return"[object RegExp]"===Rl(e)}(e))return ws(e.source,e.toString().match(/\/([a-z]+|)$/)[1]);if(Array.isArray(e))return $n(e.map(xl));if(function(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}(e)){for(var r=[],a=0,n=Object.keys(e);a=0)return!0}else if(s===e)return!0}return!1}function Cl(e){return oe(e)&&("var"!==e.kind||e[Oa])}function Sl(e){return O(e)||he(e)||Cl(e)}function Tl(e,t,r){switch(t.type){case"MemberExpression":case"OptionalMemberExpression":return t.property===e?!!t.computed:t.object===e;case"JSXMemberExpression":return t.object===e;case"VariableDeclarator":return t.init===e;case"ArrowFunctionExpression":return t.body===e;case"PrivateName":case"LabeledStatement":case"CatchClause":case"RestElement":case"BreakStatement":case"ContinueStatement":case"FunctionDeclaration":case"FunctionExpression":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportAttribute":case"JSXAttribute":case"ObjectPattern":case"ArrayPattern":case"MetaProperty":return!1;case"ClassMethod":case"ClassPrivateMethod":case"ObjectMethod":return t.key===e&&!!t.computed;case"ObjectProperty":return t.key===e?!!t.computed:!r||"ObjectPattern"!==r.type;case"ClassProperty":case"ClassAccessorProperty":case"TSPropertySignature":return t.key!==e||!!t.computed;case"ClassPrivateProperty":case"ObjectTypeProperty":return t.key!==e;case"ClassDeclaration":case"ClassExpression":return t.superClass===e;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ExportSpecifier":return(null==r||!r.source)&&t.local===e;case"TSEnumMember":return t.id!==e}return!0}function Pl(e,t){return(!C(e)||!Ht(t)&&!T(t))&&(!(!$t(e)||!Ht(t)&&!T(t))||Mt(e))}var kl=new Set(["abstract","boolean","byte","char","double","enum","final","float","goto","implements","int","interface","long","native","package","private","protected","public","short","static","synchronized","throws","transient","volatile"]);function Fl(e){return ca(e)&&!kl.has(e)}function Il(e){return oe(e,{kind:"var"})&&!e[Oa]}var _l={isReactComponent:or,isCompatTag:function(e){return!!e&&/^[a-z]/.test(e)},buildChildren:function(e){for(var t=[],r=0;r=1.5*r;return Math.round(e/r)+" "+a+(n?"s":"")}return ep=function(o,d){d=d||{};var u=typeof o;if("string"===u&&o.length>0)return function(i){if((i=String(i)).length>100)return;var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i);if(!o)return;var d=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return d*s;case"weeks":case"week":case"w":return d*n;case"days":case"day":case"d":return d*a;case"hours":case"hour":case"hrs":case"hr":case"h":return d*r;case"minutes":case"minute":case"mins":case"min":case"m":return d*t;case"seconds":case"second":case"secs":case"sec":case"s":return d*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return d;default:return}}(o);if("number"===u&&isFinite(o))return d.long?function(n){var s=Math.abs(n);if(s>=a)return i(n,s,a,"day");if(s>=r)return i(n,s,r,"hour");if(s>=t)return i(n,s,t,"minute");if(s>=e)return i(n,s,e,"second");return n+" ms"}(o):function(n){var s=Math.abs(n);if(s>=a)return Math.round(n/a)+"d";if(s>=r)return Math.round(n/r)+"h";if(s>=t)return Math.round(n/t)+"m";if(s>=e)return Math.round(n/e)+"s";return n+"ms"}(o);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(o))},ep}var sp=function(e){function t(e){var a,n,s,i=null;function o(){for(var e=arguments.length,r=new Array(e),n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(r=!1,function(){r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||function(){},e.exports=sp(t),e.exports.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(ap,ap.exports);var ip=ap.exports,op=Qu,dp=ri,up=ai,cp=vs,lp=Hs,pp=zs;function fp(e){if(!e.isExportDeclaration()||e.isExportAllDeclaration())throw new Error("Only default and named export declarations can be split.");if(e.isExportDefaultDeclaration()){var t=e.get("declaration"),r=t.isFunctionDeclaration()||t.isClassDeclaration(),a=t.isScope()?t.scope.parent:t.scope,n=t.node.id,s=!1;n||(s=!0,n=a.generateUidIdentifier("default"),(r||t.isFunctionExpression()||t.isClassExpression())&&(t.node.id=op(n)));var i=r?t.node:lp("var",[pp(op(n),t.node)]),o=dp(null,[up(op(n),cp("default"))]);return e.insertAfter(o),e.replaceWith(i),s&&a.registerDeclaration(e),e}if(e.get("specifiers").length>0)throw new Error("It doesn't make sense to split exported specifiers.");var d=e.get("declaration"),u=d.getOuterBindingIdentifiers(),c=Object.keys(u).map((function(e){return up(cp(e),cp(e))})),l=dp(null,c);return e.insertAfter(l),e.replaceWith(d.node),e}function gp(e){var t=e.context,r=e.node;if(r.computed&&t.maybeQueue(e.get("key")),r.decorators)for(var a,n=x(e.get("decorators"));!(a=n()).done;){var s=a.value;t.maybeQueue(s)}}var hp={FunctionParent:function(e){e.isArrowFunctionExpression()||(e.skip(),e.isMethod()&&gp(e))},Property:function(e){e.isObjectProperty()||(e.skip(),gp(e))}},yp={ReferencedIdentifier:function(e,t){var r=e.node;r.name===t.oldName&&(r.name=t.newName)},Scope:function(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||(e.skip(),e.isMethod()&&gp(e))},"AssignmentExpression|Declaration|VariableDeclarator":function(e,t){if(!e.isVariableDeclaration()){var r=e.getOuterBindingIdentifiers();for(var a in r)a===t.oldName&&(r[a].name=t.newName)}}},mp=function(){function e(e,t,r){this.newName=r,this.oldName=t,this.binding=e}var t=e.prototype;return t.maybeConvertFromExportDeclaration=function(e){var t=e.parentPath;if(t.isExportDeclaration()){if(t.isExportDefaultDeclaration()){var r=t.node.declaration;if(Kt(r)&&!r.id)return}t.isExportAllDeclaration()||fp(t)}},t.maybeConvertFromClassFunctionDeclaration=function(e){return e},t.maybeConvertFromClassFunctionExpression=function(e){return e},t.rename=function(e){var t=this.binding,r=this.oldName,a=this.newName,n=t.scope,s=t.path,i=s.find((function(e){return e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression()}));i&&(i.getOuterBindingIdentifiers()[r]===t.identifier&&this.maybeConvertFromExportDeclaration(i));$A(e||n.block,Ul(yp),n,this,n.path,{discriminant:!0}),e||(n.removeOwnBinding(r),n.bindings[a]=t,this.binding.identifier.name=a),i&&(this.maybeConvertFromClassFunctionDeclaration(s),this.maybeConvertFromClassFunctionExpression(s))},i(e)}(),vp=function(){function e(e){var t=e.identifier,r=e.scope,a=e.path,n=e.kind;this.identifier=void 0,this.scope=void 0,this.path=void 0,this.kind=void 0,this.constantViolations=[],this.constant=!0,this.referencePaths=[],this.referenced=!1,this.references=0,this.identifier=t,this.scope=r,this.path=a,this.kind=n,"var"!==n&&"hoisted"!==n||!function(e){for(var t=e.parentPath,r=e.key;t;t=(a=t).parentPath,r=a.key,a){var a;if(t.isFunctionParent())return!1;if(t.isWhile()||t.isForXStatement()||t.isForStatement()&&"body"===r)return!0}return!1}(a||function(){throw new Error("Internal Babel error: unreachable ")}())||this.reassign(a),this.clearValue()}var t=e.prototype;return t.deoptValue=function(){this.clearValue(),this.hasDeoptedValue=!0},t.setValue=function(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)},t.clearValue=function(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null},t.reassign=function(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)},t.reference=function(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))},t.dereference=function(){this.references--,this.referenced=!!this.references},i(e)}();var bp,Rp,xp={builtin:{Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,FinalizationRegistry:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakRef:!1,WeakSet:!1},es5:{Array:!1,Boolean:!1,constructor:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,propertyIsEnumerable:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1},es2015:{Array:!1,ArrayBuffer:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es2017:{Array:!1,ArrayBuffer:!1,Atomics:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es2020:{Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es2021:{Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,FinalizationRegistry:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakRef:!1,WeakSet:!1},browser:{AbortController:!1,AbortSignal:!1,addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffectReadOnly:!1,AnimationEffectTiming:!1,AnimationEffectTimingReadOnly:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,applicationCache:!1,ApplicationCache:!1,ApplicationCacheErrorEvent:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioDestinationNode:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioProcessingEvent:!1,AudioScheduledSourceNode:!1,"AudioWorkletGlobalScope ":!1,AudioWorkletNode:!1,AudioWorkletProcessor:!1,BarProp:!1,BaseAudioContext:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,BlobEvent:!1,blur:!1,BroadcastChannel:!1,btoa:!1,BudgetService:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasCaptureMediaStreamTrack:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,ClipboardEvent:!1,close:!1,closed:!1,CloseEvent:!1,Comment:!1,CompositionEvent:!1,confirm:!1,console:!1,ConstantSourceNode:!1,ConvolverNode:!1,CountQueuingStrategy:!1,createImageBitmap:!1,Credential:!1,CredentialsContainer:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSConditionRule:!1,CSSFontFaceRule:!1,CSSGroupingRule:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSMediaRule:!1,CSSNamespaceRule:!1,CSSPageRule:!1,CSSRule:!1,CSSRuleList:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSSupportsRule:!1,CustomElementRegistry:!1,customElements:!1,CustomEvent:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,defaultstatus:!1,defaultStatus:!1,DelayNode:!1,DeviceMotionEvent:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMMatrix:!1,DOMMatrixReadOnly:!1,DOMParser:!1,DOMPoint:!1,DOMPointReadOnly:!1,DOMQuad:!1,DOMRect:!1,DOMRectReadOnly:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,Element:!1,ErrorEvent:!1,event:!1,Event:!1,EventSource:!1,EventTarget:!1,external:!1,fetch:!1,File:!1,FileList:!1,FileReader:!1,find:!1,focus:!1,FocusEvent:!1,FontFace:!1,FontFaceSetLoadEvent:!1,FormData:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadButton:!1,GamepadEvent:!1,getComputedStyle:!1,getSelection:!1,HashChangeEvent:!1,Headers:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLContentElement:!1,HTMLDataElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLLabelElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLShadowElement:!1,HTMLSlotElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTimeElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,IdleDeadline:!1,IIRFilterNode:!1,Image:!1,ImageBitmap:!1,ImageBitmapRenderingContext:!1,ImageCapture:!1,ImageData:!1,indexedDB:!1,innerHeight:!1,innerWidth:!1,InputEvent:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,Intl:!1,isSecureContext:!1,KeyboardEvent:!1,KeyframeEffect:!1,KeyframeEffectReadOnly:!1,length:!1,localStorage:!1,location:!0,Location:!1,locationbar:!1,matchMedia:!1,MediaDeviceInfo:!1,MediaDevices:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyMessageEvent:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaRecorder:!1,MediaSettingsRange:!1,MediaSource:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,MediaStreamTrackEvent:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,NavigationPreloadManager:!1,navigator:!1,Navigator:!1,NetworkInformation:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,OffscreenCanvas:!0,OffscreenCanvasRenderingContext2D:!1,onabort:!0,onafterprint:!0,onanimationend:!0,onanimationiteration:!0,onanimationstart:!0,onappinstalled:!0,onauxclick:!0,onbeforeinstallprompt:!0,onbeforeprint:!0,onbeforeunload:!0,onblur:!0,oncancel:!0,oncanplay:!0,oncanplaythrough:!0,onchange:!0,onclick:!0,onclose:!0,oncontextmenu:!0,oncuechange:!0,ondblclick:!0,ondevicemotion:!0,ondeviceorientation:!0,ondeviceorientationabsolute:!0,ondrag:!0,ondragend:!0,ondragenter:!0,ondragleave:!0,ondragover:!0,ondragstart:!0,ondrop:!0,ondurationchange:!0,onemptied:!0,onended:!0,onerror:!0,onfocus:!0,ongotpointercapture:!0,onhashchange:!0,oninput:!0,oninvalid:!0,onkeydown:!0,onkeypress:!0,onkeyup:!0,onlanguagechange:!0,onload:!0,onloadeddata:!0,onloadedmetadata:!0,onloadstart:!0,onlostpointercapture:!0,onmessage:!0,onmessageerror:!0,onmousedown:!0,onmouseenter:!0,onmouseleave:!0,onmousemove:!0,onmouseout:!0,onmouseover:!0,onmouseup:!0,onmousewheel:!0,onoffline:!0,ononline:!0,onpagehide:!0,onpageshow:!0,onpause:!0,onplay:!0,onplaying:!0,onpointercancel:!0,onpointerdown:!0,onpointerenter:!0,onpointerleave:!0,onpointermove:!0,onpointerout:!0,onpointerover:!0,onpointerup:!0,onpopstate:!0,onprogress:!0,onratechange:!0,onrejectionhandled:!0,onreset:!0,onresize:!0,onscroll:!0,onsearch:!0,onseeked:!0,onseeking:!0,onselect:!0,onstalled:!0,onstorage:!0,onsubmit:!0,onsuspend:!0,ontimeupdate:!0,ontoggle:!0,ontransitionend:!0,onunhandledrejection:!0,onunload:!0,onvolumechange:!0,onwaiting:!0,onwheel:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,origin:!1,OscillatorNode:!1,outerHeight:!1,outerWidth:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,PannerNode:!1,parent:!1,Path2D:!1,PaymentAddress:!1,PaymentRequest:!1,PaymentRequestUpdateEvent:!1,PaymentResponse:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceLongTaskTiming:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceNavigationTiming:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformancePaintTiming:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,personalbar:!1,PhotoCapabilities:!1,Plugin:!1,PluginArray:!1,PointerEvent:!1,PopStateEvent:!1,postMessage:!1,Presentation:!1,PresentationAvailability:!1,PresentationConnection:!1,PresentationConnectionAvailableEvent:!1,PresentationConnectionCloseEvent:!1,PresentationConnectionList:!1,PresentationReceiver:!1,PresentationRequest:!1,print:!1,ProcessingInstruction:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,PushManager:!1,PushSubscription:!1,PushSubscriptionOptions:!1,queueMicrotask:!1,RadioNodeList:!1,Range:!1,ReadableStream:!1,registerProcessor:!1,RemotePlayback:!1,removeEventListener:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,ResizeObserver:!1,ResizeObserverEntry:!1,resizeTo:!1,Response:!1,RTCCertificate:!1,RTCDataChannel:!1,RTCDataChannelEvent:!1,RTCDtlsTransport:!1,RTCIceCandidate:!1,RTCIceGatherer:!1,RTCIceTransport:!1,RTCPeerConnection:!1,RTCPeerConnectionIceEvent:!1,RTCRtpContributingSource:!1,RTCRtpReceiver:!1,RTCRtpSender:!1,RTCSctpTransport:!1,RTCSessionDescription:!1,RTCStatsReport:!1,RTCTrackEvent:!1,screen:!1,Screen:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,SharedWorker:!1,SourceBuffer:!1,SourceBufferList:!1,speechSynthesis:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,StaticRange:!1,status:!1,statusbar:!1,StereoPannerNode:!1,stop:!1,Storage:!1,StorageEvent:!1,StorageManager:!1,styleMedia:!1,StyleSheet:!1,StyleSheetList:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAngle:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGComponentTransferFunctionElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDiscardElement:!1,SVGElement:!1,SVGEllipseElement:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGImageElement:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPathElement:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGViewElement:!1,TaskAttributionTiming:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TextEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TimeRanges:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransitionEvent:!1,TreeWalker:!1,UIEvent:!1,URL:!1,URLSearchParams:!1,ValidityState:!1,visualViewport:!1,VisualViewport:!1,VTTCue:!1,WaveShaperNode:!1,WebAssembly:!1,WebGL2RenderingContext:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLQuery:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLSampler:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLSync:!1,WebGLTexture:!1,WebGLTransformFeedback:!1,WebGLUniformLocation:!1,WebGLVertexArrayObject:!1,WebSocket:!1,WheelEvent:!1,window:!1,Window:!1,Worker:!1,WritableStream:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathExpression:!1,XPathResult:!1,XSLTProcessor:!1},worker:{addEventListener:!1,applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Cache:!1,caches:!1,clearInterval:!1,clearTimeout:!1,close:!0,console:!1,fetch:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!0,indexedDB:!1,location:!1,MessageChannel:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onlanguagechange:!0,onmessage:!0,onoffline:!0,ononline:!0,onrejectionhandled:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,queueMicrotask:!1,removeEventListener:!1,Request:!1,Response:!1,self:!0,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1,WebSocket:!1,Worker:!1,WorkerGlobalScope:!1,XMLHttpRequest:!1},node:{__dirname:!1,__filename:!1,Buffer:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,console:!1,exports:!0,global:!1,Intl:!1,module:!1,process:!1,queueMicrotask:!1,require:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1},nodeBuiltin:{Buffer:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,console:!1,global:!1,Intl:!1,process:!1,queueMicrotask:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1},commonjs:{exports:!0,global:!1,module:!1,require:!1},amd:{define:!1,require:!1},mocha:{after:!1,afterEach:!1,before:!1,beforeEach:!1,context:!1,describe:!1,it:!1,mocha:!1,run:!1,setup:!1,specify:!1,suite:!1,suiteSetup:!1,suiteTeardown:!1,teardown:!1,test:!1,xcontext:!1,xdescribe:!1,xit:!1,xspecify:!1},jasmine:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,expectAsync:!1,fail:!1,fdescribe:!1,fit:!1,it:!1,jasmine:!1,pending:!1,runs:!1,spyOn:!1,spyOnAllFunctions:!1,spyOnProperty:!1,waits:!1,waitsFor:!1,xdescribe:!1,xit:!1},jest:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,fdescribe:!1,fit:!1,it:!1,jest:!1,pit:!1,require:!1,test:!1,xdescribe:!1,xit:!1,xtest:!1},qunit:{asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notOk:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,throws:!1},phantomjs:{console:!0,exports:!0,phantom:!0,require:!0,WebPage:!0},couch:{emit:!1,exports:!1,getRow:!1,log:!1,module:!1,provides:!1,require:!1,respond:!1,send:!1,start:!1,sum:!1},rhino:{defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},nashorn:{__DIR__:!1,__FILE__:!1,__LINE__:!1,com:!1,edu:!1,exit:!1,java:!1,Java:!1,javafx:!1,JavaImporter:!1,javax:!1,JSAdapter:!1,load:!1,loadWithNewGlobal:!1,org:!1,Packages:!1,print:!1,quit:!1},wsh:{ActiveXObject:!1,CollectGarbage:!1,Debug:!1,Enumerator:!1,GetObject:!1,RuntimeObject:!1,ScriptEngine:!1,ScriptEngineBuildVersion:!1,ScriptEngineMajorVersion:!1,ScriptEngineMinorVersion:!1,VBArray:!1,WScript:!1,WSH:!1},jquery:{$:!1,jQuery:!1},yui:{YAHOO:!1,YAHOO_config:!1,YUI:!1,YUI_config:!1},shelljs:{cat:!1,cd:!1,chmod:!1,config:!1,cp:!1,dirs:!1,echo:!1,env:!1,error:!1,exec:!1,exit:!1,find:!1,grep:!1,ln:!1,ls:!1,mkdir:!1,mv:!1,popd:!1,pushd:!1,pwd:!1,rm:!1,sed:!1,set:!1,target:!1,tempdir:!1,test:!1,touch:!1,which:!1},prototypejs:{$:!1,$$:!1,$A:!1,$break:!1,$continue:!1,$F:!1,$H:!1,$R:!1,$w:!1,Abstract:!1,Ajax:!1,Autocompleter:!1,Builder:!1,Class:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Element:!1,Enumerable:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Scriptaculous:!1,Selector:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Template:!1,Toggle:!1,Try:!1},meteor:{$:!1,Accounts:!1,AccountsClient:!1,AccountsCommon:!1,AccountsServer:!1,App:!1,Assets:!1,Blaze:!1,check:!1,Cordova:!1,DDP:!1,DDPRateLimiter:!1,DDPServer:!1,Deps:!1,EJSON:!1,Email:!1,HTTP:!1,Log:!1,Match:!1,Meteor:!1,Mongo:!1,MongoInternals:!1,Npm:!1,Package:!1,Plugin:!1,process:!1,Random:!1,ReactiveDict:!1,ReactiveVar:!1,Router:!1,ServiceConfiguration:!1,Session:!1,share:!1,Spacebars:!1,Template:!1,Tinytest:!1,Tracker:!1,UI:!1,Utils:!1,WebApp:!1,WebAppInternals:!1},mongo:{_isWindows:!1,_rand:!1,BulkWriteResult:!1,cat:!1,cd:!1,connect:!1,db:!1,getHostName:!1,getMemInfo:!1,hostname:!1,ISODate:!1,listFiles:!1,load:!1,ls:!1,md5sumFile:!1,mkdir:!1,Mongo:!1,NumberInt:!1,NumberLong:!1,ObjectId:!1,PlanCache:!1,print:!1,printjson:!1,pwd:!1,quit:!1,removeFile:!1,rs:!1,sh:!1,UUID:!1,version:!1,WriteResult:!1},applescript:{$:!1,Application:!1,Automation:!1,console:!1,delay:!1,Library:!1,ObjC:!1,ObjectSpecifier:!1,Path:!1,Progress:!1,Ref:!1},serviceworker:{addEventListener:!1,applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Cache:!1,caches:!1,CacheStorage:!1,clearInterval:!1,clearTimeout:!1,Client:!1,clients:!1,Clients:!1,close:!0,console:!1,ExtendableEvent:!1,ExtendableMessageEvent:!1,fetch:!1,FetchEvent:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!1,indexedDB:!1,location:!1,MessageChannel:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onfetch:!0,oninstall:!0,onlanguagechange:!0,onmessage:!0,onmessageerror:!0,onnotificationclick:!0,onnotificationclose:!0,onoffline:!0,ononline:!0,onpush:!0,onpushsubscriptionchange:!0,onrejectionhandled:!0,onsync:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,queueMicrotask:!1,registration:!1,removeEventListener:!1,Request:!1,Response:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerGlobalScope:!1,ServiceWorkerMessageEvent:!1,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,skipWaiting:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1,WebSocket:!1,WindowClient:!1,Worker:!1,WorkerGlobalScope:!1,XMLHttpRequest:!1},atomtest:{advanceClock:!1,atom:!1,fakeClearInterval:!1,fakeClearTimeout:!1,fakeSetInterval:!1,fakeSetTimeout:!1,resetTimeouts:!1,waitsForPromise:!1},embertest:{andThen:!1,click:!1,currentPath:!1,currentRouteName:!1,currentURL:!1,fillIn:!1,find:!1,findAll:!1,findWithAssert:!1,keyEvent:!1,pauseTest:!1,resumeTest:!1,triggerEvent:!1,visit:!1,wait:!1},protractor:{$:!1,$$:!1,browser:!1,by:!1,By:!1,DartObject:!1,element:!1,protractor:!1},"shared-node-browser":{clearInterval:!1,clearTimeout:!1,console:!1,setInterval:!1,setTimeout:!1,URL:!1,URLSearchParams:!1},webextensions:{browser:!1,chrome:!1,opr:!1},greasemonkey:{cloneInto:!1,createObjectIn:!1,exportFunction:!1,GM:!1,GM_addStyle:!1,GM_addValueChangeListener:!1,GM_deleteValue:!1,GM_download:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getTab:!1,GM_getTabs:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_notification:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_removeValueChangeListener:!1,GM_saveTab:!1,GM_setClipboard:!1,GM_setValue:!1,GM_unregisterMenuCommand:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1},devtools:{$:!1,$_:!1,$$:!1,$0:!1,$1:!1,$2:!1,$3:!1,$4:!1,$x:!1,chrome:!1,clear:!1,copy:!1,debug:!1,dir:!1,dirxml:!1,getEventListeners:!1,inspect:!1,keys:!1,monitor:!1,monitorEvents:!1,profile:!1,profileEnd:!1,queryObjects:!1,table:!1,undebug:!1,unmonitor:!1,unmonitorEvents:!1,values:!1}};var Ep,Dp,jp={builtin:{Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es5:{Array:!1,Boolean:!1,constructor:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,propertyIsEnumerable:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1},es2015:{Array:!1,ArrayBuffer:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es2017:{Array:!1,ArrayBuffer:!1,Atomics:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},browser:{AbortController:!1,AbortSignal:!1,addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffectReadOnly:!1,AnimationEffectTiming:!1,AnimationEffectTimingReadOnly:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,applicationCache:!1,ApplicationCache:!1,ApplicationCacheErrorEvent:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioDestinationNode:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioProcessingEvent:!1,AudioScheduledSourceNode:!1,"AudioWorkletGlobalScope ":!1,AudioWorkletNode:!1,AudioWorkletProcessor:!1,BarProp:!1,BaseAudioContext:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,BlobEvent:!1,blur:!1,BroadcastChannel:!1,btoa:!1,BudgetService:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasCaptureMediaStreamTrack:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,ClipboardEvent:!1,close:!1,closed:!1,CloseEvent:!1,Comment:!1,CompositionEvent:!1,confirm:!1,console:!1,ConstantSourceNode:!1,ConvolverNode:!1,CountQueuingStrategy:!1,createImageBitmap:!1,Credential:!1,CredentialsContainer:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSConditionRule:!1,CSSFontFaceRule:!1,CSSGroupingRule:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSMediaRule:!1,CSSNamespaceRule:!1,CSSPageRule:!1,CSSRule:!1,CSSRuleList:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSSupportsRule:!1,CustomElementRegistry:!1,customElements:!1,CustomEvent:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,defaultstatus:!1,defaultStatus:!1,DelayNode:!1,DeviceMotionEvent:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMMatrix:!1,DOMMatrixReadOnly:!1,DOMParser:!1,DOMPoint:!1,DOMPointReadOnly:!1,DOMQuad:!1,DOMRect:!1,DOMRectReadOnly:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,Element:!1,ErrorEvent:!1,event:!1,Event:!1,EventSource:!1,EventTarget:!1,external:!1,fetch:!1,File:!1,FileList:!1,FileReader:!1,find:!1,focus:!1,FocusEvent:!1,FontFace:!1,FontFaceSetLoadEvent:!1,FormData:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadButton:!1,GamepadEvent:!1,getComputedStyle:!1,getSelection:!1,HashChangeEvent:!1,Headers:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLContentElement:!1,HTMLDataElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLLabelElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLShadowElement:!1,HTMLSlotElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTimeElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,IdleDeadline:!1,IIRFilterNode:!1,Image:!1,ImageBitmap:!1,ImageBitmapRenderingContext:!1,ImageCapture:!1,ImageData:!1,indexedDB:!1,innerHeight:!1,innerWidth:!1,InputEvent:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,Intl:!1,isSecureContext:!1,KeyboardEvent:!1,KeyframeEffect:!1,KeyframeEffectReadOnly:!1,length:!1,localStorage:!1,location:!0,Location:!1,locationbar:!1,matchMedia:!1,MediaDeviceInfo:!1,MediaDevices:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyMessageEvent:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaRecorder:!1,MediaSettingsRange:!1,MediaSource:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,MediaStreamTrackEvent:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,NavigationPreloadManager:!1,navigator:!1,Navigator:!1,NetworkInformation:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,OffscreenCanvas:!0,onabort:!0,onafterprint:!0,onanimationend:!0,onanimationiteration:!0,onanimationstart:!0,onappinstalled:!0,onauxclick:!0,onbeforeinstallprompt:!0,onbeforeprint:!0,onbeforeunload:!0,onblur:!0,oncancel:!0,oncanplay:!0,oncanplaythrough:!0,onchange:!0,onclick:!0,onclose:!0,oncontextmenu:!0,oncuechange:!0,ondblclick:!0,ondevicemotion:!0,ondeviceorientation:!0,ondeviceorientationabsolute:!0,ondrag:!0,ondragend:!0,ondragenter:!0,ondragleave:!0,ondragover:!0,ondragstart:!0,ondrop:!0,ondurationchange:!0,onemptied:!0,onended:!0,onerror:!0,onfocus:!0,ongotpointercapture:!0,onhashchange:!0,oninput:!0,oninvalid:!0,onkeydown:!0,onkeypress:!0,onkeyup:!0,onlanguagechange:!0,onload:!0,onloadeddata:!0,onloadedmetadata:!0,onloadstart:!0,onlostpointercapture:!0,onmessage:!0,onmessageerror:!0,onmousedown:!0,onmouseenter:!0,onmouseleave:!0,onmousemove:!0,onmouseout:!0,onmouseover:!0,onmouseup:!0,onmousewheel:!0,onoffline:!0,ononline:!0,onpagehide:!0,onpageshow:!0,onpause:!0,onplay:!0,onplaying:!0,onpointercancel:!0,onpointerdown:!0,onpointerenter:!0,onpointerleave:!0,onpointermove:!0,onpointerout:!0,onpointerover:!0,onpointerup:!0,onpopstate:!0,onprogress:!0,onratechange:!0,onrejectionhandled:!0,onreset:!0,onresize:!0,onscroll:!0,onsearch:!0,onseeked:!0,onseeking:!0,onselect:!0,onstalled:!0,onstorage:!0,onsubmit:!0,onsuspend:!0,ontimeupdate:!0,ontoggle:!0,ontransitionend:!0,onunhandledrejection:!0,onunload:!0,onvolumechange:!0,onwaiting:!0,onwheel:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,origin:!1,OscillatorNode:!1,outerHeight:!1,outerWidth:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,PannerNode:!1,parent:!1,Path2D:!1,PaymentAddress:!1,PaymentRequest:!1,PaymentRequestUpdateEvent:!1,PaymentResponse:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceLongTaskTiming:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceNavigationTiming:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformancePaintTiming:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,personalbar:!1,PhotoCapabilities:!1,Plugin:!1,PluginArray:!1,PointerEvent:!1,PopStateEvent:!1,postMessage:!1,Presentation:!1,PresentationAvailability:!1,PresentationConnection:!1,PresentationConnectionAvailableEvent:!1,PresentationConnectionCloseEvent:!1,PresentationConnectionList:!1,PresentationReceiver:!1,PresentationRequest:!1,print:!1,ProcessingInstruction:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,PushManager:!1,PushSubscription:!1,PushSubscriptionOptions:!1,queueMicrotask:!1,RadioNodeList:!1,Range:!1,ReadableStream:!1,registerProcessor:!1,RemotePlayback:!1,removeEventListener:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,ResizeObserver:!1,ResizeObserverEntry:!1,resizeTo:!1,Response:!1,RTCCertificate:!1,RTCDataChannel:!1,RTCDataChannelEvent:!1,RTCDtlsTransport:!1,RTCIceCandidate:!1,RTCIceGatherer:!1,RTCIceTransport:!1,RTCPeerConnection:!1,RTCPeerConnectionIceEvent:!1,RTCRtpContributingSource:!1,RTCRtpReceiver:!1,RTCRtpSender:!1,RTCSctpTransport:!1,RTCSessionDescription:!1,RTCStatsReport:!1,RTCTrackEvent:!1,screen:!1,Screen:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,SharedWorker:!1,SourceBuffer:!1,SourceBufferList:!1,speechSynthesis:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,StaticRange:!1,status:!1,statusbar:!1,StereoPannerNode:!1,stop:!1,Storage:!1,StorageEvent:!1,StorageManager:!1,styleMedia:!1,StyleSheet:!1,StyleSheetList:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAngle:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGComponentTransferFunctionElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDiscardElement:!1,SVGElement:!1,SVGEllipseElement:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGImageElement:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPathElement:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGViewElement:!1,TaskAttributionTiming:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TextEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TimeRanges:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransitionEvent:!1,TreeWalker:!1,UIEvent:!1,URL:!1,URLSearchParams:!1,ValidityState:!1,visualViewport:!1,VisualViewport:!1,VTTCue:!1,WaveShaperNode:!1,WebAssembly:!1,WebGL2RenderingContext:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLQuery:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLSampler:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLSync:!1,WebGLTexture:!1,WebGLTransformFeedback:!1,WebGLUniformLocation:!1,WebGLVertexArrayObject:!1,WebSocket:!1,WheelEvent:!1,window:!1,Window:!1,Worker:!1,WritableStream:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathExpression:!1,XPathResult:!1,XSLTProcessor:!1},worker:{addEventListener:!1,applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Cache:!1,caches:!1,clearInterval:!1,clearTimeout:!1,close:!0,console:!1,fetch:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!0,indexedDB:!1,location:!1,MessageChannel:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onlanguagechange:!0,onmessage:!0,onoffline:!0,ononline:!0,onrejectionhandled:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,queueMicrotask:!1,removeEventListener:!1,Request:!1,Response:!1,self:!0,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1,WebSocket:!1,Worker:!1,WorkerGlobalScope:!1,XMLHttpRequest:!1},node:{__dirname:!1,__filename:!1,Buffer:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,console:!1,exports:!0,global:!1,Intl:!1,module:!1,process:!1,queueMicrotask:!1,require:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1},commonjs:{exports:!0,global:!1,module:!1,require:!1},amd:{define:!1,require:!1},mocha:{after:!1,afterEach:!1,before:!1,beforeEach:!1,context:!1,describe:!1,it:!1,mocha:!1,run:!1,setup:!1,specify:!1,suite:!1,suiteSetup:!1,suiteTeardown:!1,teardown:!1,test:!1,xcontext:!1,xdescribe:!1,xit:!1,xspecify:!1},jasmine:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,fail:!1,fdescribe:!1,fit:!1,it:!1,jasmine:!1,pending:!1,runs:!1,spyOn:!1,spyOnProperty:!1,waits:!1,waitsFor:!1,xdescribe:!1,xit:!1},jest:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,fdescribe:!1,fit:!1,it:!1,jest:!1,pit:!1,require:!1,test:!1,xdescribe:!1,xit:!1,xtest:!1},qunit:{asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notOk:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,throws:!1},phantomjs:{console:!0,exports:!0,phantom:!0,require:!0,WebPage:!0},couch:{emit:!1,exports:!1,getRow:!1,log:!1,module:!1,provides:!1,require:!1,respond:!1,send:!1,start:!1,sum:!1},rhino:{defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},nashorn:{__DIR__:!1,__FILE__:!1,__LINE__:!1,com:!1,edu:!1,exit:!1,java:!1,Java:!1,javafx:!1,JavaImporter:!1,javax:!1,JSAdapter:!1,load:!1,loadWithNewGlobal:!1,org:!1,Packages:!1,print:!1,quit:!1},wsh:{ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WScript:!0,WSH:!0,XDomainRequest:!0},jquery:{$:!1,jQuery:!1},yui:{YAHOO:!1,YAHOO_config:!1,YUI:!1,YUI_config:!1},shelljs:{cat:!1,cd:!1,chmod:!1,config:!1,cp:!1,dirs:!1,echo:!1,env:!1,error:!1,exec:!1,exit:!1,find:!1,grep:!1,ln:!1,ls:!1,mkdir:!1,mv:!1,popd:!1,pushd:!1,pwd:!1,rm:!1,sed:!1,set:!1,target:!1,tempdir:!1,test:!1,touch:!1,which:!1},prototypejs:{$:!1,$$:!1,$A:!1,$break:!1,$continue:!1,$F:!1,$H:!1,$R:!1,$w:!1,Abstract:!1,Ajax:!1,Autocompleter:!1,Builder:!1,Class:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Element:!1,Enumerable:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Scriptaculous:!1,Selector:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Template:!1,Toggle:!1,Try:!1},meteor:{_:!1,$:!1,Accounts:!1,AccountsClient:!1,AccountsCommon:!1,AccountsServer:!1,App:!1,Assets:!1,Blaze:!1,check:!1,Cordova:!1,DDP:!1,DDPRateLimiter:!1,DDPServer:!1,Deps:!1,EJSON:!1,Email:!1,HTTP:!1,Log:!1,Match:!1,Meteor:!1,Mongo:!1,MongoInternals:!1,Npm:!1,Package:!1,Plugin:!1,process:!1,Random:!1,ReactiveDict:!1,ReactiveVar:!1,Router:!1,ServiceConfiguration:!1,Session:!1,share:!1,Spacebars:!1,Template:!1,Tinytest:!1,Tracker:!1,UI:!1,Utils:!1,WebApp:!1,WebAppInternals:!1},mongo:{_isWindows:!1,_rand:!1,BulkWriteResult:!1,cat:!1,cd:!1,connect:!1,db:!1,getHostName:!1,getMemInfo:!1,hostname:!1,ISODate:!1,listFiles:!1,load:!1,ls:!1,md5sumFile:!1,mkdir:!1,Mongo:!1,NumberInt:!1,NumberLong:!1,ObjectId:!1,PlanCache:!1,print:!1,printjson:!1,pwd:!1,quit:!1,removeFile:!1,rs:!1,sh:!1,UUID:!1,version:!1,WriteResult:!1},applescript:{$:!1,Application:!1,Automation:!1,console:!1,delay:!1,Library:!1,ObjC:!1,ObjectSpecifier:!1,Path:!1,Progress:!1,Ref:!1},serviceworker:{addEventListener:!1,applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Cache:!1,caches:!1,CacheStorage:!1,clearInterval:!1,clearTimeout:!1,Client:!1,clients:!1,Clients:!1,close:!0,console:!1,ExtendableEvent:!1,ExtendableMessageEvent:!1,fetch:!1,FetchEvent:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!1,indexedDB:!1,location:!1,MessageChannel:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onfetch:!0,oninstall:!0,onlanguagechange:!0,onmessage:!0,onmessageerror:!0,onnotificationclick:!0,onnotificationclose:!0,onoffline:!0,ononline:!0,onpush:!0,onpushsubscriptionchange:!0,onrejectionhandled:!0,onsync:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,queueMicrotask:!1,registration:!1,removeEventListener:!1,Request:!1,Response:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerGlobalScope:!1,ServiceWorkerMessageEvent:!1,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,skipWaiting:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1,WebSocket:!1,WindowClient:!1,Worker:!1,WorkerGlobalScope:!1,XMLHttpRequest:!1},atomtest:{advanceClock:!1,fakeClearInterval:!1,fakeClearTimeout:!1,fakeSetInterval:!1,fakeSetTimeout:!1,resetTimeouts:!1,waitsForPromise:!1},embertest:{andThen:!1,click:!1,currentPath:!1,currentRouteName:!1,currentURL:!1,fillIn:!1,find:!1,findAll:!1,findWithAssert:!1,keyEvent:!1,pauseTest:!1,resumeTest:!1,triggerEvent:!1,visit:!1,wait:!1},protractor:{$:!1,$$:!1,browser:!1,by:!1,By:!1,DartObject:!1,element:!1,protractor:!1},"shared-node-browser":{clearInterval:!1,clearTimeout:!1,console:!1,setInterval:!1,setTimeout:!1,URL:!1,URLSearchParams:!1},webextensions:{browser:!1,chrome:!1,opr:!1},greasemonkey:{cloneInto:!1,createObjectIn:!1,exportFunction:!1,GM:!1,GM_addStyle:!1,GM_deleteValue:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_setClipboard:!1,GM_setValue:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1},devtools:{$:!1,$_:!1,$$:!1,$0:!1,$1:!1,$2:!1,$3:!1,$4:!1,$x:!1,chrome:!1,clear:!1,copy:!1,debug:!1,dir:!1,dirxml:!1,getEventListeners:!1,inspect:!1,keys:!1,monitor:!1,monitorEvents:!1,profile:!1,profileEnd:!1,queryObjects:!1,table:!1,undebug:!1,unmonitor:!1,unmonitorEvents:!1,values:!1}};var wp=function(e){return null!=e&&(e&&"false"!==e&&"0"!==e)}(Or.env.BABEL_8_BREAKING)?Rp?bp:(Rp=1,bp=xp):Dp?Ep:(Dp=1,Ep=jp),Ap=Na,Cp=ss,Sp=Qu,Tp=yl,Pp=vs,kp=j,Fp=Lt,Ip=Qt,_p=fe,Bp=he,Op=ye,Np=me,Lp=ve,Mp=O,Up=L,Gp=xe,Vp=qt,Wp=Xt,Hp=er,zp=W,Kp=J,qp=Jt,Xp=zt,Jp=H,Yp=Te,$p=Pe,Qp=ke,Zp=ae,ef=se,tf=oe,rf=sr,af=Cs,nf=Es,sf=il,of=Vs,df=Hs,uf=zs,cf=mt,lf=vt,pf=$,ff=bt,gf=we,hf=Ue,yf=Zt;function mf(e,t){switch(null==e?void 0:e.type){default:if(Gp(e)||yf(e))if((Op(e)||Lp(e)||Gp(e))&&e.source)mf(e.source,t);else if((Lp(e)||Gp(e))&&e.specifiers&&e.specifiers.length)for(var r,a=x(e.specifiers);!(r=a()).done;){mf(r.value,t)}else(Np(e)||Lp(e))&&e.declaration&&mf(e.declaration,t);else Hp(e)?mf(e.local,t):!Vp(e)||zp(e)||Jp(e)||Qp(e)||t.push(e.value);break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":mf(e.object,t),mf(e.property,t);break;case"Identifier":case"JSXIdentifier":t.push(e.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":mf(e.callee,t);break;case"ObjectExpression":case"ObjectPattern":for(var n,s=x(e.properties);!(n=s()).done;){mf(n.value,t)}break;case"SpreadElement":case"RestElement":case"UnaryExpression":case"UpdateExpression":mf(e.argument,t);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":mf(e.key,t);break;case"ThisExpression":t.push("this");break;case"Super":t.push("super");break;case"Import":t.push("import");break;case"DoExpression":t.push("do");break;case"YieldExpression":t.push("yield"),mf(e.argument,t);break;case"AwaitExpression":t.push("await"),mf(e.argument,t);break;case"AssignmentExpression":mf(e.left,t);break;case"VariableDeclarator":case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":case"PrivateName":mf(e.id,t);break;case"ParenthesizedExpression":mf(e.expression,t);break;case"MetaProperty":mf(e.meta,t),mf(e.property,t);break;case"JSXElement":mf(e.openingElement,t);break;case"JSXOpeningElement":mf(e.name,t);break;case"JSXFragment":mf(e.openingFragment,t);break;case"JSXOpeningFragment":t.push("Fragment");break;case"JSXNamespacedName":mf(e.namespace,t),mf(e.name,t)}}var vf={ForStatement:function(e){var t=e.get("init");if(t.isVar()){var r=e.scope;(r.getFunctionParent()||r.getProgramParent()).registerBinding("var",t)}},Declaration:function(e){e.isBlockScoped()||(e.isImportDeclaration()||e.isExportDeclaration()||(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e))},ImportDeclaration:function(e){e.scope.getBlockParent().registerDeclaration(e)},ReferencedIdentifier:function(e,t){t.references.push(e)},ForXStatement:function(e,t){var r=e.get("left");if(r.isPattern()||r.isIdentifier())t.constantViolations.push(e);else if(r.isVar()){var a=e.scope;(a.getFunctionParent()||a.getProgramParent()).registerBinding("var",r)}},ExportDeclaration:{exit:function(e){var t=e.node,r=e.scope;if(!Op(t)){var a=t.declaration;if(Bp(a)||Mp(a)){var n=a.id;if(!n)return;var s=r.getBinding(n.name);null==s||s.reference(e)}else if(tf(a))for(var i,o=x(a.declarations);!(i=o()).done;)for(var d=i.value,u=0,c=Object.keys(Tp(d));u1&&(r+=t),"_"+r},t.generateUidBasedOnNode=function(e,t){var r=[];mf(e,r);var a=r.join("$");return a=a.replace(/^_/,"")||t||"ref",this.generateUid(a.slice(0,20))},t.generateUidIdentifierBasedOnNode=function(e,t){return Pp(this.generateUidBasedOnNode(e,t))},t.isStatic=function(e){if(Zp(e)||Yp(e)||ff(e))return!0;if(Up(e)){var t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1},t.maybeGenerateMemoised=function(e,t){if(this.isStatic(e))return null;var r=this.generateUidIdentifierBasedOnNode(e);return t?r:(this.push({id:r}),Sp(r))},t.checkBlockScopedCollisions=function(e,t,r,a){if("param"!==t&&("local"!==e.kind&&("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&"const"===t)))throw this.hub.buildError(a,'Duplicate declaration "'+r+'"',TypeError)},t.rename=function(e,t,r){var a=this.getBinding(e);if(a)return t=t||this.generateUidIdentifier(e).name,new mp(a,e,t).rename(r)},t._renameFromMap=function(e,t,r,a){e[t]&&(e[r]=a,e[t]=null)},t.dump=function(){var e="-".repeat(60);console.log(e);var t=this;do{console.log("#",t.block.type);for(var r=0,a=Object.keys(t.bindings);r0)&&this.isPure(e.body,t));if(_p(e)){for(var i,o=x(e.body);!(i=o()).done;){var d=i.value;if(!this.isPure(d,t))return!1}return!0}if(Fp(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(kp(e)||lf(e)){for(var u,c=x(e.elements);!(u=c()).done;){var l=u.value;if(null!==l&&!this.isPure(l,t))return!1}return!0}if(Kp(e)||cf(e)){for(var p,f=x(e.properties);!(p=f()).done;){var g=p.value;if(!this.isPure(g,t))return!1}return!0}if(Wp(e))return!(e.computed&&!this.isPure(e.key,t))&&!((null==(n=e.decorators)?void 0:n.length)>0);if(qp(e))return!(e.computed&&!this.isPure(e.key,t))&&(!((null==(s=e.decorators)?void 0:s.length)>0)&&!((pf(e)||e.static)&&null!==e.value&&!this.isPure(e.value,t)));if(ef(e))return this.isPure(e.argument,t);if($p(e))return rf(e.tag,"String.raw")&&!this.hasBinding("String",!0)&&this.isPure(e.quasi,t);if(Qp(e)){for(var h,y=x(e.expressions);!(h=y()).done;){var m=h.value;if(!this.isPure(m,t))return!1}return!0}return Xp(e)},t.setData=function(e,t){return this.data[e]=t},t.getData=function(e){var t=this;do{var r=t.data[e];if(null!=r)return r}while(t=t.parent)},t.removeData=function(e){var t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)},t.init=function(){this.inited||(this.inited=!0,this.crawl())},t.crawl=function(){var e=this.path;this.references=Object.create(null),this.bindings=Object.create(null),this.globals=Object.create(null),this.uids=Object.create(null),this.data=Object.create(null);var t=this.getProgramParent();if(!t.crawling){var r={references:[],constantViolations:[],assignments:[]};if(this.crawling=!0,"Program"!==e.type&&vf._exploded){for(var a,n=x(vf.enter);!(a=n()).done;){(0,a.value)(e,r)}var s=vf[e.type];if(s)for(var i,o=x(s.enter);!(i=o()).done;){(0,i.value)(e,r)}}e.traverse(vf,r),this.crawling=!1;for(var d,u=x(r.assignments);!(d=u()).done;){for(var c=d.value,l=c.getBindingIdentifiers(),p=0,f=Object.keys(l);p>18&63]+wf[n>>12&63]+wf[n>>6&63]+wf[63&n]);return s.join("")}function kf(e){var t;Sf||Tf();for(var r=e.length,a=r%3,n="",s=[],i=16383,o=0,d=r-a;od?d:o+i));return 1===a?(t=e[r-1],n+=wf[t>>2],n+=wf[t<<4&63],n+="=="):2===a&&(t=(e[r-2]<<8)+e[r-1],n+=wf[t>>10],n+=wf[t>>4&63],n+=wf[t<<2&63],n+="="),s.push(n),s.join("")}function Ff(e,t,r,a,n){var s,i,o=8*n-a-1,d=(1<>1,c=-7,l=r?n-1:0,p=r?-1:1,f=e[t+l];for(l+=p,s=f&(1<<-c)-1,f>>=-c,c+=o;c>0;s=256*s+e[t+l],l+=p,c-=8);for(i=s&(1<<-c)-1,s>>=-c,c+=a;c>0;i=256*i+e[t+l],l+=p,c-=8);if(0===s)s=1-u;else{if(s===d)return i?NaN:1/0*(f?-1:1);i+=Math.pow(2,a),s-=u}return(f?-1:1)*i*Math.pow(2,s-a)}function If(e,t,r,a,n,s){var i,o,d,u=8*s-n-1,c=(1<>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,f=a?0:s-1,g=a?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,i=c):(i=Math.floor(Math.log(t)/Math.LN2),t*(d=Math.pow(2,-i))<1&&(i--,d*=2),(t+=i+l>=1?p/d:p*Math.pow(2,1-l))*d>=2&&(i++,d/=2),i+l>=c?(o=0,i=c):i+l>=1?(o=(t*d-1)*Math.pow(2,n),i+=l):(o=t*Math.pow(2,l-1)*Math.pow(2,n),i=0));n>=8;e[r+f]=255&o,f+=g,o/=256,n-=8);for(i=i<0;e[r+f]=255&i,f+=g,i/=256,u-=8);e[r+f-g]|=128*h}var _f={}.toString,Bf=Array.isArray||function(e){return"[object Array]"==_f.call(e)};function Of(){return Lf.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Nf(e,t){if(Of()=Of())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Of().toString(16)+" bytes");return 0|e}function Hf(e){return!(null==e||!e._isBuffer)}function zf(e,t){if(Hf(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var a=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return vg(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return bg(e).length;default:if(a)return vg(e).length;t=(""+t).toLowerCase(),a=!0}}function Kf(e,t,r){var a=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return og(this,t,r);case"utf8":case"utf-8":return ag(this,t,r);case"ascii":return sg(this,t,r);case"latin1":case"binary":return ig(this,t,r);case"base64":return rg(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return dg(this,t,r);default:if(a)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),a=!0}}function qf(e,t,r){var a=e[t];e[t]=e[r],e[r]=a}function Xf(e,t,r,a,n){if(0===e.length)return-1;if("string"==typeof r?(a=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof t&&(t=Lf.from(t,a)),Hf(t))return 0===t.length?-1:Jf(e,t,r,a,n);if("number"==typeof t)return t&=255,Lf.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Jf(e,[t],r,a,n);throw new TypeError("val must be string, number or Buffer")}function Jf(e,t,r,a,n){var s,i=1,o=e.length,d=t.length;if(void 0!==a&&("ucs2"===(a=String(a).toLowerCase())||"ucs-2"===a||"utf16le"===a||"utf-16le"===a)){if(e.length<2||t.length<2)return-1;i=2,o/=2,d/=2,r/=2}function u(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(n){var c=-1;for(s=r;so&&(r=o-d),s=r;s>=0;s--){for(var l=!0,p=0;pn&&(a=n):a=n;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");a>s/2&&(a=s/2);for(var i=0;i>8,n=r%256,s.push(n),s.push(a);return s}(t,e.length-r),e,r,a)}function rg(e,t,r){return 0===t&&r===e.length?kf(e):kf(e.slice(t,r))}function ag(e,t,r){r=Math.min(e.length,r);for(var a=[],n=t;n239?4:u>223?3:u>191?2:1;if(n+l<=r)switch(l){case 1:u<128&&(c=u);break;case 2:128==(192&(s=e[n+1]))&&(d=(31&u)<<6|63&s)>127&&(c=d);break;case 3:s=e[n+1],i=e[n+2],128==(192&s)&&128==(192&i)&&(d=(15&u)<<12|(63&s)<<6|63&i)>2047&&(d<55296||d>57343)&&(c=d);break;case 4:s=e[n+1],i=e[n+2],o=e[n+3],128==(192&s)&&128==(192&i)&&128==(192&o)&&(d=(15&u)<<18|(63&s)<<12|(63&i)<<6|63&o)>65535&&d<1114112&&(c=d)}null===c?(c=65533,l=1):c>65535&&(c-=65536,a.push(c>>>10&1023|55296),c=56320|1023&c),a.push(c),n+=l}return function(e){var t=e.length;if(t<=ng)return String.fromCharCode.apply(String,e);var r="",a=0;for(;a0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},Lf.prototype.compare=function(e,t,r,a,n){if(!Hf(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===a&&(a=0),void 0===n&&(n=this.length),t<0||r>e.length||a<0||n>this.length)throw new RangeError("out of range index");if(a>=n&&t>=r)return 0;if(a>=n)return-1;if(t>=r)return 1;if(this===e)return 0;for(var s=(n>>>=0)-(a>>>=0),i=(r>>>=0)-(t>>>=0),o=Math.min(s,i),d=this.slice(a,n),u=e.slice(t,r),c=0;cn)&&(r=n),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");a||(a="utf8");for(var s=!1;;)switch(a){case"hex":return Yf(this,e,t,r);case"utf8":case"utf-8":return $f(this,e,t,r);case"ascii":return Qf(this,e,t,r);case"latin1":case"binary":return Zf(this,e,t,r);case"base64":return eg(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return tg(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+a);a=(""+a).toLowerCase(),s=!0}},Lf.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ng=4096;function sg(e,t,r){var a="";r=Math.min(e.length,r);for(var n=t;na)&&(r=a);for(var n="",s=t;sr)throw new RangeError("Trying to access beyond buffer length")}function cg(e,t,r,a,n,s){if(!Hf(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||te.length)throw new RangeError("Index out of range")}function lg(e,t,r,a){t<0&&(t=65535+t+1);for(var n=0,s=Math.min(e.length-r,2);n>>8*(a?n:1-n)}function pg(e,t,r,a){t<0&&(t=4294967295+t+1);for(var n=0,s=Math.min(e.length-r,4);n>>8*(a?n:3-n)&255}function fg(e,t,r,a,n,s){if(r+a>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function gg(e,t,r,a,n){return n||fg(e,0,r,4),If(e,t,r,a,23,4),r+4}function hg(e,t,r,a,n){return n||fg(e,0,r,8),If(e,t,r,a,52,8),r+8}Lf.prototype.slice=function(e,t){var r,a=this.length;if((e=~~e)<0?(e+=a)<0&&(e=0):e>a&&(e=a),(t=void 0===t?a:~~t)<0?(t+=a)<0&&(t=0):t>a&&(t=a),t0&&(n*=256);)a+=this[e+--t]*n;return a},Lf.prototype.readUInt8=function(e,t){return t||ug(e,1,this.length),this[e]},Lf.prototype.readUInt16LE=function(e,t){return t||ug(e,2,this.length),this[e]|this[e+1]<<8},Lf.prototype.readUInt16BE=function(e,t){return t||ug(e,2,this.length),this[e]<<8|this[e+1]},Lf.prototype.readUInt32LE=function(e,t){return t||ug(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Lf.prototype.readUInt32BE=function(e,t){return t||ug(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Lf.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||ug(e,t,this.length);for(var a=this[e],n=1,s=0;++s=(n*=128)&&(a-=Math.pow(2,8*t)),a},Lf.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||ug(e,t,this.length);for(var a=t,n=1,s=this[e+--a];a>0&&(n*=256);)s+=this[e+--a]*n;return s>=(n*=128)&&(s-=Math.pow(2,8*t)),s},Lf.prototype.readInt8=function(e,t){return t||ug(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Lf.prototype.readInt16LE=function(e,t){t||ug(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Lf.prototype.readInt16BE=function(e,t){t||ug(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Lf.prototype.readInt32LE=function(e,t){return t||ug(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Lf.prototype.readInt32BE=function(e,t){return t||ug(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Lf.prototype.readFloatLE=function(e,t){return t||ug(e,4,this.length),Ff(this,e,!0,23,4)},Lf.prototype.readFloatBE=function(e,t){return t||ug(e,4,this.length),Ff(this,e,!1,23,4)},Lf.prototype.readDoubleLE=function(e,t){return t||ug(e,8,this.length),Ff(this,e,!0,52,8)},Lf.prototype.readDoubleBE=function(e,t){return t||ug(e,8,this.length),Ff(this,e,!1,52,8)},Lf.prototype.writeUIntLE=function(e,t,r,a){(e=+e,t|=0,r|=0,a)||cg(this,e,t,r,Math.pow(2,8*r)-1,0);var n=1,s=0;for(this[t]=255&e;++s=0&&(s*=256);)this[t+n]=e/s&255;return t+r},Lf.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,1,255,0),Lf.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Lf.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,2,65535,0),Lf.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):lg(this,e,t,!0),t+2},Lf.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,2,65535,0),Lf.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):lg(this,e,t,!1),t+2},Lf.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,4,4294967295,0),Lf.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):pg(this,e,t,!0),t+4},Lf.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,4,4294967295,0),Lf.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):pg(this,e,t,!1),t+4},Lf.prototype.writeIntLE=function(e,t,r,a){if(e=+e,t|=0,!a){var n=Math.pow(2,8*r-1);cg(this,e,t,r,n-1,-n)}var s=0,i=1,o=0;for(this[t]=255&e;++s>0)-o&255;return t+r},Lf.prototype.writeIntBE=function(e,t,r,a){if(e=+e,t|=0,!a){var n=Math.pow(2,8*r-1);cg(this,e,t,r,n-1,-n)}var s=r-1,i=1,o=0;for(this[t+s]=255&e;--s>=0&&(i*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/i>>0)-o&255;return t+r},Lf.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,1,127,-128),Lf.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Lf.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,2,32767,-32768),Lf.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):lg(this,e,t,!0),t+2},Lf.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,2,32767,-32768),Lf.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):lg(this,e,t,!1),t+2},Lf.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,4,2147483647,-2147483648),Lf.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):pg(this,e,t,!0),t+4},Lf.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||cg(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Lf.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):pg(this,e,t,!1),t+4},Lf.prototype.writeFloatLE=function(e,t,r){return gg(this,e,t,!0,r)},Lf.prototype.writeFloatBE=function(e,t,r){return gg(this,e,t,!1,r)},Lf.prototype.writeDoubleLE=function(e,t,r){return hg(this,e,t,!0,r)},Lf.prototype.writeDoubleBE=function(e,t,r){return hg(this,e,t,!1,r)},Lf.prototype.copy=function(e,t,r,a){if(r||(r=0),a||0===a||(a=this.length),t>=e.length&&(t=e.length),t||(t=0),a>0&&a=this.length)throw new RangeError("sourceStart out of bounds");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),e.length-t=0;--n)e[n+t]=this[n+r];else if(s<1e3||!Lf.TYPED_ARRAY_SUPPORT)for(n=0;n>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(s=t;s55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(i+1===a){(t-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function bg(e){return function(e){var t,r,a,n,s,i;Sf||Tf();var o=e.length;if(o%4>0)throw new Error("Invalid string. Length must be a multiple of 4");s="="===e[o-2]?2:"="===e[o-1]?1:0,i=new Cf(3*o/4-s),a=s>0?o-4:o;var d=0;for(t=0,r=0;t>16&255,i[d++]=n>>8&255,i[d++]=255&n;return 2===s?(n=Af[e.charCodeAt(t)]<<2|Af[e.charCodeAt(t+1)]>>4,i[d++]=255&n):1===s&&(n=Af[e.charCodeAt(t)]<<10|Af[e.charCodeAt(t+1)]<<4|Af[e.charCodeAt(t+2)]>>2,i[d++]=n>>8&255,i[d++]=255&n),i}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(yg,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Rg(e,t,r,a){for(var n=0;n=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function xg(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var Eg,Dg={exports:{}};function jg(){return Eg||(Eg=1,function(e,t){!function(e){for(var t=",".charCodeAt(0),r=";".charCodeAt(0),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=new Uint8Array(64),s=new Uint8Array(128),i=0;i>>=1,u&&(n=-2147483648|-n),r[a]+=n,t}function p(e,r,a){return!(r>=a)&&e.charCodeAt(r)!==t}function f(e){e.sort(g)}function g(e,t){return e[0]-t[0]}function h(e){for(var a=new Int32Array(5),n=16384,s=n-36,i=new Uint8Array(n),o=i.subarray(0,s),u=0,c="",l=0;l0&&(u===n&&(c+=d.decode(i),u=0),i[u++]=r),0!==p.length){a[0]=0;for(var f=0;fs&&(c+=d.decode(o),i.copyWithin(0,s,u),u-=s),f>0&&(i[u++]=t),u=y(i,u,a,g,0),1!==g.length&&(u=y(i,u,a,g,1),u=y(i,u,a,g,2),u=y(i,u,a,g,3),4!==g.length&&(u=y(i,u,a,g,4)))}}}return c+d.decode(i.subarray(0,u))}function y(e,t,r,a,s){var i=a[s],o=i-r[s];r[s]=i,o=o<0?-o<<1|1:o<<1;do{var d=31&o;(o>>>=5)>0&&(d|=32),e[t++]=n[d]}while(o>0);return t}e.decode=u,e.encode=h,Object.defineProperty(e,"__esModule",{value:!0})}(t)}(0,Dg.exports)),Dg.exports}var wg,Ag,Cg={exports:{}},Sg={exports:{}};function Tg(){return wg||(wg=1,function(e,t){e.exports=function(){var e,t=/^[\w+.-]+:\/\//,r=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,a=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function n(e){return t.test(e)}function s(e){return e.startsWith("//")}function i(e){return e.startsWith("/")}function o(e){return e.startsWith("file:")}function d(e){return/^[.?#]/.test(e)}function u(e){var t=r.exec(e);return l(t[1],t[2]||"",t[3],t[4]||"",t[5]||"/",t[6]||"",t[7]||"")}function c(e){var t=a.exec(e),r=t[2];return l("file:","",t[1]||"","",i(r)?r:"/"+r,t[3]||"",t[4]||"")}function l(t,r,a,n,s,i,o){return{scheme:t,user:r,host:a,port:n,path:s,query:i,hash:o,type:e.Absolute}}function p(t){if(s(t)){var r=u("http:"+t);return r.scheme="",r.type=e.SchemeRelative,r}if(i(t)){var a=u("http://foo.com"+t);return a.scheme="",a.host="",a.type=e.AbsolutePath,a}if(o(t))return c(t);if(n(t))return u(t);var d=u("http://foo.com/"+t);return d.scheme="",d.host="",d.type=t?t.startsWith("?")?e.Query:t.startsWith("#")?e.Hash:e.RelativePath:e.Empty,d}function f(e){if(e.endsWith("/.."))return e;var t=e.lastIndexOf("/");return e.slice(0,t+1)}function g(e,t){h(t,t.type),"/"===e.path?e.path=t.path:e.path=f(t.path)+e.path}function h(t,r){for(var a=r<=e.RelativePath,n=t.path.split("/"),s=1,i=0,o=!1,d=1;dn&&(n=i)}h(a,n);var o=a.query+a.hash;switch(n){case e.Hash:case e.Query:return o;case e.RelativePath:var u=a.path.slice(1);return u?d(r||t)&&!d(u)?"./"+u+o:u+o:o||".";case e.AbsolutePath:return a.path+o;default:return a.scheme+"//"+a.user+a.host+a.port+a.path+o}}return function(e){e[e.Empty=1]="Empty",e[e.Hash=2]="Hash",e[e.Query=3]="Query",e[e.RelativePath=4]="RelativePath",e[e.AbsolutePath=5]="AbsolutePath",e[e.SchemeRelative=6]="SchemeRelative",e[e.Absolute=7]="Absolute"}(e||(e={})),y}()}(Sg)),Sg.exports}function Pg(){return Ag||(Ag=1,function(e,t){!function(e,t,r){function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=a(r);function s(e,t){return t&&!t.endsWith("/")&&(t+="/"),n.default(e,t)}function o(e){if(!e)return"";var t=e.lastIndexOf("/");return e.slice(0,t+1)}var d=0,u=1,c=2,l=3,p=4,f=1,g=2;function h(e,t){var r=y(e,0);if(r===e.length)return e;t||(e=e.slice());for(var a=r;a>1),s=e[n][d]-t;if(0===s)return R=!0,n;s<0?r=n+1:a=n-1}return R=!1,r-1}function E(e,t,r){for(var a=r+1;a=0&&e[a][d]===t;r=a--);return r}function j(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function w(e,t,r,a){var n=r.lastKey,s=r.lastNeedle,i=r.lastIndex,o=0,u=e.length-1;if(a===n){if(t===s)return R=-1!==i&&e[i][d]===t,i;t>=s?o=-1===i?0:i:u=i}return r.lastKey=a,r.lastNeedle=t,r.lastIndex=x(e,t,o,u)}function A(e,t){for(var r=t.map(S),a=0;at;a--)e[a]=e[a-1];e[t]=r}function S(){return{__proto__:null}}var T=function(t,r){var a="string"==typeof t?JSON.parse(t):t;if(!("sections"in a))return new L(a,r);var n=[],s=[],i=[],o=[];P(a,r,n,s,i,o,0,0,1/0,1/0);var d={version:3,file:a.file,names:o,sources:s,sourcesContent:i,mappings:n};return e.presortedDecodedMap(d)};function P(e,t,r,a,n,s,i,o,d,u){for(var c=e.sections,l=0;lg)return;for(var w=I(a,j),A=0===D?f:0,C=b[D],S=0;S=h)return;if(1!==T.length){var _=m+T[u],B=T[c],O=T[l];w.push(4===T.length?[k,_,B,O]:[k,_,B,O,v+T[p]])}else w.push([k])}}}function F(e,t){for(var r=0;r=n.length)return null;var s=n[r],i=V(s,t._decodedMemo,r,a,N);return-1===i?null:s[i]},e.originalPositionFor=function(t,r){var a=r.line,n=r.column,s=r.bias;if(--a<0)throw new Error(_);if(n<0)throw new Error(B);var i=e.decodedMappings(t);if(a>=i.length)return U(null,null,null,null);var o=i[a],d=V(o,t._decodedMemo,a,n,s||N);if(-1===d)return U(null,null,null,null);var f=o[d];if(1===f.length)return U(null,null,null,null);var g=t.names;return U(t.resolvedSources[f[u]],f[c]+1,f[l],5===f.length?g[f[p]]:null)},e.allGeneratedPositionsFor=function(e,t){return r(e,t.source,t.line,t.column,t.bias||O,!0)},e.generatedPositionFor=function(e,t){return r(e,t.source,t.line,t.column,t.bias||N,!1)},e.eachMapping=function(t,r){for(var a=e.decodedMappings(t),n=t.names,s=t.resolvedSources,i=0;i=0&&!(t>=e[a][s]);r=a--);return r}function h(e,t,r){for(var a=e.length;a>t;a--)e[a]=e[a-1];e[t]=r}function y(e){for(var t=e.length,r=t,a=r-1;a>=0&&!(e[a].length>0);r=a,a--);r1?String.fromCharCode(e).repeat(t):String.fromCharCode(e),10!==e?(this._mark(r.line,r.column,r.identifierName,r.filename),this._position.column+=t):(this._position.line++,this._position.column=0)},t._append=function(e,t,r){var a=e.length,n=this._position;if(this._last=e.charCodeAt(a-1),++this._appendCount>4096?(this._str,this._buf+=this._str,this._str=e,this._appendCount=0):this._str+=e,r||this._map){var s=t.column,i=t.identifierName,o=t.filename,d=t.line,u=e.indexOf("\n"),c=0;for(0!==u&&this._mark(d,s,i,o);-1!==u;)n.line++,n.column=0,(c=u+1)=0&&10===this._queue[r].char;r--)t++;return t===e&&10===this._last?t+1:t},t.endsWithCharAndNewline=function(){var e=this._queue,t=this._queueCursor;if(0!==t){if(10!==e[t-1].char)return;return t>1?e[t-2].char:this._last}},t.hasContent=function(){return 0!==this._queueCursor||!!this._last},t.exactSource=function(e,t){if(!this._map)return t();this.source("start",e),t(),this.source("end",e)},t.source=function(e,t){this._map&&this._normalizePosition(e,t,0,0)},t.sourceWithOffset=function(e,t,r,a){this._map&&this._normalizePosition(e,t,r,a)},t.withSource=function(e,t,r){if(!this._map)return r();this.source(e,t),r()},t._normalizePosition=function(e,t,r,a){var n=t[e],s=this._sourcePosition;s.identifierName="start"===e&&t.identifierName||void 0,n&&(s.line=n.line+r,s.column=n.column+a,s.filename=t.filename)},t.getCurrentColumn=function(){for(var e=this._queue,t=this._queueCursor,r=-1,a=0,n=0;n":0,"&&":1,"|":2,"^":3,"&":4,"==":5,"===":5,"!=":5,"!==":5,"<":6,">":6,"<=":6,">=":6,in:6,instanceof:6,">>":7,"<<":7,">>>":7,"+":8,"-":8,"*":9,"/":9,"%":9,"**":10};function Yh(e){return Fh(e)||Xh(e)||Lh(e)}var $h=function(e,t){return ih(t,{superClass:e})},Qh=function(e,t){return(Eh(t)||Ch(t))&&t.object===e||(sh(t)||Ah(t)||Dh(t))&&t.callee===e||Uh(t)&&t.tag===e||Bh(t)};function Zh(e,t){return Qg(t)||jh(t)||Rh(t)||Hh(t)}function ey(){return!0}function ty(e,t){return kh(t)||Oh(t)||_h(t)||Mh(t)||Nh(t)}function ry(e,t){return rh(t)||Wh(t)||Qh(e,t)||th(t)&&qh(e)||uh(t)&&e===t.test||$h(e,t)}function ay(e,t){return Qh(e,t)||ah(t,{operator:"**",left:e})||$h(e,t)}function ny(e,t){return!!(Wh(t)||rh(t)||uh(t,{test:e})||th(t)||Yh(t))||ay(e,t)}function sy(e,t){return sh(t,{callee:e})||Eh(t,{object:e})}function iy(e,t){var r=1&t,a=2&t,n=4&t,s=8&t,i=16&t,o=32&t,d=e.length-1;if(!(d<=0)){for(var u=e[d],c=e[--d];d>=0;){if(r&&ph(c,{expression:u})||n&&lh(c,{declaration:u})||a&&Zg(c,{body:u})||s&&yh(c,{init:u})||i&&gh(c,{left:u})||o&&hh(c,{left:u}))return!0;if(!(d>0&&(Qh(u,c)&&!Dh(c)||Th(c)&&c.expressions[0]===u||nh(c)&&!c.prefix||dh(c,{test:u})||rh(c,{left:u})||eh(c,{left:u}))))return!1;u=c,c=e[--d]}return!1}}var oy=Object.freeze({__proto__:null,NullableTypeAnnotation:function(e,t){return Qg(t)},FunctionTypeAnnotation:function(e,t,r){if(!(r.length<3))return Hh(t)||Rh(t)||Qg(t)||Vh(t)&&Zg(r[r.length-3])},UpdateExpression:function(e,t){return Qh(e,t)||$h(e,t)},ObjectExpression:function(e,t,r){return iy(r,3)},DoExpression:function(e,t,r){return!e.async&&iy(r,1)},Binary:function(e,t){if("**"===e.operator&&ah(t,{operator:"**"}))return t.left===e;if($h(e,t))return!0;if(Qh(e,t)||Wh(t)||th(t))return!0;if(rh(t)){var r=t.operator,a=Jh[r],n=e.operator,s=Jh[n];if(a===s&&t.right===e&&!xh(t)||a>s)return!0}},UnionTypeAnnotation:Zh,IntersectionTypeAnnotation:Zh,OptionalIndexedAccessType:function(e,t){return bh(t,{objectType:e})},TSAsExpression:ey,TSSatisfiesExpression:ey,TSTypeAssertion:ey,TSUnionType:ty,TSIntersectionType:ty,TSInferType:function(e,t){return kh(t)||Oh(t)},TSInstantiationExpression:function(e,t){return(sh(t)||Ah(t)||Dh(t)||Ih(t))&&!!t.typeParameters},BinaryExpression:function(e,t){return"in"===e.operator&&(zh(t)||fh(t))},SequenceExpression:function(e,t){return!(yh(t)||Gh(t)||Sh(t)||vh(t)&&t.test===e||Kh(t)&&t.test===e||gh(t)&&t.right===e||Ph(t)&&t.discriminant===e||ph(t)&&t.expression===e)},YieldExpression:ry,AwaitExpression:ry,ClassExpression:function(e,t,r){return iy(r,5)},UnaryLike:ay,FunctionExpression:function(e,t,r){return iy(r,5)},ArrowFunctionExpression:function(e,t){return ch(t)||ny(e,t)},ConditionalExpression:ny,OptionalMemberExpression:sy,OptionalCallExpression:sy,AssignmentExpression:function(e,t){return!!wh(e.left)||ny(e,t)},LogicalExpression:function(e,t){if(Yh(t))return!0;switch(e.operator){case"||":return!!xh(t)&&("??"===t.operator||"&&"===t.operator);case"&&":return xh(t,{operator:"??"});case"??":return xh(t)&&"??"!==t.operator}},Identifier:function(e,t,r){var a;return!(null==(a=e.extra)||!a.parenthesized||!eh(t,{left:e})||!mh(t.right)&&!oh(t.right)||null!=t.right.id)||("let"===e.name?iy(r,Eh(t,{object:e,computed:!0})||Ch(t,{object:e,computed:!0,optional:!1})?57:32):"async"===e.name&&hh(t)&&e===t.left)}}),dy=Ua,uy=S,cy=K,ly=q;function py(e){var t={};function r(e,r){var a=t[e];t[e]=a?function(e,t,n){var s=a(e,t,n);return null==s?r(e,t,n):s}:r}for(var a=0,n=Object.keys(e);a2?a(h):"\\x"+("00"+h).slice(-2)})),"`"==R&&(b=b.replace(/\$\{/g,"\\${")),f.isScriptContext&&(b=b.replace(/<\/(script|style)/gi,"<\\/$1").replace(/ + + + React App + + + +
+ + + diff --git a/forthic-react/public/logo192.png b/forthic-react/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/forthic-react/public/manifest.json b/forthic-react/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/forthic-react/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/forthic-react/public/robots.txt b/forthic-react/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/forthic-react/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/forthic-react/src/App.css b/forthic-react/src/App.css new file mode 100644 index 0000000..74b5e05 --- /dev/null +++ b/forthic-react/src/App.css @@ -0,0 +1,38 @@ +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/forthic-react/src/App.js b/forthic-react/src/App.js new file mode 100644 index 0000000..3784575 --- /dev/null +++ b/forthic-react/src/App.js @@ -0,0 +1,25 @@ +import logo from './logo.svg'; +import './App.css'; + +function App() { + return ( +
+
+ logo +

+ Edit src/App.js and save to reload. +

+ + Learn React + +
+
+ ); +} + +export default App; diff --git a/forthic-react/src/App.test.js b/forthic-react/src/App.test.js new file mode 100644 index 0000000..1f03afe --- /dev/null +++ b/forthic-react/src/App.test.js @@ -0,0 +1,8 @@ +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + render(); + const linkElement = screen.getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/forthic-react/src/index.css b/forthic-react/src/index.css new file mode 100644 index 0000000..ec2585e --- /dev/null +++ b/forthic-react/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/forthic-react/src/index.js b/forthic-react/src/index.js new file mode 100644 index 0000000..d563c0f --- /dev/null +++ b/forthic-react/src/index.js @@ -0,0 +1,17 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import App from './App'; +import reportWebVitals from './reportWebVitals'; + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render( + + + +); + +// If you want to start measuring performance in your app, pass a function +// to log results (for example: reportWebVitals(console.log)) +// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals +reportWebVitals(); diff --git a/forthic-react/src/logo.svg b/forthic-react/src/logo.svg new file mode 100644 index 0000000..9dfc1c0 --- /dev/null +++ b/forthic-react/src/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/forthic-react/src/reportWebVitals.js b/forthic-react/src/reportWebVitals.js new file mode 100644 index 0000000..5253d3a --- /dev/null +++ b/forthic-react/src/reportWebVitals.js @@ -0,0 +1,13 @@ +const reportWebVitals = onPerfEntry => { + if (onPerfEntry && onPerfEntry instanceof Function) { + import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { + getCLS(onPerfEntry); + getFID(onPerfEntry); + getFCP(onPerfEntry); + getLCP(onPerfEntry); + getTTFB(onPerfEntry); + }); + } +}; + +export default reportWebVitals; diff --git a/forthic-react/src/setupTests.js b/forthic-react/src/setupTests.js new file mode 100644 index 0000000..8f2609b --- /dev/null +++ b/forthic-react/src/setupTests.js @@ -0,0 +1,5 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import '@testing-library/jest-dom'; diff --git a/forthic-react/update_template.py b/forthic-react/update_template.py new file mode 100644 index 0000000..1ef1957 --- /dev/null +++ b/forthic-react/update_template.py @@ -0,0 +1,25 @@ +import re +import glob + +def main(): + # Get new js and css filenames + [js_path] = glob.glob("./build/static/js/main*.js") + [css_path] = glob.glob("./build/static/css/main*.css") + js_file = re.match(".*(main\..*\.js)", js_path).group(1) + css_file = re.match(".*(main\..*\.css)", css_path).group(1) + + # Load current template + with open("../apps/examples/templates/react/react-app.html") as file: + contents = file.read() + + # Replace current compiled files with new ones + contents = re.sub("main\..*\.js", js_file, contents) + contents = re.sub("main\..*\.css", css_file, contents) + + # Update file + with open("../apps/examples/templates/react/react-app.html", "w") as file: + file.write(contents) + return + +if __name__ == "__main__": + main() \ No newline at end of file From 6eefe1fca3479cbebaff41320b07efb8daa414c6 Mon Sep 17 00:00:00 2001 From: Rino Jose Date: Sun, 25 Dec 2022 23:17:41 -0800 Subject: [PATCH 02/29] Overhaul and clean up ForthicPage * Can render arbitrary JSX from Forthic! * Use functional React components and can set css * Use ReactRouter * Can build routes with dynamic elements * Can render ForthicPage * Can hook up a Button * Can specify a Forthic callback * Can update page state * Implement <This is my sneaky sample! + ) + } +} + +function Sample(props) { + return ( +

This is my functional Sample!

+ ) +} +'''; + +: REACT-FORTHIC ''' +: DIV "'div'" Element; +: P "'p'" Element; +: SAMPLE2 "Sample2" Element; +: SAMPLE "Sample" Element; + +: HOME-ELEMENT + DIV [ + P "My first paragraph" JSON PAGE-STATE >JSON] " " JOIN ') -def example(example): +@app.route('/examples/', strict_slashes=False) +@app.route('/examples//', strict_slashes=False) +def example(example, rest=None): def render_configured_page(array): page_type = array[0] @@ -147,6 +148,41 @@ def render_configured_page(array): raise RuntimeError(f'Unknown OAuth token type: {e.field}') +@app.route('/examples//forthic', methods=["POST"]) +def example_forthic(example): + app_dir = f"{example}" + + interp = get_interp(app_dir) + form = request.form + if request.is_json: + form = request.json + forthic = form['forthic'] + fullstack_response = form.get('fullstack_response') + + def run_forthic(): + run_app_forthic(interp, app_dir) + interp.run(forthic) + try: + if fullstack_response: + res = interp.stack + else: + res = interp.stack_pop() + except: + res = None + return res + + try: + res = run_forthic() + result = jsonify({'message': 'OK', 'result': res}) + except RuntimeError as e: + result = jsonify(str(e)) + result.status_code = 400 + except Exception as e: + result = jsonify(str(e)) + result.status_code = 500 + return result + + @app.route('/update_password_form//') def update_password_form(example, field): return render_template( @@ -217,6 +253,7 @@ def get_example_forthic(example_dir): return result +# TODO: Move this to a v1 directory def get_interp(app_dir): def configure_cache_module(interp): interp.register_module(CacheModule) @@ -227,6 +264,7 @@ def configure_html_module(interp): js_path = '/static/forthic/forthic-js' interp.run(f"['html'] USE-MODULES '{js_path}' html.JS-PATH!") + # TODO: Figure out interpreter version based on main.forthic interp = Interpreter() interp.dev_mode = True @@ -269,3 +307,39 @@ def get_google_token(creds, code): client_secret=client_secret, ) return result + + +def get_forthic_app_screens(app_dir): + screens_dir = f"{app_dir}/screens" + if not os.path.isdir(screens_dir): + return [] + + result = [] + with os.scandir(screens_dir) as entries: + for entry in entries: + match = re.match("(.+)\.forthic", entry.name) + if entry.is_file() and match: + with open(f"{screens_dir}/{entry.name}") as f: + screen_forthic = f.read() + screen_name = match.group(1) + result.append([screen_name, screen_forthic]) + return result + + +def get_app_forthic(app_dir): + forthic_file = f"{app_dir}/main.forthic" + with open(forthic_file) as f: + result = f.read() + return result + +def run_app_forthic(interp, app_dir): + """Runs the forthic in the app dir + """ + # Store screens for this app in the app module + forthic_screens = get_forthic_app_screens(app_dir) + for s in forthic_screens: + interp.app_module.set_screen(s[0], s[1]) + + # Run the app_forthic and MAIN-PAGE + interp.run(get_app_forthic(app_dir)) + return diff --git a/apps/examples/static/react/react-app/main.073c9b0a.css b/apps/examples/static/react/react-app/main.073c9b0a.css deleted file mode 100644 index a0e8dfc..0000000 --- a/apps/examples/static/react/react-app/main.073c9b0a.css +++ /dev/null @@ -1,2 +0,0 @@ -body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{-webkit-animation:App-logo-spin 20s linear infinite;animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@-webkit-keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}} -/*# sourceMappingURL=main.073c9b0a.css.map*/ \ No newline at end of file diff --git a/apps/examples/static/react/react-app/main.2d50e04b.js b/apps/examples/static/react/react-app/main.2d50e04b.js deleted file mode 100644 index fe8d064..0000000 --- a/apps/examples/static/react/react-app/main.2d50e04b.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see main.2d50e04b.js.LICENSE.txt */ -!function(){"use strict";var e={463:function(e,n,t){var r=t(791),l=t(296);function a(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t