@readme/markdown 6.75.0-beta.16 → 6.75.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.node.js CHANGED
@@ -12,7 +12,7 @@
12
12
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
13
13
 
14
14
  /*! For license information please see index.js.LICENSE.txt */
15
- (()=>{var u={846:(u,D,e)=>{var t=e(905);u.exports=t.createContext(!1)},100:(u,D,e)=>{var t=e(905);u.exports=t.createContext({selected:"",changeSelected:function(){}})},926:(u,D,e)=>{var t=e(905);u.exports=t.createContext({user:{},defaults:[]})},146:(u,D,e)=>{function t(){return t=Object.assign||function(u){for(var D=1;D<arguments.length;D++){var e=arguments[D];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(u[t]=e[t])}return u},t.apply(this,arguments)}function r(u){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(u){return typeof u}:function(u){return u&&"function"==typeof Symbol&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},r(u)}function F(u,D){for(var e=0;e<D.length;e++){var t=D[e];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(u,t.key,t)}}function n(u,D){return n=Object.setPrototypeOf||function(u,D){return u.__proto__=D,u},n(u,D)}function o(u){var D=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(u){return!1}}();return function(){var e,t=E(u);if(D){var r=E(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return A(this,e)}}function A(u,D){return!D||"object"!==r(D)&&"function"!=typeof D?C(u):D}function C(u){if(void 0===u)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}function E(u){return E=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},E(u)}var a=e(814),s=e(526),i=e(905),B=e(846),l=e(100),c=e(926),p=function(u){!function(u,D){if("function"!=typeof D&&null!==D)throw new TypeError("Super expression must either be null or a function");u.prototype=Object.create(D&&D.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),D&&n(u,D)}(E,u);var D,e,t,A=o(E);function E(u){var D;return function(u,D){if(!(u instanceof D))throw new TypeError("Cannot call a class as a function")}(this,E),(D=A.call(this,u)).state={showDropdown:!1},D.toggleVarDropdown=D.toggleVarDropdown.bind(C(D)),D.toggleAuthDropdown=D.toggleAuthDropdown.bind(C(D)),D.renderVarDropdown=D.renderVarDropdown.bind(C(D)),D.onChange=D.onChange.bind(C(D)),D}return D=E,t=[{key:"renderAuthDropdown",value:function(){return i.createElement("div",{className:a("ns-popover-dropdown-theme","ns-popover-bottom-placement","ns-popover-right-align"),style:{position:"absolute"}},i.createElement("div",{className:"ns-popover-tooltip",id:"loginDropdown"},i.createElement("div",{className:"ns-triangle"}),i.createElement("div",{className:"triangle"}),i.createElement("div",{className:"pad"},i.createElement("div",{className:"text-center"},"Authenticate to personalize this page",i.createElement("a",{className:a("btn","btn-primary"),href:"/oauth",target:"_self"},"Authenticate")))))}}],(e=[{key:"onChange",value:function(u){this.toggleVarDropdown(),this.props.changeSelected(u.target.value)}},{key:"getDefault",value:function(){var u=this,D=this.props.defaults.filter(Boolean).find((function(D){return D.name===u.props.variable}))||{};return D.default?D.default:this.props.variable.toUpperCase()}},{key:"getSelectedValue",value:function(u){var D=this.props.user,e={};return Array.isArray(D.keys)&&D.keys.length&&(e=u?D.keys.find((function(D){return D.name===u})):D.keys[0]),e}},{key:"shouldShowVarDropdown",value:function(u){var D=this.props,e=D.user,t=D.variable;return!!this.getSelectedValue(u)[t]&&Array.isArray(e.keys)&&e.keys.length>1}},{key:"getValue",value:function(u){var D=this.props.variable,e=this.getSelectedValue(u)[D]||this.props.user[D]||this.getDefault();return"object"===r(e)?JSON.stringify(e):e}},{key:"toggleVarDropdown",value:function(){this.shouldShowVarDropdown()&&this.setState((function(u){return{showDropdown:!u.showDropdown}}))}},{key:"toggleAuthDropdown",value:function(){this.setState((function(u){return{showAuthDropdown:!u.showAuthDropdown}}))}},{key:"renderVarDropdown",value:function(){return i.createElement("select",{onChange:this.onChange,value:this.props.selected},this.props.user.keys.map((function(u){return i.createElement("option",{key:u.name,value:u.name},u.name)})))}},{key:"render",value:function(){var u=this.props,D=u.user,e=u.selected;return Array.isArray(D.keys)&&D.keys.length?i.createElement("span",null,!this.state.showDropdown&&i.createElement("span",{className:"variable-underline",onClick:this.toggleVarDropdown},this.getValue(e)),this.state.showDropdown&&this.renderVarDropdown()):this.getValue()===this.getDefault()&&this.props.oauth?i.createElement("span",null,i.createElement("span",{className:"variable-underline",onClick:this.toggleAuthDropdown},this.getValue()),this.state.showAuthDropdown&&E.renderAuthDropdown()):i.createElement("span",null,this.getValue())}}])&&F(D.prototype,e),t&&F(D,t),E}(i.Component);p.propTypes={changeSelected:s.func.isRequired,defaults:s.arrayOf(s.shape({default:s.string,name:s.string})).isRequired,oauth:s.bool,selected:s.string.isRequired,user:s.shape({keys:s.array}).isRequired,variable:s.string.isRequired},p.defaultProps={oauth:!1},u.exports=function(u){return i.createElement(c.Consumer,null,(function(D){var e=D.user,r=D.defaults;return i.createElement(B.Consumer,null,(function(D){return i.createElement(l.Consumer,null,(function(F){var n=F.selected,o=F.changeSelected;return i.createElement(p,t({},u,{changeSelected:o,defaults:r,oauth:D,selected:n,user:e}))}))}))}))},u.exports.Variable=p,u.exports.VARIABLE_REGEXP=/(?:\\)?<<((?:[\t-\r \x2D\.0-:A-Z_a-z\xA0\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2000-\u200A\u2028\u2029\u202F\u205F\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3000\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFEFF\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])+)(?:\\)?>>/i.source,u.exports.VariablesContext=c,u.exports.SelectedAppContext=l},814:(u,D,e)=>{var t;function r(u){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(u){return typeof u}:function(u){return u&&"function"==typeof Symbol&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},r(u)}!function(){"use strict";var F={}.hasOwnProperty;function n(){for(var u=[],D=0;D<arguments.length;D++){var e=arguments[D];if(e){var t=r(e);if("string"===t||"number"===t)u.push(e);else if(Array.isArray(e)){if(e.length){var o=n.apply(null,e);o&&u.push(o)}}else if("object"===t)if(e.toString===Object.prototype.toString)for(var A in e)F.call(e,A)&&e[A]&&u.push(A);else u.push(e.toString())}}return u.join(" ")}u.exports?(n.default=n,u.exports=n):"object"===r(e.amdO)&&e.amdO?void 0===(t=function(){return n}.apply(D,[]))||(u.exports=t):window.classNames=n}()},428:(u,D,e)=>{"use strict";var t=e(134);function r(){}function F(){}F.resetWarningCache=r,u.exports=function(){function u(u,D,e,r,F,n){if(n!==t){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function D(){return u}u.isRequired=u;var e={array:u,bigint:u,bool:u,func:u,number:u,object:u,string:u,symbol:u,any:u,arrayOf:D,element:u,elementType:u,instanceOf:D,node:u,objectOf:D,oneOf:D,oneOfType:D,shape:D,exact:D,checkPropTypes:F,resetWarningCache:r};return e.PropTypes=e,e}},526:(u,D,e)=>{u.exports=e(428)()},134:u=>{"use strict";u.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},905:u=>{"use strict";u.exports=__webpack_require__(294)}},D={};function e(t){var r=D[t];if(void 0!==r)return r.exports;var F=D[t]={exports:{}};return u[t](F,F.exports,e),F.exports}e.amdO={};var t=e(146);module.exports=t})();
15
+ (()=>{var u={846:(u,D,e)=>{var t=e(905);u.exports=t.createContext(!1)},100:(u,D,e)=>{var t=e(905);u.exports=t.createContext({selected:"",changeSelected:function(){}})},926:(u,D,e)=>{var t=e(905);u.exports=t.createContext({user:{},defaults:[]})},146:(u,D,e)=>{function t(){return t=Object.assign||function(u){for(var D=1;D<arguments.length;D++){var e=arguments[D];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(u[t]=e[t])}return u},t.apply(this,arguments)}function r(u){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(u){return typeof u}:function(u){return u&&"function"==typeof Symbol&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},r(u)}function F(u,D){for(var e=0;e<D.length;e++){var t=D[e];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(u,t.key,t)}}function n(u,D){return n=Object.setPrototypeOf||function(u,D){return u.__proto__=D,u},n(u,D)}function o(u){var D=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(u){return!1}}();return function(){var e,t=C(u);if(D){var F=C(this).constructor;e=Reflect.construct(t,arguments,F)}else e=t.apply(this,arguments);return function(u,D){if(D&&("object"===r(D)||"function"==typeof D))return D;return A(u)}(this,e)}}function A(u){if(void 0===u)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}function C(u){return C=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},C(u)}var E=e(814),a=e(526),s=e(905),i=e(846),B=e(100),l=e(926),c=function(u){!function(u,D){if("function"!=typeof D&&null!==D)throw new TypeError("Super expression must either be null or a function");u.prototype=Object.create(D&&D.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),D&&n(u,D)}(a,u);var D,e,t,C=o(a);function a(u){var D;return function(u,D){if(!(u instanceof D))throw new TypeError("Cannot call a class as a function")}(this,a),(D=C.call(this,u)).state={showDropdown:!1},D.toggleVarDropdown=D.toggleVarDropdown.bind(A(D)),D.toggleAuthDropdown=D.toggleAuthDropdown.bind(A(D)),D.renderVarDropdown=D.renderVarDropdown.bind(A(D)),D.onChange=D.onChange.bind(A(D)),D}return D=a,t=[{key:"renderAuthDropdown",value:function(){return s.createElement("div",{className:E("ns-popover-dropdown-theme","ns-popover-bottom-placement","ns-popover-right-align"),style:{position:"absolute"}},s.createElement("div",{className:"ns-popover-tooltip",id:"loginDropdown"},s.createElement("div",{className:"ns-triangle"}),s.createElement("div",{className:"triangle"}),s.createElement("div",{className:"pad"},s.createElement("div",{className:"text-center"},"Authenticate to personalize this page",s.createElement("a",{className:E("btn","btn-primary"),href:"/oauth",target:"_self"},"Authenticate")))))}}],(e=[{key:"onChange",value:function(u){this.toggleVarDropdown(),this.props.changeSelected(u.target.value)}},{key:"getDefault",value:function(){var u=this,D=this.props.defaults.filter(Boolean).find((function(D){return D.name===u.props.variable}))||{};return D.default?D.default:this.props.variable.toUpperCase()}},{key:"getSelectedValue",value:function(u){var D=this.props.user,e={};return Array.isArray(D.keys)&&D.keys.length&&(e=u?D.keys.find((function(D){return D.name===u})):D.keys[0]),e}},{key:"shouldShowVarDropdown",value:function(u){var D=this.props,e=D.user,t=D.variable;return!!this.getSelectedValue(u)[t]&&Array.isArray(e.keys)&&e.keys.length>1}},{key:"getValue",value:function(u){var D=this.props.variable,e=this.getSelectedValue(u)[D]||this.props.user[D]||this.getDefault();return"object"===r(e)?JSON.stringify(e):e}},{key:"toggleVarDropdown",value:function(){this.shouldShowVarDropdown()&&this.setState((function(u){return{showDropdown:!u.showDropdown}}))}},{key:"toggleAuthDropdown",value:function(){this.setState((function(u){return{showAuthDropdown:!u.showAuthDropdown}}))}},{key:"renderVarDropdown",value:function(){return s.createElement("select",{onChange:this.onChange,value:this.props.selected},this.props.user.keys.map((function(u){return s.createElement("option",{key:u.name,value:u.name},u.name)})))}},{key:"render",value:function(){var u=this.props,D=u.user,e=u.selected;return Array.isArray(D.keys)&&D.keys.length?s.createElement("span",null,!this.state.showDropdown&&s.createElement("span",{className:"variable-underline",onClick:this.toggleVarDropdown},this.getValue(e)),this.state.showDropdown&&this.renderVarDropdown()):this.getValue()===this.getDefault()&&this.props.oauth?s.createElement("span",null,s.createElement("span",{className:"variable-underline",onClick:this.toggleAuthDropdown},this.getValue()),this.state.showAuthDropdown&&a.renderAuthDropdown()):s.createElement("span",null,this.getValue())}}])&&F(D.prototype,e),t&&F(D,t),a}(s.Component);c.propTypes={changeSelected:a.func.isRequired,defaults:a.arrayOf(a.shape({default:a.string,name:a.string})).isRequired,oauth:a.bool,selected:a.string.isRequired,user:a.shape({keys:a.array}).isRequired,variable:a.string.isRequired},c.defaultProps={oauth:!1},u.exports=function(u){return s.createElement(l.Consumer,null,(function(D){var e=D.user,r=D.defaults;return s.createElement(i.Consumer,null,(function(D){return s.createElement(B.Consumer,null,(function(F){var n=F.selected,o=F.changeSelected;return s.createElement(c,t({},u,{changeSelected:o,defaults:r,oauth:D,selected:n,user:e}))}))}))}))},u.exports.Variable=c,u.exports.VARIABLE_REGEXP=/(?:\\)?<<((?:(?![\n\r])(?:[\t-\r \x2D\.0-:A-Z_a-z\xA0\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2000-\u200A\u2028\u2029\u202F\u205F\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3000\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFEFF\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF]))+)(?:\\)?>>/i.source,u.exports.VariablesContext=l,u.exports.SelectedAppContext=B},814:(u,D,e)=>{var t;function r(u){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(u){return typeof u}:function(u){return u&&"function"==typeof Symbol&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},r(u)}!function(){"use strict";var F={}.hasOwnProperty;function n(){for(var u=[],D=0;D<arguments.length;D++){var e=arguments[D];if(e){var t=r(e);if("string"===t||"number"===t)u.push(e);else if(Array.isArray(e)){if(e.length){var o=n.apply(null,e);o&&u.push(o)}}else if("object"===t){if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]")){u.push(e.toString());continue}for(var A in e)F.call(e,A)&&e[A]&&u.push(A)}}}return u.join(" ")}u.exports?(n.default=n,u.exports=n):"object"===r(e.amdO)&&e.amdO?void 0===(t=function(){return n}.apply(D,[]))||(u.exports=t):window.classNames=n}()},428:(u,D,e)=>{"use strict";var t=e(134);function r(){}function F(){}F.resetWarningCache=r,u.exports=function(){function u(u,D,e,r,F,n){if(n!==t){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function D(){return u}u.isRequired=u;var e={array:u,bigint:u,bool:u,func:u,number:u,object:u,string:u,symbol:u,any:u,arrayOf:D,element:u,elementType:u,instanceOf:D,node:u,objectOf:D,oneOf:D,oneOfType:D,shape:D,exact:D,checkPropTypes:F,resetWarningCache:r};return e.PropTypes=e,e}},526:(u,D,e)=>{u.exports=e(428)()},134:u=>{"use strict";u.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},905:u=>{"use strict";u.exports=__webpack_require__(294)}},D={};function e(t){var r=D[t];if(void 0!==r)return r.exports;var F=D[t]={exports:{}};return u[t](F,F.exports,e),F.exports}e.amdO={};var t=e(146);module.exports=t})();
16
16
 
17
17
  /***/ }),
18
18
 
@@ -5760,18 +5760,21 @@ module.exports = {
5760
5760
  })(this, (function (exports) { 'use strict';
5761
5761
 
5762
5762
  // This file was generated. Do not modify manually!
5763
- var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 357, 0, 62, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
5763
+ var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
5764
5764
 
5765
5765
  // This file was generated. Do not modify manually!
5766
- var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1070, 4050, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 46, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 482, 44, 11, 6, 17, 0, 322, 29, 19, 43, 1269, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4152, 8, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];
5766
+ var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
5767
5767
 
5768
5768
  // This file was generated. Do not modify manually!
5769
- var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
5769
+ var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
5770
5770
 
5771
5771
  // This file was generated. Do not modify manually!
5772
5772
  var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
5773
5773
 
5774
5774
  // These are a run-length and offset encoded representation of the
5775
+ // >0xffff code points that are a valid part of identifiers. The
5776
+ // offset starts at 0x10000, and each pair of numbers represents an
5777
+ // offset to the next range, and then a size of the range.
5775
5778
 
5776
5779
  // Reserved word lists for various dialects of the language
5777
5780
 
@@ -5811,6 +5814,7 @@ module.exports = {
5811
5814
  pos += set[i + 1];
5812
5815
  if (pos >= code) { return true }
5813
5816
  }
5817
+ return false
5814
5818
  }
5815
5819
 
5816
5820
  // Test whether a given character code starts an identifier.
@@ -6030,8 +6034,10 @@ module.exports = {
6030
6034
  toString.call(obj) === "[object Array]"
6031
6035
  ); });
6032
6036
 
6037
+ var regexpCache = Object.create(null);
6038
+
6033
6039
  function wordsRegexp(words) {
6034
- return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$")
6040
+ return regexpCache[words] || (regexpCache[words] = new RegExp("^(?:" + words.replace(/ /g, "|") + ")$"))
6035
6041
  }
6036
6042
 
6037
6043
  function codePointToString(code) {
@@ -6091,11 +6097,11 @@ module.exports = {
6091
6097
  // Can be either `"script"` or `"module"`. This influences global
6092
6098
  // strict mode and parsing of `import` and `export` declarations.
6093
6099
  sourceType: "script",
6094
- // `onInsertedSemicolon` can be a callback that will be called
6095
- // when a semicolon is automatically inserted. It will be passed
6096
- // the position of the comma as an offset, and if `locations` is
6097
- // enabled, it is given the location as a `{line, column}` object
6098
- // as second argument.
6100
+ // `onInsertedSemicolon` can be a callback that will be called when
6101
+ // a semicolon is automatically inserted. It will be passed the
6102
+ // position of the inserted semicolon as an offset, and if
6103
+ // `locations` is enabled, it is given the location as a `{line,
6104
+ // column}` object as second argument.
6099
6105
  onInsertedSemicolon: null,
6100
6106
  // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
6101
6107
  // trailing commas.
@@ -6123,6 +6129,10 @@ module.exports = {
6123
6129
  // allowed and treated as a line comment. Enabled by default when
6124
6130
  // `ecmaVersion` >= 2023.
6125
6131
  allowHashBang: false,
6132
+ // By default, the parser will verify that private properties are
6133
+ // only used in places where they are valid and have been declared.
6134
+ // Set this to false to turn such checks off.
6135
+ checkPrivateFields: true,
6126
6136
  // When `locations` is on, `loc` properties holding objects with
6127
6137
  // `start` and `end` properties in `{line, column}` form (with
6128
6138
  // line being 1-based and column 0-based) will be attached to the
@@ -6144,6 +6154,8 @@ module.exports = {
6144
6154
  // passed, the full `{line, column}` locations of the start and
6145
6155
  // end of the comments. Note that you are not allowed to call the
6146
6156
  // parser from the callback—that will corrupt its internal state.
6157
+ // When this option has an array as value, objects representing the
6158
+ // comments are pushed to it.
6147
6159
  onComment: null,
6148
6160
  // Nodes have their start and end characters offsets recorded in
6149
6161
  // `start` and `end` properties (directly on the node, rather than
@@ -6196,7 +6208,7 @@ module.exports = {
6196
6208
  if (options.allowReserved == null)
6197
6209
  { options.allowReserved = options.ecmaVersion < 5; }
6198
6210
 
6199
- if (opts.allowHashBang == null)
6211
+ if (!opts || opts.allowHashBang == null)
6200
6212
  { options.allowHashBang = options.ecmaVersion >= 14; }
6201
6213
 
6202
6214
  if (isArray(options.onToken)) {
@@ -6596,10 +6608,10 @@ module.exports = {
6596
6608
  // Statement) is allowed here. If context is not empty then only a Statement
6597
6609
  // is allowed. However, `let [` is an explicit negative lookahead for
6598
6610
  // ExpressionStatement, so special-case it first.
6599
- if (nextCh === 91 || nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '[', '/', astral
6611
+ if (nextCh === 91 || nextCh === 92) { return true } // '[', '/'
6600
6612
  if (context) { return false }
6601
6613
 
6602
- if (nextCh === 123) { return true } // '{'
6614
+ if (nextCh === 123 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '{', astral
6603
6615
  if (isIdentifierStart(nextCh, true)) {
6604
6616
  var pos = next + 1;
6605
6617
  while (isIdentifierChar(nextCh = this.input.charCodeAt(pos), true)) { ++pos; }
@@ -6889,6 +6901,16 @@ module.exports = {
6889
6901
 
6890
6902
  var empty$1 = [];
6891
6903
 
6904
+ pp$8.parseCatchClauseParam = function() {
6905
+ var param = this.parseBindingAtom();
6906
+ var simple = param.type === "Identifier";
6907
+ this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);
6908
+ this.checkLValPattern(param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
6909
+ this.expect(types$1.parenR);
6910
+
6911
+ return param
6912
+ };
6913
+
6892
6914
  pp$8.parseTryStatement = function(node) {
6893
6915
  this.next();
6894
6916
  node.block = this.parseBlock();
@@ -6897,11 +6919,7 @@ module.exports = {
6897
6919
  var clause = this.startNode();
6898
6920
  this.next();
6899
6921
  if (this.eat(types$1.parenL)) {
6900
- clause.param = this.parseBindingAtom();
6901
- var simple = clause.param.type === "Identifier";
6902
- this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);
6903
- this.checkLValPattern(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
6904
- this.expect(types$1.parenR);
6922
+ clause.param = this.parseCatchClauseParam();
6905
6923
  } else {
6906
6924
  if (this.options.ecmaVersion < 10) { this.unexpected(); }
6907
6925
  clause.param = null;
@@ -6917,9 +6935,9 @@ module.exports = {
6917
6935
  return this.finishNode(node, "TryStatement")
6918
6936
  };
6919
6937
 
6920
- pp$8.parseVarStatement = function(node, kind) {
6938
+ pp$8.parseVarStatement = function(node, kind, allowMissingInitializer) {
6921
6939
  this.next();
6922
- this.parseVar(node, false, kind);
6940
+ this.parseVar(node, false, kind, allowMissingInitializer);
6923
6941
  this.semicolon();
6924
6942
  return this.finishNode(node, "VariableDeclaration")
6925
6943
  };
@@ -7048,7 +7066,7 @@ module.exports = {
7048
7066
 
7049
7067
  // Parse a list of variable declarations.
7050
7068
 
7051
- pp$8.parseVar = function(node, isFor, kind) {
7069
+ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
7052
7070
  node.declarations = [];
7053
7071
  node.kind = kind;
7054
7072
  for (;;) {
@@ -7056,9 +7074,9 @@ module.exports = {
7056
7074
  this.parseVarId(decl, kind);
7057
7075
  if (this.eat(types$1.eq)) {
7058
7076
  decl.init = this.parseMaybeAssign(isFor);
7059
- } else if (kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
7077
+ } else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
7060
7078
  this.unexpected();
7061
- } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
7079
+ } else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
7062
7080
  this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
7063
7081
  } else {
7064
7082
  decl.init = null;
@@ -7147,7 +7165,7 @@ module.exports = {
7147
7165
  if (element) {
7148
7166
  classBody.body.push(element);
7149
7167
  if (element.type === "MethodDefinition" && element.kind === "constructor") {
7150
- if (hadConstructor) { this.raise(element.start, "Duplicate constructor in the same class"); }
7168
+ if (hadConstructor) { this.raiseRecoverable(element.start, "Duplicate constructor in the same class"); }
7151
7169
  hadConstructor = true;
7152
7170
  } else if (element.key && element.key.type === "PrivateIdentifier" && isPrivateNameConflicted(privateNameMap, element)) {
7153
7171
  this.raiseRecoverable(element.key.start, ("Identifier '#" + (element.key.name) + "' has already been declared"));
@@ -7332,7 +7350,7 @@ module.exports = {
7332
7350
  };
7333
7351
 
7334
7352
  pp$8.parseClassSuper = function(node) {
7335
- node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(false) : null;
7353
+ node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(null, false) : null;
7336
7354
  };
7337
7355
 
7338
7356
  pp$8.enterClassBody = function() {
@@ -7345,6 +7363,7 @@ module.exports = {
7345
7363
  var ref = this.privateNameStack.pop();
7346
7364
  var declared = ref.declared;
7347
7365
  var used = ref.used;
7366
+ if (!this.options.checkPrivateFields) { return }
7348
7367
  var len = this.privateNameStack.length;
7349
7368
  var parent = len === 0 ? null : this.privateNameStack[len - 1];
7350
7369
  for (var i = 0; i < used.length; ++i) {
@@ -7396,44 +7415,36 @@ module.exports = {
7396
7415
 
7397
7416
  // Parses module export declaration.
7398
7417
 
7418
+ pp$8.parseExportAllDeclaration = function(node, exports) {
7419
+ if (this.options.ecmaVersion >= 11) {
7420
+ if (this.eatContextual("as")) {
7421
+ node.exported = this.parseModuleExportName();
7422
+ this.checkExport(exports, node.exported, this.lastTokStart);
7423
+ } else {
7424
+ node.exported = null;
7425
+ }
7426
+ }
7427
+ this.expectContextual("from");
7428
+ if (this.type !== types$1.string) { this.unexpected(); }
7429
+ node.source = this.parseExprAtom();
7430
+ this.semicolon();
7431
+ return this.finishNode(node, "ExportAllDeclaration")
7432
+ };
7433
+
7399
7434
  pp$8.parseExport = function(node, exports) {
7400
7435
  this.next();
7401
7436
  // export * from '...'
7402
7437
  if (this.eat(types$1.star)) {
7403
- if (this.options.ecmaVersion >= 11) {
7404
- if (this.eatContextual("as")) {
7405
- node.exported = this.parseModuleExportName();
7406
- this.checkExport(exports, node.exported, this.lastTokStart);
7407
- } else {
7408
- node.exported = null;
7409
- }
7410
- }
7411
- this.expectContextual("from");
7412
- if (this.type !== types$1.string) { this.unexpected(); }
7413
- node.source = this.parseExprAtom();
7414
- this.semicolon();
7415
- return this.finishNode(node, "ExportAllDeclaration")
7438
+ return this.parseExportAllDeclaration(node, exports)
7416
7439
  }
7417
7440
  if (this.eat(types$1._default)) { // export default ...
7418
7441
  this.checkExport(exports, "default", this.lastTokStart);
7419
- var isAsync;
7420
- if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) {
7421
- var fNode = this.startNode();
7422
- this.next();
7423
- if (isAsync) { this.next(); }
7424
- node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync);
7425
- } else if (this.type === types$1._class) {
7426
- var cNode = this.startNode();
7427
- node.declaration = this.parseClass(cNode, "nullableID");
7428
- } else {
7429
- node.declaration = this.parseMaybeAssign();
7430
- this.semicolon();
7431
- }
7442
+ node.declaration = this.parseExportDefaultDeclaration();
7432
7443
  return this.finishNode(node, "ExportDefaultDeclaration")
7433
7444
  }
7434
7445
  // export var|const|let|function|class ...
7435
7446
  if (this.shouldParseExportStatement()) {
7436
- node.declaration = this.parseStatement(null);
7447
+ node.declaration = this.parseExportDeclaration(node);
7437
7448
  if (node.declaration.type === "VariableDeclaration")
7438
7449
  { this.checkVariableExport(exports, node.declaration.declarations); }
7439
7450
  else
@@ -7467,6 +7478,27 @@ module.exports = {
7467
7478
  return this.finishNode(node, "ExportNamedDeclaration")
7468
7479
  };
7469
7480
 
7481
+ pp$8.parseExportDeclaration = function(node) {
7482
+ return this.parseStatement(null)
7483
+ };
7484
+
7485
+ pp$8.parseExportDefaultDeclaration = function() {
7486
+ var isAsync;
7487
+ if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) {
7488
+ var fNode = this.startNode();
7489
+ this.next();
7490
+ if (isAsync) { this.next(); }
7491
+ return this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync)
7492
+ } else if (this.type === types$1._class) {
7493
+ var cNode = this.startNode();
7494
+ return this.parseClass(cNode, "nullableID")
7495
+ } else {
7496
+ var declaration = this.parseMaybeAssign();
7497
+ this.semicolon();
7498
+ return declaration
7499
+ }
7500
+ };
7501
+
7470
7502
  pp$8.checkExport = function(exports, name, pos) {
7471
7503
  if (!exports) { return }
7472
7504
  if (typeof name !== "string")
@@ -7499,8 +7531,6 @@ module.exports = {
7499
7531
  { this.checkPatternExport(exports, pat.left); }
7500
7532
  else if (type === "RestElement")
7501
7533
  { this.checkPatternExport(exports, pat.argument); }
7502
- else if (type === "ParenthesizedExpression")
7503
- { this.checkPatternExport(exports, pat.expression); }
7504
7534
  };
7505
7535
 
7506
7536
  pp$8.checkVariableExport = function(exports, decls) {
@@ -7524,6 +7554,20 @@ module.exports = {
7524
7554
 
7525
7555
  // Parses a comma-separated list of module exports.
7526
7556
 
7557
+ pp$8.parseExportSpecifier = function(exports) {
7558
+ var node = this.startNode();
7559
+ node.local = this.parseModuleExportName();
7560
+
7561
+ node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
7562
+ this.checkExport(
7563
+ exports,
7564
+ node.exported,
7565
+ node.exported.start
7566
+ );
7567
+
7568
+ return this.finishNode(node, "ExportSpecifier")
7569
+ };
7570
+
7527
7571
  pp$8.parseExportSpecifiers = function(exports) {
7528
7572
  var nodes = [], first = true;
7529
7573
  // export { x, y as z } [from '...']
@@ -7534,15 +7578,7 @@ module.exports = {
7534
7578
  if (this.afterTrailingComma(types$1.braceR)) { break }
7535
7579
  } else { first = false; }
7536
7580
 
7537
- var node = this.startNode();
7538
- node.local = this.parseModuleExportName();
7539
- node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
7540
- this.checkExport(
7541
- exports,
7542
- node.exported,
7543
- node.exported.start
7544
- );
7545
- nodes.push(this.finishNode(node, "ExportSpecifier"));
7581
+ nodes.push(this.parseExportSpecifier(exports));
7546
7582
  }
7547
7583
  return nodes
7548
7584
  };
@@ -7551,6 +7587,7 @@ module.exports = {
7551
7587
 
7552
7588
  pp$8.parseImport = function(node) {
7553
7589
  this.next();
7590
+
7554
7591
  // import '...'
7555
7592
  if (this.type === types$1.string) {
7556
7593
  node.specifiers = empty$1;
@@ -7566,23 +7603,46 @@ module.exports = {
7566
7603
 
7567
7604
  // Parses a comma-separated list of module imports.
7568
7605
 
7606
+ pp$8.parseImportSpecifier = function() {
7607
+ var node = this.startNode();
7608
+ node.imported = this.parseModuleExportName();
7609
+
7610
+ if (this.eatContextual("as")) {
7611
+ node.local = this.parseIdent();
7612
+ } else {
7613
+ this.checkUnreserved(node.imported);
7614
+ node.local = node.imported;
7615
+ }
7616
+ this.checkLValSimple(node.local, BIND_LEXICAL);
7617
+
7618
+ return this.finishNode(node, "ImportSpecifier")
7619
+ };
7620
+
7621
+ pp$8.parseImportDefaultSpecifier = function() {
7622
+ // import defaultObj, { x, y as z } from '...'
7623
+ var node = this.startNode();
7624
+ node.local = this.parseIdent();
7625
+ this.checkLValSimple(node.local, BIND_LEXICAL);
7626
+ return this.finishNode(node, "ImportDefaultSpecifier")
7627
+ };
7628
+
7629
+ pp$8.parseImportNamespaceSpecifier = function() {
7630
+ var node = this.startNode();
7631
+ this.next();
7632
+ this.expectContextual("as");
7633
+ node.local = this.parseIdent();
7634
+ this.checkLValSimple(node.local, BIND_LEXICAL);
7635
+ return this.finishNode(node, "ImportNamespaceSpecifier")
7636
+ };
7637
+
7569
7638
  pp$8.parseImportSpecifiers = function() {
7570
7639
  var nodes = [], first = true;
7571
7640
  if (this.type === types$1.name) {
7572
- // import defaultObj, { x, y as z } from '...'
7573
- var node = this.startNode();
7574
- node.local = this.parseIdent();
7575
- this.checkLValSimple(node.local, BIND_LEXICAL);
7576
- nodes.push(this.finishNode(node, "ImportDefaultSpecifier"));
7641
+ nodes.push(this.parseImportDefaultSpecifier());
7577
7642
  if (!this.eat(types$1.comma)) { return nodes }
7578
7643
  }
7579
7644
  if (this.type === types$1.star) {
7580
- var node$1 = this.startNode();
7581
- this.next();
7582
- this.expectContextual("as");
7583
- node$1.local = this.parseIdent();
7584
- this.checkLValSimple(node$1.local, BIND_LEXICAL);
7585
- nodes.push(this.finishNode(node$1, "ImportNamespaceSpecifier"));
7645
+ nodes.push(this.parseImportNamespaceSpecifier());
7586
7646
  return nodes
7587
7647
  }
7588
7648
  this.expect(types$1.braceL);
@@ -7592,16 +7652,7 @@ module.exports = {
7592
7652
  if (this.afterTrailingComma(types$1.braceR)) { break }
7593
7653
  } else { first = false; }
7594
7654
 
7595
- var node$2 = this.startNode();
7596
- node$2.imported = this.parseModuleExportName();
7597
- if (this.eatContextual("as")) {
7598
- node$2.local = this.parseIdent();
7599
- } else {
7600
- this.checkUnreserved(node$2.imported);
7601
- node$2.local = node$2.imported;
7602
- }
7603
- this.checkLValSimple(node$2.local, BIND_LEXICAL);
7604
- nodes.push(this.finishNode(node$2, "ImportSpecifier"));
7655
+ nodes.push(this.parseImportSpecifier());
7605
7656
  }
7606
7657
  return nodes
7607
7658
  };
@@ -7774,7 +7825,7 @@ module.exports = {
7774
7825
  return this.parseIdent()
7775
7826
  };
7776
7827
 
7777
- pp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma) {
7828
+ pp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowModifiers) {
7778
7829
  var elts = [], first = true;
7779
7830
  while (!this.eat(close)) {
7780
7831
  if (first) { first = false; }
@@ -7787,18 +7838,22 @@ module.exports = {
7787
7838
  var rest = this.parseRestBinding();
7788
7839
  this.parseBindingListItem(rest);
7789
7840
  elts.push(rest);
7790
- if (this.type === types$1.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
7841
+ if (this.type === types$1.comma) { this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"); }
7791
7842
  this.expect(close);
7792
7843
  break
7793
7844
  } else {
7794
- var elem = this.parseMaybeDefault(this.start, this.startLoc);
7795
- this.parseBindingListItem(elem);
7796
- elts.push(elem);
7845
+ elts.push(this.parseAssignableListItem(allowModifiers));
7797
7846
  }
7798
7847
  }
7799
7848
  return elts
7800
7849
  };
7801
7850
 
7851
+ pp$7.parseAssignableListItem = function(allowModifiers) {
7852
+ var elem = this.parseMaybeDefault(this.start, this.startLoc);
7853
+ this.parseBindingListItem(elem);
7854
+ return elem
7855
+ };
7856
+
7802
7857
  pp$7.parseBindingListItem = function(param) {
7803
7858
  return param
7804
7859
  };
@@ -7964,6 +8019,9 @@ module.exports = {
7964
8019
  };
7965
8020
 
7966
8021
  // The algorithm used to determine whether a regexp can appear at a
8022
+ // given point in the program is loosely based on sweet.js' approach.
8023
+ // See https://github.com/mozilla/sweet.js/wiki/design
8024
+
7967
8025
 
7968
8026
  var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {
7969
8027
  this.token = token;
@@ -8036,7 +8094,7 @@ module.exports = {
8036
8094
  { this.exprAllowed = type.beforeExpr; }
8037
8095
  };
8038
8096
 
8039
- // Used to handle egde cases when token context could not be inferred correctly during tokenization phase
8097
+ // Used to handle edge cases when token context could not be inferred correctly during tokenization phase
8040
8098
 
8041
8099
  pp$6.overrideContext = function(tokenCtx) {
8042
8100
  if (this.curContext() !== tokenCtx) {
@@ -8089,6 +8147,11 @@ module.exports = {
8089
8147
  this.exprAllowed = false;
8090
8148
  };
8091
8149
 
8150
+ types$1.colon.updateContext = function() {
8151
+ if (this.curContext().token === "function") { this.context.pop(); }
8152
+ this.exprAllowed = true;
8153
+ };
8154
+
8092
8155
  types$1.backQuote.updateContext = function() {
8093
8156
  if (this.curContext() === types.q_tmpl)
8094
8157
  { this.context.pop(); }
@@ -8119,6 +8182,23 @@ module.exports = {
8119
8182
  };
8120
8183
 
8121
8184
  // A recursive descent parser operates by defining functions for all
8185
+ // syntactic elements, and recursively calling those, each function
8186
+ // advancing the input stream and returning an AST node. Precedence
8187
+ // of constructs (for example, the fact that `!x[1]` means `!(x[1])`
8188
+ // instead of `(!x)[1]` is handled by the fact that the parser
8189
+ // function that parses unary prefix operators is called first, and
8190
+ // in turn calls the function that parses `[]` subscripts — that
8191
+ // way, it'll receive the node for `x[1]` already parsed, and wraps
8192
+ // *that* in the unary operator node.
8193
+ //
8194
+ // Acorn uses an [operator precedence parser][opp] to handle binary
8195
+ // operator precedence, because it is much more compact than using
8196
+ // the technique outlined above, which uses different, nesting
8197
+ // functions to specify precedence, for all of the ten binary
8198
+ // precedence levels that JavaScript defines.
8199
+ //
8200
+ // [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser
8201
+
8122
8202
 
8123
8203
  var pp$5 = Parser.prototype;
8124
8204
 
@@ -8348,7 +8428,7 @@ module.exports = {
8348
8428
  else { sawUnary = true; }
8349
8429
  expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
8350
8430
  } else if (!sawUnary && this.type === types$1.privateId) {
8351
- if (forInit || this.privateNameStack.length === 0) { this.unexpected(); }
8431
+ if ((forInit || this.privateNameStack.length === 0) && this.options.checkPrivateFields) { this.unexpected(); }
8352
8432
  expr = this.parsePrivateIdent();
8353
8433
  // only could be private fields in 'in', such as #x in obj
8354
8434
  if (this.type !== types$1._in) { this.unexpected(); }
@@ -8422,6 +8502,14 @@ module.exports = {
8422
8502
  }
8423
8503
  };
8424
8504
 
8505
+ pp$5.shouldParseAsyncArrow = function() {
8506
+ return !this.canInsertSemicolon() && this.eat(types$1.arrow)
8507
+ };
8508
+
8509
+ pp$5.parseSubscriptAsyncArrow = function(startPos, startLoc, exprList, forInit) {
8510
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true, forInit)
8511
+ };
8512
+
8425
8513
  pp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit) {
8426
8514
  var optionalSupported = this.options.ecmaVersion >= 11;
8427
8515
  var optional = optionalSupported && this.eat(types$1.questionDot);
@@ -8450,7 +8538,7 @@ module.exports = {
8450
8538
  this.awaitPos = 0;
8451
8539
  this.awaitIdentPos = 0;
8452
8540
  var exprList = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors);
8453
- if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types$1.arrow)) {
8541
+ if (maybeAsyncArrow && !optional && this.shouldParseAsyncArrow()) {
8454
8542
  this.checkPatternErrors(refDestructuringErrors, false);
8455
8543
  this.checkYieldAwaitInDefaultParams();
8456
8544
  if (this.awaitIdentPos > 0)
@@ -8458,7 +8546,7 @@ module.exports = {
8458
8546
  this.yieldPos = oldYieldPos;
8459
8547
  this.awaitPos = oldAwaitPos;
8460
8548
  this.awaitIdentPos = oldAwaitIdentPos;
8461
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true, forInit)
8549
+ return this.parseSubscriptAsyncArrow(startPos, startLoc, exprList, forInit)
8462
8550
  }
8463
8551
  this.checkExpressionErrors(refDestructuringErrors, true);
8464
8552
  this.yieldPos = oldYieldPos || this.yieldPos;
@@ -8488,7 +8576,7 @@ module.exports = {
8488
8576
  // `new`, or an expression wrapped in punctuation like `()`, `[]`,
8489
8577
  // or `{}`.
8490
8578
 
8491
- pp$5.parseExprAtom = function(refDestructuringErrors, forInit) {
8579
+ pp$5.parseExprAtom = function(refDestructuringErrors, forInit, forNew) {
8492
8580
  // If a division operator appears in an expression position, the
8493
8581
  // tokenizer got confused, and we force it to read a regexp instead.
8494
8582
  if (this.type === types$1.slash) { this.readRegexp(); }
@@ -8589,31 +8677,36 @@ module.exports = {
8589
8677
 
8590
8678
  case types$1._import:
8591
8679
  if (this.options.ecmaVersion >= 11) {
8592
- return this.parseExprImport()
8680
+ return this.parseExprImport(forNew)
8593
8681
  } else {
8594
8682
  return this.unexpected()
8595
8683
  }
8596
8684
 
8597
8685
  default:
8598
- this.unexpected();
8686
+ return this.parseExprAtomDefault()
8599
8687
  }
8600
8688
  };
8601
8689
 
8602
- pp$5.parseExprImport = function() {
8690
+ pp$5.parseExprAtomDefault = function() {
8691
+ this.unexpected();
8692
+ };
8693
+
8694
+ pp$5.parseExprImport = function(forNew) {
8603
8695
  var node = this.startNode();
8604
8696
 
8605
8697
  // Consume `import` as an identifier for `import.meta`.
8606
8698
  // Because `this.parseIdent(true)` doesn't check escape sequences, it needs the check of `this.containsEsc`.
8607
8699
  if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword import"); }
8608
- var meta = this.parseIdent(true);
8700
+ this.next();
8609
8701
 
8610
- switch (this.type) {
8611
- case types$1.parenL:
8702
+ if (this.type === types$1.parenL && !forNew) {
8612
8703
  return this.parseDynamicImport(node)
8613
- case types$1.dot:
8614
- node.meta = meta;
8704
+ } else if (this.type === types$1.dot) {
8705
+ var meta = this.startNodeAt(node.start, node.loc && node.loc.start);
8706
+ meta.name = "import";
8707
+ node.meta = this.finishNode(meta, "Identifier");
8615
8708
  return this.parseImportMeta(node)
8616
- default:
8709
+ } else {
8617
8710
  this.unexpected();
8618
8711
  }
8619
8712
  };
@@ -8669,6 +8762,10 @@ module.exports = {
8669
8762
  return val
8670
8763
  };
8671
8764
 
8765
+ pp$5.shouldParseArrow = function(exprList) {
8766
+ return !this.canInsertSemicolon()
8767
+ };
8768
+
8672
8769
  pp$5.parseParenAndDistinguishExpression = function(canBeArrow, forInit) {
8673
8770
  var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;
8674
8771
  if (this.options.ecmaVersion >= 6) {
@@ -8688,7 +8785,12 @@ module.exports = {
8688
8785
  } else if (this.type === types$1.ellipsis) {
8689
8786
  spreadStart = this.start;
8690
8787
  exprList.push(this.parseParenItem(this.parseRestBinding()));
8691
- if (this.type === types$1.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
8788
+ if (this.type === types$1.comma) {
8789
+ this.raiseRecoverable(
8790
+ this.start,
8791
+ "Comma is not permitted after the rest element"
8792
+ );
8793
+ }
8692
8794
  break
8693
8795
  } else {
8694
8796
  exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));
@@ -8697,7 +8799,7 @@ module.exports = {
8697
8799
  var innerEndPos = this.lastTokEnd, innerEndLoc = this.lastTokEndLoc;
8698
8800
  this.expect(types$1.parenR);
8699
8801
 
8700
- if (canBeArrow && !this.canInsertSemicolon() && this.eat(types$1.arrow)) {
8802
+ if (canBeArrow && this.shouldParseArrow(exprList) && this.eat(types$1.arrow)) {
8701
8803
  this.checkPatternErrors(refDestructuringErrors, false);
8702
8804
  this.checkYieldAwaitInDefaultParams();
8703
8805
  this.yieldPos = oldYieldPos;
@@ -8750,9 +8852,12 @@ module.exports = {
8750
8852
  pp$5.parseNew = function() {
8751
8853
  if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword new"); }
8752
8854
  var node = this.startNode();
8753
- var meta = this.parseIdent(true);
8754
- if (this.options.ecmaVersion >= 6 && this.eat(types$1.dot)) {
8755
- node.meta = meta;
8855
+ this.next();
8856
+ if (this.options.ecmaVersion >= 6 && this.type === types$1.dot) {
8857
+ var meta = this.startNodeAt(node.start, node.loc && node.loc.start);
8858
+ meta.name = "new";
8859
+ node.meta = this.finishNode(meta, "Identifier");
8860
+ this.next();
8756
8861
  var containsEsc = this.containsEsc;
8757
8862
  node.property = this.parseIdent(true);
8758
8863
  if (node.property.name !== "target")
@@ -8763,11 +8868,8 @@ module.exports = {
8763
8868
  { this.raiseRecoverable(node.start, "'new.target' can only be used in functions and class static block"); }
8764
8869
  return this.finishNode(node, "MetaProperty")
8765
8870
  }
8766
- var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types$1._import;
8767
- node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true, false);
8768
- if (isImport && node.callee.type === "ImportExpression") {
8769
- this.raise(startPos, "Cannot use new with import()");
8770
- }
8871
+ var startPos = this.start, startLoc = this.startLoc;
8872
+ node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
8771
8873
  if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
8772
8874
  else { node.arguments = empty; }
8773
8875
  return this.finishNode(node, "NewExpression")
@@ -8849,7 +8951,7 @@ module.exports = {
8849
8951
  if (isPattern) {
8850
8952
  prop.argument = this.parseIdent(false);
8851
8953
  if (this.type === types$1.comma) {
8852
- this.raise(this.start, "Comma is not permitted after the rest element");
8954
+ this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
8853
8955
  }
8854
8956
  return this.finishNode(prop, "RestElement")
8855
8957
  }
@@ -8877,7 +8979,7 @@ module.exports = {
8877
8979
  if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {
8878
8980
  isAsync = true;
8879
8981
  isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star);
8880
- this.parsePropertyName(prop, refDestructuringErrors);
8982
+ this.parsePropertyName(prop);
8881
8983
  } else {
8882
8984
  isAsync = false;
8883
8985
  }
@@ -8885,6 +8987,23 @@ module.exports = {
8885
8987
  return this.finishNode(prop, "Property")
8886
8988
  };
8887
8989
 
8990
+ pp$5.parseGetterSetter = function(prop) {
8991
+ prop.kind = prop.key.name;
8992
+ this.parsePropertyName(prop);
8993
+ prop.value = this.parseMethod(false);
8994
+ var paramCount = prop.kind === "get" ? 0 : 1;
8995
+ if (prop.value.params.length !== paramCount) {
8996
+ var start = prop.value.start;
8997
+ if (prop.kind === "get")
8998
+ { this.raiseRecoverable(start, "getter should have no params"); }
8999
+ else
9000
+ { this.raiseRecoverable(start, "setter should have exactly one param"); }
9001
+ } else {
9002
+ if (prop.kind === "set" && prop.value.params[0].type === "RestElement")
9003
+ { this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params"); }
9004
+ }
9005
+ };
9006
+
8888
9007
  pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {
8889
9008
  if ((isGenerator || isAsync) && this.type === types$1.colon)
8890
9009
  { this.unexpected(); }
@@ -8902,20 +9021,7 @@ module.exports = {
8902
9021
  (prop.key.name === "get" || prop.key.name === "set") &&
8903
9022
  (this.type !== types$1.comma && this.type !== types$1.braceR && this.type !== types$1.eq)) {
8904
9023
  if (isGenerator || isAsync) { this.unexpected(); }
8905
- prop.kind = prop.key.name;
8906
- this.parsePropertyName(prop);
8907
- prop.value = this.parseMethod(false);
8908
- var paramCount = prop.kind === "get" ? 0 : 1;
8909
- if (prop.value.params.length !== paramCount) {
8910
- var start = prop.value.start;
8911
- if (prop.kind === "get")
8912
- { this.raiseRecoverable(start, "getter should have no params"); }
8913
- else
8914
- { this.raiseRecoverable(start, "setter should have exactly one param"); }
8915
- } else {
8916
- if (prop.kind === "set" && prop.value.params[0].type === "RestElement")
8917
- { this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params"); }
8918
- }
9024
+ this.parseGetterSetter(prop);
8919
9025
  } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") {
8920
9026
  if (isGenerator || isAsync) { this.unexpected(); }
8921
9027
  this.checkUnreserved(prop.key);
@@ -9126,7 +9232,19 @@ module.exports = {
9126
9232
  // when parsing properties), it will also convert keywords into
9127
9233
  // identifiers.
9128
9234
 
9129
- pp$5.parseIdent = function(liberal, isBinding) {
9235
+ pp$5.parseIdent = function(liberal) {
9236
+ var node = this.parseIdentNode();
9237
+ this.next(!!liberal);
9238
+ this.finishNode(node, "Identifier");
9239
+ if (!liberal) {
9240
+ this.checkUnreserved(node);
9241
+ if (node.name === "await" && !this.awaitIdentPos)
9242
+ { this.awaitIdentPos = node.start; }
9243
+ }
9244
+ return node
9245
+ };
9246
+
9247
+ pp$5.parseIdentNode = function() {
9130
9248
  var node = this.startNode();
9131
9249
  if (this.type === types$1.name) {
9132
9250
  node.name = this.value;
@@ -9138,19 +9256,13 @@ module.exports = {
9138
9256
  // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.
9139
9257
  // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword
9140
9258
  if ((node.name === "class" || node.name === "function") &&
9141
- (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {
9259
+ (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {
9142
9260
  this.context.pop();
9143
9261
  }
9262
+ this.type = types$1.name;
9144
9263
  } else {
9145
9264
  this.unexpected();
9146
9265
  }
9147
- this.next(!!liberal);
9148
- this.finishNode(node, "Identifier");
9149
- if (!liberal) {
9150
- this.checkUnreserved(node);
9151
- if (node.name === "await" && !this.awaitIdentPos)
9152
- { this.awaitIdentPos = node.start; }
9153
- }
9154
9266
  return node
9155
9267
  };
9156
9268
 
@@ -9165,10 +9277,12 @@ module.exports = {
9165
9277
  this.finishNode(node, "PrivateIdentifier");
9166
9278
 
9167
9279
  // For validating existence
9168
- if (this.privateNameStack.length === 0) {
9169
- this.raise(node.start, ("Private field '#" + (node.name) + "' must be declared in an enclosing class"));
9170
- } else {
9171
- this.privateNameStack[this.privateNameStack.length - 1].used.push(node);
9280
+ if (this.options.checkPrivateFields) {
9281
+ if (this.privateNameStack.length === 0) {
9282
+ this.raise(node.start, ("Private field '#" + (node.name) + "' must be declared in an enclosing class"));
9283
+ } else {
9284
+ this.privateNameStack[this.privateNameStack.length - 1].used.push(node);
9285
+ }
9172
9286
  }
9173
9287
 
9174
9288
  return node
@@ -9369,8 +9483,8 @@ module.exports = {
9369
9483
  return newNode
9370
9484
  };
9371
9485
 
9372
- // This file contains Unicode properties extracted from the ECMAScript
9373
- // specification. The lists are extracted like so:
9486
+ // This file contains Unicode properties extracted from the ECMAScript specification.
9487
+ // The lists are extracted like so:
9374
9488
  // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
9375
9489
 
9376
9490
  // #table-binary-unicode-properties
@@ -9379,12 +9493,27 @@ module.exports = {
9379
9493
  var ecma11BinaryProperties = ecma10BinaryProperties;
9380
9494
  var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict";
9381
9495
  var ecma13BinaryProperties = ecma12BinaryProperties;
9496
+ var ecma14BinaryProperties = ecma13BinaryProperties;
9497
+
9382
9498
  var unicodeBinaryProperties = {
9383
9499
  9: ecma9BinaryProperties,
9384
9500
  10: ecma10BinaryProperties,
9385
9501
  11: ecma11BinaryProperties,
9386
9502
  12: ecma12BinaryProperties,
9387
- 13: ecma13BinaryProperties
9503
+ 13: ecma13BinaryProperties,
9504
+ 14: ecma14BinaryProperties
9505
+ };
9506
+
9507
+ // #table-binary-unicode-properties-of-strings
9508
+ var ecma14BinaryPropertiesOfStrings = "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji";
9509
+
9510
+ var unicodeBinaryPropertiesOfStrings = {
9511
+ 9: "",
9512
+ 10: "",
9513
+ 11: "",
9514
+ 12: "",
9515
+ 13: "",
9516
+ 14: ecma14BinaryPropertiesOfStrings
9388
9517
  };
9389
9518
 
9390
9519
  // #table-unicode-general-category-values
@@ -9396,18 +9525,22 @@ module.exports = {
9396
9525
  var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
9397
9526
  var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
9398
9527
  var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
9528
+ var ecma14ScriptValues = ecma13ScriptValues + " Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz";
9529
+
9399
9530
  var unicodeScriptValues = {
9400
9531
  9: ecma9ScriptValues,
9401
9532
  10: ecma10ScriptValues,
9402
9533
  11: ecma11ScriptValues,
9403
9534
  12: ecma12ScriptValues,
9404
- 13: ecma13ScriptValues
9535
+ 13: ecma13ScriptValues,
9536
+ 14: ecma14ScriptValues
9405
9537
  };
9406
9538
 
9407
9539
  var data = {};
9408
9540
  function buildUnicodeData(ecmaVersion) {
9409
9541
  var d = data[ecmaVersion] = {
9410
9542
  binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + " " + unicodeGeneralCategoryValues),
9543
+ binaryOfStrings: wordsRegexp(unicodeBinaryPropertiesOfStrings[ecmaVersion]),
9411
9544
  nonBinary: {
9412
9545
  General_Category: wordsRegexp(unicodeGeneralCategoryValues),
9413
9546
  Script: wordsRegexp(unicodeScriptValues[ecmaVersion])
@@ -9420,7 +9553,7 @@ module.exports = {
9420
9553
  d.nonBinary.scx = d.nonBinary.Script_Extensions;
9421
9554
  }
9422
9555
 
9423
- for (var i = 0, list = [9, 10, 11, 12, 13]; i < list.length; i += 1) {
9556
+ for (var i = 0, list = [9, 10, 11, 12, 13, 14]; i < list.length; i += 1) {
9424
9557
  var ecmaVersion = list[i];
9425
9558
 
9426
9559
  buildUnicodeData(ecmaVersion);
@@ -9430,12 +9563,13 @@ module.exports = {
9430
9563
 
9431
9564
  var RegExpValidationState = function RegExpValidationState(parser) {
9432
9565
  this.parser = parser;
9433
- this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "");
9434
- this.unicodeProperties = data[parser.options.ecmaVersion >= 13 ? 13 : parser.options.ecmaVersion];
9566
+ this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "") + (parser.options.ecmaVersion >= 15 ? "v" : "");
9567
+ this.unicodeProperties = data[parser.options.ecmaVersion >= 14 ? 14 : parser.options.ecmaVersion];
9435
9568
  this.source = "";
9436
9569
  this.flags = "";
9437
9570
  this.start = 0;
9438
9571
  this.switchU = false;
9572
+ this.switchV = false;
9439
9573
  this.switchN = false;
9440
9574
  this.pos = 0;
9441
9575
  this.lastIntValue = 0;
@@ -9448,12 +9582,20 @@ module.exports = {
9448
9582
  };
9449
9583
 
9450
9584
  RegExpValidationState.prototype.reset = function reset (start, pattern, flags) {
9585
+ var unicodeSets = flags.indexOf("v") !== -1;
9451
9586
  var unicode = flags.indexOf("u") !== -1;
9452
9587
  this.start = start | 0;
9453
9588
  this.source = pattern + "";
9454
9589
  this.flags = flags;
9455
- this.switchU = unicode && this.parser.options.ecmaVersion >= 6;
9456
- this.switchN = unicode && this.parser.options.ecmaVersion >= 9;
9590
+ if (unicodeSets && this.parser.options.ecmaVersion >= 15) {
9591
+ this.switchU = true;
9592
+ this.switchV = true;
9593
+ this.switchN = true;
9594
+ } else {
9595
+ this.switchU = unicode && this.parser.options.ecmaVersion >= 6;
9596
+ this.switchV = false;
9597
+ this.switchN = unicode && this.parser.options.ecmaVersion >= 9;
9598
+ }
9457
9599
  };
9458
9600
 
9459
9601
  RegExpValidationState.prototype.raise = function raise (message) {
@@ -9522,6 +9664,23 @@ module.exports = {
9522
9664
  return false
9523
9665
  };
9524
9666
 
9667
+ RegExpValidationState.prototype.eatChars = function eatChars (chs, forceU) {
9668
+ if ( forceU === void 0 ) forceU = false;
9669
+
9670
+ var pos = this.pos;
9671
+ for (var i = 0, list = chs; i < list.length; i += 1) {
9672
+ var ch = list[i];
9673
+
9674
+ var current = this.at(pos, forceU);
9675
+ if (current === -1 || current !== ch) {
9676
+ return false
9677
+ }
9678
+ pos = this.nextIndex(pos, forceU);
9679
+ }
9680
+ this.pos = pos;
9681
+ return true
9682
+ };
9683
+
9525
9684
  /**
9526
9685
  * Validate the flags part of a given RegExpLiteral.
9527
9686
  *
@@ -9532,6 +9691,9 @@ module.exports = {
9532
9691
  var validFlags = state.validFlags;
9533
9692
  var flags = state.flags;
9534
9693
 
9694
+ var u = false;
9695
+ var v = false;
9696
+
9535
9697
  for (var i = 0; i < flags.length; i++) {
9536
9698
  var flag = flags.charAt(i);
9537
9699
  if (validFlags.indexOf(flag) === -1) {
@@ -9540,6 +9702,11 @@ module.exports = {
9540
9702
  if (flags.indexOf(flag, i + 1) > -1) {
9541
9703
  this.raise(state.start, "Duplicate regular expression flag");
9542
9704
  }
9705
+ if (flag === "u") { u = true; }
9706
+ if (flag === "v") { v = true; }
9707
+ }
9708
+ if (this.options.ecmaVersion >= 15 && u && v) {
9709
+ this.raise(state.start, "Invalid regular expression flag");
9543
9710
  }
9544
9711
  };
9545
9712
 
@@ -10158,6 +10325,12 @@ module.exports = {
10158
10325
  return false
10159
10326
  };
10160
10327
 
10328
+ // Return values used by character set parsing methods, needed to
10329
+ // forbid negation of sets that can match strings.
10330
+ var CharSetNone = 0; // Nothing parsed
10331
+ var CharSetOk = 1; // Construct parsed, cannot contain strings
10332
+ var CharSetString = 2; // Construct parsed, can contain strings
10333
+
10161
10334
  // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape
10162
10335
  pp$1.regexp_eatCharacterClassEscape = function(state) {
10163
10336
  var ch = state.current();
@@ -10165,28 +10338,32 @@ module.exports = {
10165
10338
  if (isCharacterClassEscape(ch)) {
10166
10339
  state.lastIntValue = -1;
10167
10340
  state.advance();
10168
- return true
10341
+ return CharSetOk
10169
10342
  }
10170
10343
 
10344
+ var negate = false;
10171
10345
  if (
10172
10346
  state.switchU &&
10173
10347
  this.options.ecmaVersion >= 9 &&
10174
- (ch === 0x50 /* P */ || ch === 0x70 /* p */)
10348
+ ((negate = ch === 0x50 /* P */) || ch === 0x70 /* p */)
10175
10349
  ) {
10176
10350
  state.lastIntValue = -1;
10177
10351
  state.advance();
10352
+ var result;
10178
10353
  if (
10179
10354
  state.eat(0x7B /* { */) &&
10180
- this.regexp_eatUnicodePropertyValueExpression(state) &&
10355
+ (result = this.regexp_eatUnicodePropertyValueExpression(state)) &&
10181
10356
  state.eat(0x7D /* } */)
10182
10357
  ) {
10183
- return true
10358
+ if (negate && result === CharSetString) { state.raise("Invalid property name"); }
10359
+ return result
10184
10360
  }
10185
10361
  state.raise("Invalid property name");
10186
10362
  }
10187
10363
 
10188
- return false
10364
+ return CharSetNone
10189
10365
  };
10366
+
10190
10367
  function isCharacterClassEscape(ch) {
10191
10368
  return (
10192
10369
  ch === 0x64 /* d */ ||
@@ -10210,7 +10387,7 @@ module.exports = {
10210
10387
  if (this.regexp_eatUnicodePropertyValue(state)) {
10211
10388
  var value = state.lastStringValue;
10212
10389
  this.regexp_validateUnicodePropertyNameAndValue(state, name, value);
10213
- return true
10390
+ return CharSetOk
10214
10391
  }
10215
10392
  }
10216
10393
  state.pos = start;
@@ -10218,20 +10395,22 @@ module.exports = {
10218
10395
  // LoneUnicodePropertyNameOrValue
10219
10396
  if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {
10220
10397
  var nameOrValue = state.lastStringValue;
10221
- this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue);
10222
- return true
10398
+ return this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue)
10223
10399
  }
10224
- return false
10400
+ return CharSetNone
10225
10401
  };
10402
+
10226
10403
  pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
10227
10404
  if (!hasOwn(state.unicodeProperties.nonBinary, name))
10228
10405
  { state.raise("Invalid property name"); }
10229
10406
  if (!state.unicodeProperties.nonBinary[name].test(value))
10230
10407
  { state.raise("Invalid property value"); }
10231
10408
  };
10409
+
10232
10410
  pp$1.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
10233
- if (!state.unicodeProperties.binary.test(nameOrValue))
10234
- { state.raise("Invalid property name"); }
10411
+ if (state.unicodeProperties.binary.test(nameOrValue)) { return CharSetOk }
10412
+ if (state.switchV && state.unicodeProperties.binaryOfStrings.test(nameOrValue)) { return CharSetString }
10413
+ state.raise("Invalid property name");
10235
10414
  };
10236
10415
 
10237
10416
  // UnicodePropertyName ::
@@ -10245,6 +10424,7 @@ module.exports = {
10245
10424
  }
10246
10425
  return state.lastStringValue !== ""
10247
10426
  };
10427
+
10248
10428
  function isUnicodePropertyNameCharacter(ch) {
10249
10429
  return isControlLetter(ch) || ch === 0x5F /* _ */
10250
10430
  }
@@ -10273,21 +10453,29 @@ module.exports = {
10273
10453
  // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass
10274
10454
  pp$1.regexp_eatCharacterClass = function(state) {
10275
10455
  if (state.eat(0x5B /* [ */)) {
10276
- state.eat(0x5E /* ^ */);
10277
- this.regexp_classRanges(state);
10278
- if (state.eat(0x5D /* ] */)) {
10279
- return true
10280
- }
10281
- // Unreachable since it threw "unterminated regular expression" error before.
10282
- state.raise("Unterminated character class");
10456
+ var negate = state.eat(0x5E /* ^ */);
10457
+ var result = this.regexp_classContents(state);
10458
+ if (!state.eat(0x5D /* ] */))
10459
+ { state.raise("Unterminated character class"); }
10460
+ if (negate && result === CharSetString)
10461
+ { state.raise("Negated character class may contain strings"); }
10462
+ return true
10283
10463
  }
10284
10464
  return false
10285
10465
  };
10286
10466
 
10467
+ // https://tc39.es/ecma262/#prod-ClassContents
10287
10468
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges
10469
+ pp$1.regexp_classContents = function(state) {
10470
+ if (state.current() === 0x5D /* ] */) { return CharSetOk }
10471
+ if (state.switchV) { return this.regexp_classSetExpression(state) }
10472
+ this.regexp_nonEmptyClassRanges(state);
10473
+ return CharSetOk
10474
+ };
10475
+
10288
10476
  // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges
10289
10477
  // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash
10290
- pp$1.regexp_classRanges = function(state) {
10478
+ pp$1.regexp_nonEmptyClassRanges = function(state) {
10291
10479
  while (this.regexp_eatClassAtom(state)) {
10292
10480
  var left = state.lastIntValue;
10293
10481
  if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {
@@ -10359,6 +10547,205 @@ module.exports = {
10359
10547
  )
10360
10548
  };
10361
10549
 
10550
+ // https://tc39.es/ecma262/#prod-ClassSetExpression
10551
+ // https://tc39.es/ecma262/#prod-ClassUnion
10552
+ // https://tc39.es/ecma262/#prod-ClassIntersection
10553
+ // https://tc39.es/ecma262/#prod-ClassSubtraction
10554
+ pp$1.regexp_classSetExpression = function(state) {
10555
+ var result = CharSetOk, subResult;
10556
+ if (this.regexp_eatClassSetRange(state)) ; else if (subResult = this.regexp_eatClassSetOperand(state)) {
10557
+ if (subResult === CharSetString) { result = CharSetString; }
10558
+ // https://tc39.es/ecma262/#prod-ClassIntersection
10559
+ var start = state.pos;
10560
+ while (state.eatChars([0x26, 0x26] /* && */)) {
10561
+ if (
10562
+ state.current() !== 0x26 /* & */ &&
10563
+ (subResult = this.regexp_eatClassSetOperand(state))
10564
+ ) {
10565
+ if (subResult !== CharSetString) { result = CharSetOk; }
10566
+ continue
10567
+ }
10568
+ state.raise("Invalid character in character class");
10569
+ }
10570
+ if (start !== state.pos) { return result }
10571
+ // https://tc39.es/ecma262/#prod-ClassSubtraction
10572
+ while (state.eatChars([0x2D, 0x2D] /* -- */)) {
10573
+ if (this.regexp_eatClassSetOperand(state)) { continue }
10574
+ state.raise("Invalid character in character class");
10575
+ }
10576
+ if (start !== state.pos) { return result }
10577
+ } else {
10578
+ state.raise("Invalid character in character class");
10579
+ }
10580
+ // https://tc39.es/ecma262/#prod-ClassUnion
10581
+ for (;;) {
10582
+ if (this.regexp_eatClassSetRange(state)) { continue }
10583
+ subResult = this.regexp_eatClassSetOperand(state);
10584
+ if (!subResult) { return result }
10585
+ if (subResult === CharSetString) { result = CharSetString; }
10586
+ }
10587
+ };
10588
+
10589
+ // https://tc39.es/ecma262/#prod-ClassSetRange
10590
+ pp$1.regexp_eatClassSetRange = function(state) {
10591
+ var start = state.pos;
10592
+ if (this.regexp_eatClassSetCharacter(state)) {
10593
+ var left = state.lastIntValue;
10594
+ if (state.eat(0x2D /* - */) && this.regexp_eatClassSetCharacter(state)) {
10595
+ var right = state.lastIntValue;
10596
+ if (left !== -1 && right !== -1 && left > right) {
10597
+ state.raise("Range out of order in character class");
10598
+ }
10599
+ return true
10600
+ }
10601
+ state.pos = start;
10602
+ }
10603
+ return false
10604
+ };
10605
+
10606
+ // https://tc39.es/ecma262/#prod-ClassSetOperand
10607
+ pp$1.regexp_eatClassSetOperand = function(state) {
10608
+ if (this.regexp_eatClassSetCharacter(state)) { return CharSetOk }
10609
+ return this.regexp_eatClassStringDisjunction(state) || this.regexp_eatNestedClass(state)
10610
+ };
10611
+
10612
+ // https://tc39.es/ecma262/#prod-NestedClass
10613
+ pp$1.regexp_eatNestedClass = function(state) {
10614
+ var start = state.pos;
10615
+ if (state.eat(0x5B /* [ */)) {
10616
+ var negate = state.eat(0x5E /* ^ */);
10617
+ var result = this.regexp_classContents(state);
10618
+ if (state.eat(0x5D /* ] */)) {
10619
+ if (negate && result === CharSetString) {
10620
+ state.raise("Negated character class may contain strings");
10621
+ }
10622
+ return result
10623
+ }
10624
+ state.pos = start;
10625
+ }
10626
+ if (state.eat(0x5C /* \ */)) {
10627
+ var result$1 = this.regexp_eatCharacterClassEscape(state);
10628
+ if (result$1) {
10629
+ return result$1
10630
+ }
10631
+ state.pos = start;
10632
+ }
10633
+ return null
10634
+ };
10635
+
10636
+ // https://tc39.es/ecma262/#prod-ClassStringDisjunction
10637
+ pp$1.regexp_eatClassStringDisjunction = function(state) {
10638
+ var start = state.pos;
10639
+ if (state.eatChars([0x5C, 0x71] /* \q */)) {
10640
+ if (state.eat(0x7B /* { */)) {
10641
+ var result = this.regexp_classStringDisjunctionContents(state);
10642
+ if (state.eat(0x7D /* } */)) {
10643
+ return result
10644
+ }
10645
+ } else {
10646
+ // Make the same message as V8.
10647
+ state.raise("Invalid escape");
10648
+ }
10649
+ state.pos = start;
10650
+ }
10651
+ return null
10652
+ };
10653
+
10654
+ // https://tc39.es/ecma262/#prod-ClassStringDisjunctionContents
10655
+ pp$1.regexp_classStringDisjunctionContents = function(state) {
10656
+ var result = this.regexp_classString(state);
10657
+ while (state.eat(0x7C /* | */)) {
10658
+ if (this.regexp_classString(state) === CharSetString) { result = CharSetString; }
10659
+ }
10660
+ return result
10661
+ };
10662
+
10663
+ // https://tc39.es/ecma262/#prod-ClassString
10664
+ // https://tc39.es/ecma262/#prod-NonEmptyClassString
10665
+ pp$1.regexp_classString = function(state) {
10666
+ var count = 0;
10667
+ while (this.regexp_eatClassSetCharacter(state)) { count++; }
10668
+ return count === 1 ? CharSetOk : CharSetString
10669
+ };
10670
+
10671
+ // https://tc39.es/ecma262/#prod-ClassSetCharacter
10672
+ pp$1.regexp_eatClassSetCharacter = function(state) {
10673
+ var start = state.pos;
10674
+ if (state.eat(0x5C /* \ */)) {
10675
+ if (
10676
+ this.regexp_eatCharacterEscape(state) ||
10677
+ this.regexp_eatClassSetReservedPunctuator(state)
10678
+ ) {
10679
+ return true
10680
+ }
10681
+ if (state.eat(0x62 /* b */)) {
10682
+ state.lastIntValue = 0x08; /* <BS> */
10683
+ return true
10684
+ }
10685
+ state.pos = start;
10686
+ return false
10687
+ }
10688
+ var ch = state.current();
10689
+ if (ch < 0 || ch === state.lookahead() && isClassSetReservedDoublePunctuatorCharacter(ch)) { return false }
10690
+ if (isClassSetSyntaxCharacter(ch)) { return false }
10691
+ state.advance();
10692
+ state.lastIntValue = ch;
10693
+ return true
10694
+ };
10695
+
10696
+ // https://tc39.es/ecma262/#prod-ClassSetReservedDoublePunctuator
10697
+ function isClassSetReservedDoublePunctuatorCharacter(ch) {
10698
+ return (
10699
+ ch === 0x21 /* ! */ ||
10700
+ ch >= 0x23 /* # */ && ch <= 0x26 /* & */ ||
10701
+ ch >= 0x2A /* * */ && ch <= 0x2C /* , */ ||
10702
+ ch === 0x2E /* . */ ||
10703
+ ch >= 0x3A /* : */ && ch <= 0x40 /* @ */ ||
10704
+ ch === 0x5E /* ^ */ ||
10705
+ ch === 0x60 /* ` */ ||
10706
+ ch === 0x7E /* ~ */
10707
+ )
10708
+ }
10709
+
10710
+ // https://tc39.es/ecma262/#prod-ClassSetSyntaxCharacter
10711
+ function isClassSetSyntaxCharacter(ch) {
10712
+ return (
10713
+ ch === 0x28 /* ( */ ||
10714
+ ch === 0x29 /* ) */ ||
10715
+ ch === 0x2D /* - */ ||
10716
+ ch === 0x2F /* / */ ||
10717
+ ch >= 0x5B /* [ */ && ch <= 0x5D /* ] */ ||
10718
+ ch >= 0x7B /* { */ && ch <= 0x7D /* } */
10719
+ )
10720
+ }
10721
+
10722
+ // https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator
10723
+ pp$1.regexp_eatClassSetReservedPunctuator = function(state) {
10724
+ var ch = state.current();
10725
+ if (isClassSetReservedPunctuator(ch)) {
10726
+ state.lastIntValue = ch;
10727
+ state.advance();
10728
+ return true
10729
+ }
10730
+ return false
10731
+ };
10732
+
10733
+ // https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator
10734
+ function isClassSetReservedPunctuator(ch) {
10735
+ return (
10736
+ ch === 0x21 /* ! */ ||
10737
+ ch === 0x23 /* # */ ||
10738
+ ch === 0x25 /* % */ ||
10739
+ ch === 0x26 /* & */ ||
10740
+ ch === 0x2C /* , */ ||
10741
+ ch === 0x2D /* - */ ||
10742
+ ch >= 0x3A /* : */ && ch <= 0x3E /* > */ ||
10743
+ ch === 0x40 /* @ */ ||
10744
+ ch === 0x60 /* ` */ ||
10745
+ ch === 0x7E /* ~ */
10746
+ )
10747
+ }
10748
+
10362
10749
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter
10363
10750
  pp$1.regexp_eatClassControlLetter = function(state) {
10364
10751
  var ch = state.current();
@@ -11193,8 +11580,6 @@ module.exports = {
11193
11580
  codePos,
11194
11581
  "Invalid escape sequence in template string"
11195
11582
  );
11196
-
11197
- return null
11198
11583
  }
11199
11584
  default:
11200
11585
  if (ch >= 48 && ch <= 55) {
@@ -11281,8 +11666,23 @@ module.exports = {
11281
11666
  };
11282
11667
 
11283
11668
  // Acorn is a tiny, fast JavaScript parser written in JavaScript.
11669
+ //
11670
+ // Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and
11671
+ // various contributors and released under an MIT license.
11672
+ //
11673
+ // Git repositories for Acorn are available at
11674
+ //
11675
+ // http://marijnhaverbeke.nl/git/acorn
11676
+ // https://github.com/acornjs/acorn.git
11677
+ //
11678
+ // Please use the [github bug tracker][ghbt] to report issues.
11679
+ //
11680
+ // [ghbt]: https://github.com/acornjs/acorn/issues
11681
+ //
11682
+ // [walk]: util/walk.js
11284
11683
 
11285
- var version = "8.8.0";
11684
+
11685
+ var version = "8.11.3";
11286
11686
 
11287
11687
  Parser.acorn = {
11288
11688
  Parser: Parser,
@@ -11307,11 +11707,10 @@ module.exports = {
11307
11707
  };
11308
11708
 
11309
11709
  // The main exported interface (under `self.acorn` when in the
11310
- // browser) is a `parse` function that takes a code string and
11311
- // returns an abstract syntax tree as specified by [Mozilla parser
11312
- // API][api].
11710
+ // browser) is a `parse` function that takes a code string and returns
11711
+ // an abstract syntax tree as specified by the [ESTree spec][estree].
11313
11712
  //
11314
- // [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
11713
+ // [estree]: https://github.com/estree/estree
11315
11714
 
11316
11715
  function parse(input, options) {
11317
11716
  return Parser.parse(input, options)
@@ -11355,8 +11754,6 @@ module.exports = {
11355
11754
  exports.tokenizer = tokenizer;
11356
11755
  exports.version = version;
11357
11756
 
11358
- Object.defineProperty(exports, '__esModule', { value: true });
11359
-
11360
11757
  }));
11361
11758
 
11362
11759
 
@@ -11456,119 +11853,6 @@ AnchorWithContext.getHref = getHref;
11456
11853
 
11457
11854
  /***/ }),
11458
11855
 
11459
- /***/ 297:
11460
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11461
-
11462
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11463
- const copy = __webpack_require__(640);
11464
- const PropTypes = __webpack_require__(697);
11465
- const React = __webpack_require__(294);
11466
-
11467
- // Only load CodeMirror in the browser, for SSR
11468
- // apps. Necessary because of people like this:
11469
- // https://github.com/codemirror/CodeMirror/issues/3701#issuecomment-164904534
11470
- let syntaxHighlighter;
11471
- let canonicalLanguage = () => {};
11472
- if (typeof window !== 'undefined') {
11473
- // eslint-disable-next-line global-require
11474
- syntaxHighlighter = (__webpack_require__(253)["default"]);
11475
- // eslint-disable-next-line global-require
11476
- ({
11477
- canonical: canonicalLanguage
11478
- } = __webpack_require__(253));
11479
- }
11480
- function CopyCode({
11481
- codeRef,
11482
- rootClass = 'rdmd-code-copy',
11483
- className = ''
11484
- }) {
11485
- const copyClass = `${rootClass}_copied`;
11486
- const button = React.createRef();
11487
- /* istanbul ignore next */
11488
- const copier = () => {
11489
- const code = codeRef.current.textContent;
11490
- if (copy(code)) {
11491
- const $el = button.current;
11492
- $el.classList.add(copyClass);
11493
- setTimeout(() => $el.classList.remove(copyClass), 1500);
11494
- }
11495
- };
11496
- return /*#__PURE__*/React.createElement("button", {
11497
- ref: button,
11498
- "aria-label": "Copy Code",
11499
- className: `${rootClass} ${className}`,
11500
- onClick: copier
11501
- });
11502
- }
11503
- CopyCode.propTypes = {
11504
- className: PropTypes.string,
11505
- codeRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
11506
- current: PropTypes.instanceOf(React.Element)
11507
- })]).isRequired,
11508
- rootClass: PropTypes.string
11509
- };
11510
- function Code(props) {
11511
- const {
11512
- children,
11513
- className,
11514
- copyButtons,
11515
- lang,
11516
- meta,
11517
- theme
11518
- } = props;
11519
- const langClass = className.search(/lang(?:uage)?-\w+/) >= 0 ? className.match(/\s?lang(?:uage)?-(\w+)/)[1] : '';
11520
- const language = canonicalLanguage(lang) || langClass;
11521
- const codeRef = React.createRef();
11522
- const codeOpts = {
11523
- inline: !lang,
11524
- tokenizeVariables: true,
11525
- dark: theme === 'dark'
11526
- };
11527
- const codeContent = syntaxHighlighter && children ? syntaxHighlighter(children[0], language, codeOpts) : (children === null || children === void 0 ? void 0 : children[0]) || '';
11528
- return /*#__PURE__*/React.createElement(React.Fragment, null, copyButtons && /*#__PURE__*/React.createElement(CopyCode, {
11529
- className: "fa",
11530
- codeRef: codeRef
11531
- }), /*#__PURE__*/React.createElement("code", {
11532
- ref: codeRef,
11533
- className: ['rdmd-code', `lang-${language}`, `theme-${theme}`].join(' '),
11534
- "data-lang": language,
11535
- name: meta,
11536
- suppressHydrationWarning: true
11537
- }, codeContent));
11538
- }
11539
- function CreateCode({
11540
- copyButtons,
11541
- theme
11542
- }) {
11543
- // eslint-disable-next-line react/display-name
11544
- return props => /*#__PURE__*/React.createElement(Code, _extends({}, props, {
11545
- copyButtons: copyButtons,
11546
- theme: theme
11547
- }));
11548
- }
11549
- Code.propTypes = {
11550
- children: PropTypes.arrayOf(PropTypes.string),
11551
- className: PropTypes.string,
11552
- copyButtons: PropTypes.bool,
11553
- lang: PropTypes.string,
11554
- meta: PropTypes.string,
11555
- theme: PropTypes.string
11556
- };
11557
- Code.defaultProps = {
11558
- className: '',
11559
- copyButtons: true,
11560
- lang: '',
11561
- meta: ''
11562
- };
11563
- CreateCode.sanitize = sanitizeSchema => {
11564
- // This is for code blocks class name
11565
- sanitizeSchema.attributes.code = ['className', 'lang', 'meta', 'value'];
11566
- return sanitizeSchema;
11567
- };
11568
- module.exports = CreateCode;
11569
-
11570
- /***/ }),
11571
-
11572
11856
  /***/ 553:
11573
11857
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11574
11858
 
@@ -12116,32 +12400,6 @@ module.exports = Table;
12116
12400
 
12117
12401
  /***/ }),
12118
12402
 
12119
- /***/ 479:
12120
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12121
-
12122
- const PropTypes = __webpack_require__(697);
12123
- const React = __webpack_require__(294);
12124
- function TableOfContents({
12125
- children
12126
- }) {
12127
- return /*#__PURE__*/React.createElement("nav", null, /*#__PURE__*/React.createElement("ul", {
12128
- className: "toc-list"
12129
- }, /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement("a", {
12130
- className: "tocHeader",
12131
- href: "#"
12132
- }, /*#__PURE__*/React.createElement("i", {
12133
- className: "icon icon-text-align-left"
12134
- }), "Table of Contents")), /*#__PURE__*/React.createElement("li", {
12135
- className: "toc-children"
12136
- }, children)));
12137
- }
12138
- TableOfContents.propTypes = {
12139
- children: PropTypes.element
12140
- };
12141
- module.exports = TableOfContents;
12142
-
12143
- /***/ }),
12144
-
12145
12403
  /***/ 785:
12146
12404
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12147
12405
 
@@ -14967,7 +15225,6 @@ __webpack_require__.r(__webpack_exports__);
14967
15225
  __webpack_require__.d(__webpack_exports__, {
14968
15226
  "Components": () => (/* reexport */ components_namespaceObject),
14969
15227
  "compile": () => (/* binding */ index_compile),
14970
- "default": () => (/* binding */ index_0),
14971
15228
  "esast": () => (/* binding */ esast),
14972
15229
  "hast": () => (/* binding */ hast),
14973
15230
  "html": () => (/* binding */ index_html),
@@ -15014,7 +15271,7 @@ __webpack_require__.r(components_namespaceObject);
15014
15271
  __webpack_require__.d(components_namespaceObject, {
15015
15272
  "Anchor": () => ((Anchor_default())),
15016
15273
  "Callout": () => (components_Callout),
15017
- "Code": () => ((Code_default())),
15274
+ "Code": () => (components_Code),
15018
15275
  "CodeTabs": () => ((CodeTabs_default())),
15019
15276
  "Embed": () => ((Embed_default())),
15020
15277
  "GlossaryItem": () => ((GlossaryItem_default())),
@@ -15023,7 +15280,7 @@ __webpack_require__.d(components_namespaceObject, {
15023
15280
  "Image": () => ((Image_default())),
15024
15281
  "Style": () => ((Style_default())),
15025
15282
  "Table": () => ((Table_default())),
15026
- "TableOfContents": () => ((TableOfContents_default()))
15283
+ "TableOfContents": () => (components_TableOfContents)
15027
15284
  });
15028
15285
 
15029
15286
  // EXTERNAL MODULE: ./node_modules/debug/src/index.js
@@ -36301,18 +36558,21 @@ function mdxToMarkdown(options) {
36301
36558
 
36302
36559
  ;// CONCATENATED MODULE: ./node_modules/acorn/dist/acorn.mjs
36303
36560
  // This file was generated. Do not modify manually!
36304
- var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 357, 0, 62, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
36561
+ var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
36305
36562
 
36306
36563
  // This file was generated. Do not modify manually!
36307
- var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1070, 4050, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 46, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 482, 44, 11, 6, 17, 0, 322, 29, 19, 43, 1269, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4152, 8, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];
36564
+ var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
36308
36565
 
36309
36566
  // This file was generated. Do not modify manually!
36310
- var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
36567
+ var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
36311
36568
 
36312
36569
  // This file was generated. Do not modify manually!
36313
36570
  var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
36314
36571
 
36315
36572
  // These are a run-length and offset encoded representation of the
36573
+ // >0xffff code points that are a valid part of identifiers. The
36574
+ // offset starts at 0x10000, and each pair of numbers represents an
36575
+ // offset to the next range, and then a size of the range.
36316
36576
 
36317
36577
  // Reserved word lists for various dialects of the language
36318
36578
 
@@ -36352,6 +36612,7 @@ function isInAstralSet(code, set) {
36352
36612
  pos += set[i + 1];
36353
36613
  if (pos >= code) { return true }
36354
36614
  }
36615
+ return false
36355
36616
  }
36356
36617
 
36357
36618
  // Test whether a given character code starts an identifier.
@@ -36571,8 +36832,10 @@ var isArray = Array.isArray || (function (obj) { return (
36571
36832
  acorn_toString.call(obj) === "[object Array]"
36572
36833
  ); });
36573
36834
 
36835
+ var regexpCache = Object.create(null);
36836
+
36574
36837
  function wordsRegexp(words) {
36575
- return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$")
36838
+ return regexpCache[words] || (regexpCache[words] = new RegExp("^(?:" + words.replace(/ /g, "|") + ")$"))
36576
36839
  }
36577
36840
 
36578
36841
  function codePointToString(code) {
@@ -36632,11 +36895,11 @@ var defaultOptions = {
36632
36895
  // Can be either `"script"` or `"module"`. This influences global
36633
36896
  // strict mode and parsing of `import` and `export` declarations.
36634
36897
  sourceType: "script",
36635
- // `onInsertedSemicolon` can be a callback that will be called
36636
- // when a semicolon is automatically inserted. It will be passed
36637
- // the position of the comma as an offset, and if `locations` is
36638
- // enabled, it is given the location as a `{line, column}` object
36639
- // as second argument.
36898
+ // `onInsertedSemicolon` can be a callback that will be called when
36899
+ // a semicolon is automatically inserted. It will be passed the
36900
+ // position of the inserted semicolon as an offset, and if
36901
+ // `locations` is enabled, it is given the location as a `{line,
36902
+ // column}` object as second argument.
36640
36903
  onInsertedSemicolon: null,
36641
36904
  // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
36642
36905
  // trailing commas.
@@ -36664,6 +36927,10 @@ var defaultOptions = {
36664
36927
  // allowed and treated as a line comment. Enabled by default when
36665
36928
  // `ecmaVersion` >= 2023.
36666
36929
  allowHashBang: false,
36930
+ // By default, the parser will verify that private properties are
36931
+ // only used in places where they are valid and have been declared.
36932
+ // Set this to false to turn such checks off.
36933
+ checkPrivateFields: true,
36667
36934
  // When `locations` is on, `loc` properties holding objects with
36668
36935
  // `start` and `end` properties in `{line, column}` form (with
36669
36936
  // line being 1-based and column 0-based) will be attached to the
@@ -36685,6 +36952,8 @@ var defaultOptions = {
36685
36952
  // passed, the full `{line, column}` locations of the start and
36686
36953
  // end of the comments. Note that you are not allowed to call the
36687
36954
  // parser from the callback—that will corrupt its internal state.
36955
+ // When this option has an array as value, objects representing the
36956
+ // comments are pushed to it.
36688
36957
  onComment: null,
36689
36958
  // Nodes have their start and end characters offsets recorded in
36690
36959
  // `start` and `end` properties (directly on the node, rather than
@@ -36737,7 +37006,7 @@ function getOptions(opts) {
36737
37006
  if (options.allowReserved == null)
36738
37007
  { options.allowReserved = options.ecmaVersion < 5; }
36739
37008
 
36740
- if (opts.allowHashBang == null)
37009
+ if (!opts || opts.allowHashBang == null)
36741
37010
  { options.allowHashBang = options.ecmaVersion >= 14; }
36742
37011
 
36743
37012
  if (isArray(options.onToken)) {
@@ -37137,10 +37406,10 @@ pp$8.isLet = function(context) {
37137
37406
  // Statement) is allowed here. If context is not empty then only a Statement
37138
37407
  // is allowed. However, `let [` is an explicit negative lookahead for
37139
37408
  // ExpressionStatement, so special-case it first.
37140
- if (nextCh === 91 || nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '[', '/', astral
37409
+ if (nextCh === 91 || nextCh === 92) { return true } // '[', '/'
37141
37410
  if (context) { return false }
37142
37411
 
37143
- if (nextCh === 123) { return true } // '{'
37412
+ if (nextCh === 123 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '{', astral
37144
37413
  if (isIdentifierStart(nextCh, true)) {
37145
37414
  var pos = next + 1;
37146
37415
  while (isIdentifierChar(nextCh = this.input.charCodeAt(pos), true)) { ++pos; }
@@ -37430,6 +37699,16 @@ pp$8.parseThrowStatement = function(node) {
37430
37699
 
37431
37700
  var empty$1 = [];
37432
37701
 
37702
+ pp$8.parseCatchClauseParam = function() {
37703
+ var param = this.parseBindingAtom();
37704
+ var simple = param.type === "Identifier";
37705
+ this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);
37706
+ this.checkLValPattern(param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
37707
+ this.expect(types$1.parenR);
37708
+
37709
+ return param
37710
+ };
37711
+
37433
37712
  pp$8.parseTryStatement = function(node) {
37434
37713
  this.next();
37435
37714
  node.block = this.parseBlock();
@@ -37438,11 +37717,7 @@ pp$8.parseTryStatement = function(node) {
37438
37717
  var clause = this.startNode();
37439
37718
  this.next();
37440
37719
  if (this.eat(types$1.parenL)) {
37441
- clause.param = this.parseBindingAtom();
37442
- var simple = clause.param.type === "Identifier";
37443
- this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);
37444
- this.checkLValPattern(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
37445
- this.expect(types$1.parenR);
37720
+ clause.param = this.parseCatchClauseParam();
37446
37721
  } else {
37447
37722
  if (this.options.ecmaVersion < 10) { this.unexpected(); }
37448
37723
  clause.param = null;
@@ -37458,9 +37733,9 @@ pp$8.parseTryStatement = function(node) {
37458
37733
  return this.finishNode(node, "TryStatement")
37459
37734
  };
37460
37735
 
37461
- pp$8.parseVarStatement = function(node, kind) {
37736
+ pp$8.parseVarStatement = function(node, kind, allowMissingInitializer) {
37462
37737
  this.next();
37463
- this.parseVar(node, false, kind);
37738
+ this.parseVar(node, false, kind, allowMissingInitializer);
37464
37739
  this.semicolon();
37465
37740
  return this.finishNode(node, "VariableDeclaration")
37466
37741
  };
@@ -37589,7 +37864,7 @@ pp$8.parseForIn = function(node, init) {
37589
37864
 
37590
37865
  // Parse a list of variable declarations.
37591
37866
 
37592
- pp$8.parseVar = function(node, isFor, kind) {
37867
+ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
37593
37868
  node.declarations = [];
37594
37869
  node.kind = kind;
37595
37870
  for (;;) {
@@ -37597,9 +37872,9 @@ pp$8.parseVar = function(node, isFor, kind) {
37597
37872
  this.parseVarId(decl, kind);
37598
37873
  if (this.eat(types$1.eq)) {
37599
37874
  decl.init = this.parseMaybeAssign(isFor);
37600
- } else if (kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
37875
+ } else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
37601
37876
  this.unexpected();
37602
- } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
37877
+ } else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
37603
37878
  this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
37604
37879
  } else {
37605
37880
  decl.init = null;
@@ -37688,7 +37963,7 @@ pp$8.parseClass = function(node, isStatement) {
37688
37963
  if (element) {
37689
37964
  classBody.body.push(element);
37690
37965
  if (element.type === "MethodDefinition" && element.kind === "constructor") {
37691
- if (hadConstructor) { this.raise(element.start, "Duplicate constructor in the same class"); }
37966
+ if (hadConstructor) { this.raiseRecoverable(element.start, "Duplicate constructor in the same class"); }
37692
37967
  hadConstructor = true;
37693
37968
  } else if (element.key && element.key.type === "PrivateIdentifier" && isPrivateNameConflicted(privateNameMap, element)) {
37694
37969
  this.raiseRecoverable(element.key.start, ("Identifier '#" + (element.key.name) + "' has already been declared"));
@@ -37873,7 +38148,7 @@ pp$8.parseClassId = function(node, isStatement) {
37873
38148
  };
37874
38149
 
37875
38150
  pp$8.parseClassSuper = function(node) {
37876
- node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(false) : null;
38151
+ node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(null, false) : null;
37877
38152
  };
37878
38153
 
37879
38154
  pp$8.enterClassBody = function() {
@@ -37886,6 +38161,7 @@ pp$8.exitClassBody = function() {
37886
38161
  var ref = this.privateNameStack.pop();
37887
38162
  var declared = ref.declared;
37888
38163
  var used = ref.used;
38164
+ if (!this.options.checkPrivateFields) { return }
37889
38165
  var len = this.privateNameStack.length;
37890
38166
  var parent = len === 0 ? null : this.privateNameStack[len - 1];
37891
38167
  for (var i = 0; i < used.length; ++i) {
@@ -37937,44 +38213,36 @@ function checkKeyName(node, name) {
37937
38213
 
37938
38214
  // Parses module export declaration.
37939
38215
 
38216
+ pp$8.parseExportAllDeclaration = function(node, exports) {
38217
+ if (this.options.ecmaVersion >= 11) {
38218
+ if (this.eatContextual("as")) {
38219
+ node.exported = this.parseModuleExportName();
38220
+ this.checkExport(exports, node.exported, this.lastTokStart);
38221
+ } else {
38222
+ node.exported = null;
38223
+ }
38224
+ }
38225
+ this.expectContextual("from");
38226
+ if (this.type !== types$1.string) { this.unexpected(); }
38227
+ node.source = this.parseExprAtom();
38228
+ this.semicolon();
38229
+ return this.finishNode(node, "ExportAllDeclaration")
38230
+ };
38231
+
37940
38232
  pp$8.parseExport = function(node, exports) {
37941
38233
  this.next();
37942
38234
  // export * from '...'
37943
38235
  if (this.eat(types$1.star)) {
37944
- if (this.options.ecmaVersion >= 11) {
37945
- if (this.eatContextual("as")) {
37946
- node.exported = this.parseModuleExportName();
37947
- this.checkExport(exports, node.exported, this.lastTokStart);
37948
- } else {
37949
- node.exported = null;
37950
- }
37951
- }
37952
- this.expectContextual("from");
37953
- if (this.type !== types$1.string) { this.unexpected(); }
37954
- node.source = this.parseExprAtom();
37955
- this.semicolon();
37956
- return this.finishNode(node, "ExportAllDeclaration")
38236
+ return this.parseExportAllDeclaration(node, exports)
37957
38237
  }
37958
38238
  if (this.eat(types$1._default)) { // export default ...
37959
38239
  this.checkExport(exports, "default", this.lastTokStart);
37960
- var isAsync;
37961
- if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) {
37962
- var fNode = this.startNode();
37963
- this.next();
37964
- if (isAsync) { this.next(); }
37965
- node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync);
37966
- } else if (this.type === types$1._class) {
37967
- var cNode = this.startNode();
37968
- node.declaration = this.parseClass(cNode, "nullableID");
37969
- } else {
37970
- node.declaration = this.parseMaybeAssign();
37971
- this.semicolon();
37972
- }
38240
+ node.declaration = this.parseExportDefaultDeclaration();
37973
38241
  return this.finishNode(node, "ExportDefaultDeclaration")
37974
38242
  }
37975
38243
  // export var|const|let|function|class ...
37976
38244
  if (this.shouldParseExportStatement()) {
37977
- node.declaration = this.parseStatement(null);
38245
+ node.declaration = this.parseExportDeclaration(node);
37978
38246
  if (node.declaration.type === "VariableDeclaration")
37979
38247
  { this.checkVariableExport(exports, node.declaration.declarations); }
37980
38248
  else
@@ -38008,6 +38276,27 @@ pp$8.parseExport = function(node, exports) {
38008
38276
  return this.finishNode(node, "ExportNamedDeclaration")
38009
38277
  };
38010
38278
 
38279
+ pp$8.parseExportDeclaration = function(node) {
38280
+ return this.parseStatement(null)
38281
+ };
38282
+
38283
+ pp$8.parseExportDefaultDeclaration = function() {
38284
+ var isAsync;
38285
+ if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) {
38286
+ var fNode = this.startNode();
38287
+ this.next();
38288
+ if (isAsync) { this.next(); }
38289
+ return this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync)
38290
+ } else if (this.type === types$1._class) {
38291
+ var cNode = this.startNode();
38292
+ return this.parseClass(cNode, "nullableID")
38293
+ } else {
38294
+ var declaration = this.parseMaybeAssign();
38295
+ this.semicolon();
38296
+ return declaration
38297
+ }
38298
+ };
38299
+
38011
38300
  pp$8.checkExport = function(exports, name, pos) {
38012
38301
  if (!exports) { return }
38013
38302
  if (typeof name !== "string")
@@ -38040,8 +38329,6 @@ pp$8.checkPatternExport = function(exports, pat) {
38040
38329
  { this.checkPatternExport(exports, pat.left); }
38041
38330
  else if (type === "RestElement")
38042
38331
  { this.checkPatternExport(exports, pat.argument); }
38043
- else if (type === "ParenthesizedExpression")
38044
- { this.checkPatternExport(exports, pat.expression); }
38045
38332
  };
38046
38333
 
38047
38334
  pp$8.checkVariableExport = function(exports, decls) {
@@ -38065,6 +38352,20 @@ pp$8.shouldParseExportStatement = function() {
38065
38352
 
38066
38353
  // Parses a comma-separated list of module exports.
38067
38354
 
38355
+ pp$8.parseExportSpecifier = function(exports) {
38356
+ var node = this.startNode();
38357
+ node.local = this.parseModuleExportName();
38358
+
38359
+ node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
38360
+ this.checkExport(
38361
+ exports,
38362
+ node.exported,
38363
+ node.exported.start
38364
+ );
38365
+
38366
+ return this.finishNode(node, "ExportSpecifier")
38367
+ };
38368
+
38068
38369
  pp$8.parseExportSpecifiers = function(exports) {
38069
38370
  var nodes = [], first = true;
38070
38371
  // export { x, y as z } [from '...']
@@ -38075,15 +38376,7 @@ pp$8.parseExportSpecifiers = function(exports) {
38075
38376
  if (this.afterTrailingComma(types$1.braceR)) { break }
38076
38377
  } else { first = false; }
38077
38378
 
38078
- var node = this.startNode();
38079
- node.local = this.parseModuleExportName();
38080
- node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
38081
- this.checkExport(
38082
- exports,
38083
- node.exported,
38084
- node.exported.start
38085
- );
38086
- nodes.push(this.finishNode(node, "ExportSpecifier"));
38379
+ nodes.push(this.parseExportSpecifier(exports));
38087
38380
  }
38088
38381
  return nodes
38089
38382
  };
@@ -38092,6 +38385,7 @@ pp$8.parseExportSpecifiers = function(exports) {
38092
38385
 
38093
38386
  pp$8.parseImport = function(node) {
38094
38387
  this.next();
38388
+
38095
38389
  // import '...'
38096
38390
  if (this.type === types$1.string) {
38097
38391
  node.specifiers = empty$1;
@@ -38107,23 +38401,46 @@ pp$8.parseImport = function(node) {
38107
38401
 
38108
38402
  // Parses a comma-separated list of module imports.
38109
38403
 
38404
+ pp$8.parseImportSpecifier = function() {
38405
+ var node = this.startNode();
38406
+ node.imported = this.parseModuleExportName();
38407
+
38408
+ if (this.eatContextual("as")) {
38409
+ node.local = this.parseIdent();
38410
+ } else {
38411
+ this.checkUnreserved(node.imported);
38412
+ node.local = node.imported;
38413
+ }
38414
+ this.checkLValSimple(node.local, BIND_LEXICAL);
38415
+
38416
+ return this.finishNode(node, "ImportSpecifier")
38417
+ };
38418
+
38419
+ pp$8.parseImportDefaultSpecifier = function() {
38420
+ // import defaultObj, { x, y as z } from '...'
38421
+ var node = this.startNode();
38422
+ node.local = this.parseIdent();
38423
+ this.checkLValSimple(node.local, BIND_LEXICAL);
38424
+ return this.finishNode(node, "ImportDefaultSpecifier")
38425
+ };
38426
+
38427
+ pp$8.parseImportNamespaceSpecifier = function() {
38428
+ var node = this.startNode();
38429
+ this.next();
38430
+ this.expectContextual("as");
38431
+ node.local = this.parseIdent();
38432
+ this.checkLValSimple(node.local, BIND_LEXICAL);
38433
+ return this.finishNode(node, "ImportNamespaceSpecifier")
38434
+ };
38435
+
38110
38436
  pp$8.parseImportSpecifiers = function() {
38111
38437
  var nodes = [], first = true;
38112
38438
  if (this.type === types$1.name) {
38113
- // import defaultObj, { x, y as z } from '...'
38114
- var node = this.startNode();
38115
- node.local = this.parseIdent();
38116
- this.checkLValSimple(node.local, BIND_LEXICAL);
38117
- nodes.push(this.finishNode(node, "ImportDefaultSpecifier"));
38439
+ nodes.push(this.parseImportDefaultSpecifier());
38118
38440
  if (!this.eat(types$1.comma)) { return nodes }
38119
38441
  }
38120
38442
  if (this.type === types$1.star) {
38121
- var node$1 = this.startNode();
38122
- this.next();
38123
- this.expectContextual("as");
38124
- node$1.local = this.parseIdent();
38125
- this.checkLValSimple(node$1.local, BIND_LEXICAL);
38126
- nodes.push(this.finishNode(node$1, "ImportNamespaceSpecifier"));
38443
+ nodes.push(this.parseImportNamespaceSpecifier());
38127
38444
  return nodes
38128
38445
  }
38129
38446
  this.expect(types$1.braceL);
@@ -38133,16 +38450,7 @@ pp$8.parseImportSpecifiers = function() {
38133
38450
  if (this.afterTrailingComma(types$1.braceR)) { break }
38134
38451
  } else { first = false; }
38135
38452
 
38136
- var node$2 = this.startNode();
38137
- node$2.imported = this.parseModuleExportName();
38138
- if (this.eatContextual("as")) {
38139
- node$2.local = this.parseIdent();
38140
- } else {
38141
- this.checkUnreserved(node$2.imported);
38142
- node$2.local = node$2.imported;
38143
- }
38144
- this.checkLValSimple(node$2.local, BIND_LEXICAL);
38145
- nodes.push(this.finishNode(node$2, "ImportSpecifier"));
38453
+ nodes.push(this.parseImportSpecifier());
38146
38454
  }
38147
38455
  return nodes
38148
38456
  };
@@ -38315,7 +38623,7 @@ pp$7.parseBindingAtom = function() {
38315
38623
  return this.parseIdent()
38316
38624
  };
38317
38625
 
38318
- pp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma) {
38626
+ pp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowModifiers) {
38319
38627
  var elts = [], first = true;
38320
38628
  while (!this.eat(close)) {
38321
38629
  if (first) { first = false; }
@@ -38328,18 +38636,22 @@ pp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma) {
38328
38636
  var rest = this.parseRestBinding();
38329
38637
  this.parseBindingListItem(rest);
38330
38638
  elts.push(rest);
38331
- if (this.type === types$1.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
38639
+ if (this.type === types$1.comma) { this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"); }
38332
38640
  this.expect(close);
38333
38641
  break
38334
38642
  } else {
38335
- var elem = this.parseMaybeDefault(this.start, this.startLoc);
38336
- this.parseBindingListItem(elem);
38337
- elts.push(elem);
38643
+ elts.push(this.parseAssignableListItem(allowModifiers));
38338
38644
  }
38339
38645
  }
38340
38646
  return elts
38341
38647
  };
38342
38648
 
38649
+ pp$7.parseAssignableListItem = function(allowModifiers) {
38650
+ var elem = this.parseMaybeDefault(this.start, this.startLoc);
38651
+ this.parseBindingListItem(elem);
38652
+ return elem
38653
+ };
38654
+
38343
38655
  pp$7.parseBindingListItem = function(param) {
38344
38656
  return param
38345
38657
  };
@@ -38505,6 +38817,9 @@ pp$7.checkLValInnerPattern = function(expr, bindingType, checkClashes) {
38505
38817
  };
38506
38818
 
38507
38819
  // The algorithm used to determine whether a regexp can appear at a
38820
+ // given point in the program is loosely based on sweet.js' approach.
38821
+ // See https://github.com/mozilla/sweet.js/wiki/design
38822
+
38508
38823
 
38509
38824
  var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {
38510
38825
  this.token = token;
@@ -38577,7 +38892,7 @@ pp$6.updateContext = function(prevType) {
38577
38892
  { this.exprAllowed = type.beforeExpr; }
38578
38893
  };
38579
38894
 
38580
- // Used to handle egde cases when token context could not be inferred correctly during tokenization phase
38895
+ // Used to handle edge cases when token context could not be inferred correctly during tokenization phase
38581
38896
 
38582
38897
  pp$6.overrideContext = function(tokenCtx) {
38583
38898
  if (this.curContext() !== tokenCtx) {
@@ -38630,6 +38945,11 @@ types$1._function.updateContext = types$1._class.updateContext = function(prevTy
38630
38945
  this.exprAllowed = false;
38631
38946
  };
38632
38947
 
38948
+ types$1.colon.updateContext = function() {
38949
+ if (this.curContext().token === "function") { this.context.pop(); }
38950
+ this.exprAllowed = true;
38951
+ };
38952
+
38633
38953
  types$1.backQuote.updateContext = function() {
38634
38954
  if (this.curContext() === types.q_tmpl)
38635
38955
  { this.context.pop(); }
@@ -38660,6 +38980,23 @@ types$1.name.updateContext = function(prevType) {
38660
38980
  };
38661
38981
 
38662
38982
  // A recursive descent parser operates by defining functions for all
38983
+ // syntactic elements, and recursively calling those, each function
38984
+ // advancing the input stream and returning an AST node. Precedence
38985
+ // of constructs (for example, the fact that `!x[1]` means `!(x[1])`
38986
+ // instead of `(!x)[1]` is handled by the fact that the parser
38987
+ // function that parses unary prefix operators is called first, and
38988
+ // in turn calls the function that parses `[]` subscripts — that
38989
+ // way, it'll receive the node for `x[1]` already parsed, and wraps
38990
+ // *that* in the unary operator node.
38991
+ //
38992
+ // Acorn uses an [operator precedence parser][opp] to handle binary
38993
+ // operator precedence, because it is much more compact than using
38994
+ // the technique outlined above, which uses different, nesting
38995
+ // functions to specify precedence, for all of the ten binary
38996
+ // precedence levels that JavaScript defines.
38997
+ //
38998
+ // [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser
38999
+
38663
39000
 
38664
39001
  var pp$5 = Parser.prototype;
38665
39002
 
@@ -38889,7 +39226,7 @@ pp$5.parseMaybeUnary = function(refDestructuringErrors, sawUnary, incDec, forIni
38889
39226
  else { sawUnary = true; }
38890
39227
  expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
38891
39228
  } else if (!sawUnary && this.type === types$1.privateId) {
38892
- if (forInit || this.privateNameStack.length === 0) { this.unexpected(); }
39229
+ if ((forInit || this.privateNameStack.length === 0) && this.options.checkPrivateFields) { this.unexpected(); }
38893
39230
  expr = this.parsePrivateIdent();
38894
39231
  // only could be private fields in 'in', such as #x in obj
38895
39232
  if (this.type !== types$1._in) { this.unexpected(); }
@@ -38963,6 +39300,14 @@ pp$5.parseSubscripts = function(base, startPos, startLoc, noCalls, forInit) {
38963
39300
  }
38964
39301
  };
38965
39302
 
39303
+ pp$5.shouldParseAsyncArrow = function() {
39304
+ return !this.canInsertSemicolon() && this.eat(types$1.arrow)
39305
+ };
39306
+
39307
+ pp$5.parseSubscriptAsyncArrow = function(startPos, startLoc, exprList, forInit) {
39308
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true, forInit)
39309
+ };
39310
+
38966
39311
  pp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit) {
38967
39312
  var optionalSupported = this.options.ecmaVersion >= 11;
38968
39313
  var optional = optionalSupported && this.eat(types$1.questionDot);
@@ -38991,7 +39336,7 @@ pp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArro
38991
39336
  this.awaitPos = 0;
38992
39337
  this.awaitIdentPos = 0;
38993
39338
  var exprList = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors);
38994
- if (maybeAsyncArrow && !optional && !this.canInsertSemicolon() && this.eat(types$1.arrow)) {
39339
+ if (maybeAsyncArrow && !optional && this.shouldParseAsyncArrow()) {
38995
39340
  this.checkPatternErrors(refDestructuringErrors, false);
38996
39341
  this.checkYieldAwaitInDefaultParams();
38997
39342
  if (this.awaitIdentPos > 0)
@@ -38999,7 +39344,7 @@ pp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArro
38999
39344
  this.yieldPos = oldYieldPos;
39000
39345
  this.awaitPos = oldAwaitPos;
39001
39346
  this.awaitIdentPos = oldAwaitIdentPos;
39002
- return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true, forInit)
39347
+ return this.parseSubscriptAsyncArrow(startPos, startLoc, exprList, forInit)
39003
39348
  }
39004
39349
  this.checkExpressionErrors(refDestructuringErrors, true);
39005
39350
  this.yieldPos = oldYieldPos || this.yieldPos;
@@ -39029,7 +39374,7 @@ pp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArro
39029
39374
  // `new`, or an expression wrapped in punctuation like `()`, `[]`,
39030
39375
  // or `{}`.
39031
39376
 
39032
- pp$5.parseExprAtom = function(refDestructuringErrors, forInit) {
39377
+ pp$5.parseExprAtom = function(refDestructuringErrors, forInit, forNew) {
39033
39378
  // If a division operator appears in an expression position, the
39034
39379
  // tokenizer got confused, and we force it to read a regexp instead.
39035
39380
  if (this.type === types$1.slash) { this.readRegexp(); }
@@ -39130,31 +39475,36 @@ pp$5.parseExprAtom = function(refDestructuringErrors, forInit) {
39130
39475
 
39131
39476
  case types$1._import:
39132
39477
  if (this.options.ecmaVersion >= 11) {
39133
- return this.parseExprImport()
39478
+ return this.parseExprImport(forNew)
39134
39479
  } else {
39135
39480
  return this.unexpected()
39136
39481
  }
39137
39482
 
39138
39483
  default:
39139
- this.unexpected();
39484
+ return this.parseExprAtomDefault()
39140
39485
  }
39141
39486
  };
39142
39487
 
39143
- pp$5.parseExprImport = function() {
39488
+ pp$5.parseExprAtomDefault = function() {
39489
+ this.unexpected();
39490
+ };
39491
+
39492
+ pp$5.parseExprImport = function(forNew) {
39144
39493
  var node = this.startNode();
39145
39494
 
39146
39495
  // Consume `import` as an identifier for `import.meta`.
39147
39496
  // Because `this.parseIdent(true)` doesn't check escape sequences, it needs the check of `this.containsEsc`.
39148
39497
  if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword import"); }
39149
- var meta = this.parseIdent(true);
39498
+ this.next();
39150
39499
 
39151
- switch (this.type) {
39152
- case types$1.parenL:
39500
+ if (this.type === types$1.parenL && !forNew) {
39153
39501
  return this.parseDynamicImport(node)
39154
- case types$1.dot:
39155
- node.meta = meta;
39502
+ } else if (this.type === types$1.dot) {
39503
+ var meta = this.startNodeAt(node.start, node.loc && node.loc.start);
39504
+ meta.name = "import";
39505
+ node.meta = this.finishNode(meta, "Identifier");
39156
39506
  return this.parseImportMeta(node)
39157
- default:
39507
+ } else {
39158
39508
  this.unexpected();
39159
39509
  }
39160
39510
  };
@@ -39210,6 +39560,10 @@ pp$5.parseParenExpression = function() {
39210
39560
  return val
39211
39561
  };
39212
39562
 
39563
+ pp$5.shouldParseArrow = function(exprList) {
39564
+ return !this.canInsertSemicolon()
39565
+ };
39566
+
39213
39567
  pp$5.parseParenAndDistinguishExpression = function(canBeArrow, forInit) {
39214
39568
  var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;
39215
39569
  if (this.options.ecmaVersion >= 6) {
@@ -39229,7 +39583,12 @@ pp$5.parseParenAndDistinguishExpression = function(canBeArrow, forInit) {
39229
39583
  } else if (this.type === types$1.ellipsis) {
39230
39584
  spreadStart = this.start;
39231
39585
  exprList.push(this.parseParenItem(this.parseRestBinding()));
39232
- if (this.type === types$1.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
39586
+ if (this.type === types$1.comma) {
39587
+ this.raiseRecoverable(
39588
+ this.start,
39589
+ "Comma is not permitted after the rest element"
39590
+ );
39591
+ }
39233
39592
  break
39234
39593
  } else {
39235
39594
  exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));
@@ -39238,7 +39597,7 @@ pp$5.parseParenAndDistinguishExpression = function(canBeArrow, forInit) {
39238
39597
  var innerEndPos = this.lastTokEnd, innerEndLoc = this.lastTokEndLoc;
39239
39598
  this.expect(types$1.parenR);
39240
39599
 
39241
- if (canBeArrow && !this.canInsertSemicolon() && this.eat(types$1.arrow)) {
39600
+ if (canBeArrow && this.shouldParseArrow(exprList) && this.eat(types$1.arrow)) {
39242
39601
  this.checkPatternErrors(refDestructuringErrors, false);
39243
39602
  this.checkYieldAwaitInDefaultParams();
39244
39603
  this.yieldPos = oldYieldPos;
@@ -39291,9 +39650,12 @@ var acorn_empty = [];
39291
39650
  pp$5.parseNew = function() {
39292
39651
  if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword new"); }
39293
39652
  var node = this.startNode();
39294
- var meta = this.parseIdent(true);
39295
- if (this.options.ecmaVersion >= 6 && this.eat(types$1.dot)) {
39296
- node.meta = meta;
39653
+ this.next();
39654
+ if (this.options.ecmaVersion >= 6 && this.type === types$1.dot) {
39655
+ var meta = this.startNodeAt(node.start, node.loc && node.loc.start);
39656
+ meta.name = "new";
39657
+ node.meta = this.finishNode(meta, "Identifier");
39658
+ this.next();
39297
39659
  var containsEsc = this.containsEsc;
39298
39660
  node.property = this.parseIdent(true);
39299
39661
  if (node.property.name !== "target")
@@ -39304,11 +39666,8 @@ pp$5.parseNew = function() {
39304
39666
  { this.raiseRecoverable(node.start, "'new.target' can only be used in functions and class static block"); }
39305
39667
  return this.finishNode(node, "MetaProperty")
39306
39668
  }
39307
- var startPos = this.start, startLoc = this.startLoc, isImport = this.type === types$1._import;
39308
- node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true, false);
39309
- if (isImport && node.callee.type === "ImportExpression") {
39310
- this.raise(startPos, "Cannot use new with import()");
39311
- }
39669
+ var startPos = this.start, startLoc = this.startLoc;
39670
+ node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
39312
39671
  if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
39313
39672
  else { node.arguments = acorn_empty; }
39314
39673
  return this.finishNode(node, "NewExpression")
@@ -39390,7 +39749,7 @@ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
39390
39749
  if (isPattern) {
39391
39750
  prop.argument = this.parseIdent(false);
39392
39751
  if (this.type === types$1.comma) {
39393
- this.raise(this.start, "Comma is not permitted after the rest element");
39752
+ this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
39394
39753
  }
39395
39754
  return this.finishNode(prop, "RestElement")
39396
39755
  }
@@ -39418,7 +39777,7 @@ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
39418
39777
  if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {
39419
39778
  isAsync = true;
39420
39779
  isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star);
39421
- this.parsePropertyName(prop, refDestructuringErrors);
39780
+ this.parsePropertyName(prop);
39422
39781
  } else {
39423
39782
  isAsync = false;
39424
39783
  }
@@ -39426,6 +39785,23 @@ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
39426
39785
  return this.finishNode(prop, "Property")
39427
39786
  };
39428
39787
 
39788
+ pp$5.parseGetterSetter = function(prop) {
39789
+ prop.kind = prop.key.name;
39790
+ this.parsePropertyName(prop);
39791
+ prop.value = this.parseMethod(false);
39792
+ var paramCount = prop.kind === "get" ? 0 : 1;
39793
+ if (prop.value.params.length !== paramCount) {
39794
+ var start = prop.value.start;
39795
+ if (prop.kind === "get")
39796
+ { this.raiseRecoverable(start, "getter should have no params"); }
39797
+ else
39798
+ { this.raiseRecoverable(start, "setter should have exactly one param"); }
39799
+ } else {
39800
+ if (prop.kind === "set" && prop.value.params[0].type === "RestElement")
39801
+ { this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params"); }
39802
+ }
39803
+ };
39804
+
39429
39805
  pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {
39430
39806
  if ((isGenerator || isAsync) && this.type === types$1.colon)
39431
39807
  { this.unexpected(); }
@@ -39443,20 +39819,7 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
39443
39819
  (prop.key.name === "get" || prop.key.name === "set") &&
39444
39820
  (this.type !== types$1.comma && this.type !== types$1.braceR && this.type !== types$1.eq)) {
39445
39821
  if (isGenerator || isAsync) { this.unexpected(); }
39446
- prop.kind = prop.key.name;
39447
- this.parsePropertyName(prop);
39448
- prop.value = this.parseMethod(false);
39449
- var paramCount = prop.kind === "get" ? 0 : 1;
39450
- if (prop.value.params.length !== paramCount) {
39451
- var start = prop.value.start;
39452
- if (prop.kind === "get")
39453
- { this.raiseRecoverable(start, "getter should have no params"); }
39454
- else
39455
- { this.raiseRecoverable(start, "setter should have exactly one param"); }
39456
- } else {
39457
- if (prop.kind === "set" && prop.value.params[0].type === "RestElement")
39458
- { this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params"); }
39459
- }
39822
+ this.parseGetterSetter(prop);
39460
39823
  } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") {
39461
39824
  if (isGenerator || isAsync) { this.unexpected(); }
39462
39825
  this.checkUnreserved(prop.key);
@@ -39667,7 +40030,19 @@ pp$5.checkUnreserved = function(ref) {
39667
40030
  // when parsing properties), it will also convert keywords into
39668
40031
  // identifiers.
39669
40032
 
39670
- pp$5.parseIdent = function(liberal, isBinding) {
40033
+ pp$5.parseIdent = function(liberal) {
40034
+ var node = this.parseIdentNode();
40035
+ this.next(!!liberal);
40036
+ this.finishNode(node, "Identifier");
40037
+ if (!liberal) {
40038
+ this.checkUnreserved(node);
40039
+ if (node.name === "await" && !this.awaitIdentPos)
40040
+ { this.awaitIdentPos = node.start; }
40041
+ }
40042
+ return node
40043
+ };
40044
+
40045
+ pp$5.parseIdentNode = function() {
39671
40046
  var node = this.startNode();
39672
40047
  if (this.type === types$1.name) {
39673
40048
  node.name = this.value;
@@ -39679,19 +40054,13 @@ pp$5.parseIdent = function(liberal, isBinding) {
39679
40054
  // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.
39680
40055
  // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword
39681
40056
  if ((node.name === "class" || node.name === "function") &&
39682
- (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {
40057
+ (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {
39683
40058
  this.context.pop();
39684
40059
  }
40060
+ this.type = types$1.name;
39685
40061
  } else {
39686
40062
  this.unexpected();
39687
40063
  }
39688
- this.next(!!liberal);
39689
- this.finishNode(node, "Identifier");
39690
- if (!liberal) {
39691
- this.checkUnreserved(node);
39692
- if (node.name === "await" && !this.awaitIdentPos)
39693
- { this.awaitIdentPos = node.start; }
39694
- }
39695
40064
  return node
39696
40065
  };
39697
40066
 
@@ -39706,10 +40075,12 @@ pp$5.parsePrivateIdent = function() {
39706
40075
  this.finishNode(node, "PrivateIdentifier");
39707
40076
 
39708
40077
  // For validating existence
39709
- if (this.privateNameStack.length === 0) {
39710
- this.raise(node.start, ("Private field '#" + (node.name) + "' must be declared in an enclosing class"));
39711
- } else {
39712
- this.privateNameStack[this.privateNameStack.length - 1].used.push(node);
40078
+ if (this.options.checkPrivateFields) {
40079
+ if (this.privateNameStack.length === 0) {
40080
+ this.raise(node.start, ("Private field '#" + (node.name) + "' must be declared in an enclosing class"));
40081
+ } else {
40082
+ this.privateNameStack[this.privateNameStack.length - 1].used.push(node);
40083
+ }
39713
40084
  }
39714
40085
 
39715
40086
  return node
@@ -39910,8 +40281,8 @@ pp$2.copyNode = function(node) {
39910
40281
  return newNode
39911
40282
  };
39912
40283
 
39913
- // This file contains Unicode properties extracted from the ECMAScript
39914
- // specification. The lists are extracted like so:
40284
+ // This file contains Unicode properties extracted from the ECMAScript specification.
40285
+ // The lists are extracted like so:
39915
40286
  // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
39916
40287
 
39917
40288
  // #table-binary-unicode-properties
@@ -39920,12 +40291,27 @@ var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic";
39920
40291
  var ecma11BinaryProperties = ecma10BinaryProperties;
39921
40292
  var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict";
39922
40293
  var ecma13BinaryProperties = ecma12BinaryProperties;
40294
+ var ecma14BinaryProperties = ecma13BinaryProperties;
40295
+
39923
40296
  var unicodeBinaryProperties = {
39924
40297
  9: ecma9BinaryProperties,
39925
40298
  10: ecma10BinaryProperties,
39926
40299
  11: ecma11BinaryProperties,
39927
40300
  12: ecma12BinaryProperties,
39928
- 13: ecma13BinaryProperties
40301
+ 13: ecma13BinaryProperties,
40302
+ 14: ecma14BinaryProperties
40303
+ };
40304
+
40305
+ // #table-binary-unicode-properties-of-strings
40306
+ var ecma14BinaryPropertiesOfStrings = "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji";
40307
+
40308
+ var unicodeBinaryPropertiesOfStrings = {
40309
+ 9: "",
40310
+ 10: "",
40311
+ 11: "",
40312
+ 12: "",
40313
+ 13: "",
40314
+ 14: ecma14BinaryPropertiesOfStrings
39929
40315
  };
39930
40316
 
39931
40317
  // #table-unicode-general-category-values
@@ -39937,18 +40323,22 @@ var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Han
39937
40323
  var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
39938
40324
  var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
39939
40325
  var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
40326
+ var ecma14ScriptValues = ecma13ScriptValues + " Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz";
40327
+
39940
40328
  var unicodeScriptValues = {
39941
40329
  9: ecma9ScriptValues,
39942
40330
  10: ecma10ScriptValues,
39943
40331
  11: ecma11ScriptValues,
39944
40332
  12: ecma12ScriptValues,
39945
- 13: ecma13ScriptValues
40333
+ 13: ecma13ScriptValues,
40334
+ 14: ecma14ScriptValues
39946
40335
  };
39947
40336
 
39948
40337
  var data = {};
39949
40338
  function buildUnicodeData(ecmaVersion) {
39950
40339
  var d = data[ecmaVersion] = {
39951
40340
  binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + " " + unicodeGeneralCategoryValues),
40341
+ binaryOfStrings: wordsRegexp(unicodeBinaryPropertiesOfStrings[ecmaVersion]),
39952
40342
  nonBinary: {
39953
40343
  General_Category: wordsRegexp(unicodeGeneralCategoryValues),
39954
40344
  Script: wordsRegexp(unicodeScriptValues[ecmaVersion])
@@ -39961,7 +40351,7 @@ function buildUnicodeData(ecmaVersion) {
39961
40351
  d.nonBinary.scx = d.nonBinary.Script_Extensions;
39962
40352
  }
39963
40353
 
39964
- for (var i = 0, acorn_list = [9, 10, 11, 12, 13]; i < acorn_list.length; i += 1) {
40354
+ for (var i = 0, acorn_list = [9, 10, 11, 12, 13, 14]; i < acorn_list.length; i += 1) {
39965
40355
  var ecmaVersion = acorn_list[i];
39966
40356
 
39967
40357
  buildUnicodeData(ecmaVersion);
@@ -39971,12 +40361,13 @@ var pp$1 = Parser.prototype;
39971
40361
 
39972
40362
  var RegExpValidationState = function RegExpValidationState(parser) {
39973
40363
  this.parser = parser;
39974
- this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "");
39975
- this.unicodeProperties = data[parser.options.ecmaVersion >= 13 ? 13 : parser.options.ecmaVersion];
40364
+ this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "") + (parser.options.ecmaVersion >= 15 ? "v" : "");
40365
+ this.unicodeProperties = data[parser.options.ecmaVersion >= 14 ? 14 : parser.options.ecmaVersion];
39976
40366
  this.source = "";
39977
40367
  this.flags = "";
39978
40368
  this.start = 0;
39979
40369
  this.switchU = false;
40370
+ this.switchV = false;
39980
40371
  this.switchN = false;
39981
40372
  this.pos = 0;
39982
40373
  this.lastIntValue = 0;
@@ -39989,12 +40380,20 @@ var RegExpValidationState = function RegExpValidationState(parser) {
39989
40380
  };
39990
40381
 
39991
40382
  RegExpValidationState.prototype.reset = function reset (start, pattern, flags) {
40383
+ var unicodeSets = flags.indexOf("v") !== -1;
39992
40384
  var unicode = flags.indexOf("u") !== -1;
39993
40385
  this.start = start | 0;
39994
40386
  this.source = pattern + "";
39995
40387
  this.flags = flags;
39996
- this.switchU = unicode && this.parser.options.ecmaVersion >= 6;
39997
- this.switchN = unicode && this.parser.options.ecmaVersion >= 9;
40388
+ if (unicodeSets && this.parser.options.ecmaVersion >= 15) {
40389
+ this.switchU = true;
40390
+ this.switchV = true;
40391
+ this.switchN = true;
40392
+ } else {
40393
+ this.switchU = unicode && this.parser.options.ecmaVersion >= 6;
40394
+ this.switchV = false;
40395
+ this.switchN = unicode && this.parser.options.ecmaVersion >= 9;
40396
+ }
39998
40397
  };
39999
40398
 
40000
40399
  RegExpValidationState.prototype.raise = function raise (message) {
@@ -40063,6 +40462,23 @@ RegExpValidationState.prototype.eat = function eat (ch, forceU) {
40063
40462
  return false
40064
40463
  };
40065
40464
 
40465
+ RegExpValidationState.prototype.eatChars = function eatChars (chs, forceU) {
40466
+ if ( forceU === void 0 ) forceU = false;
40467
+
40468
+ var pos = this.pos;
40469
+ for (var i = 0, list = chs; i < list.length; i += 1) {
40470
+ var ch = list[i];
40471
+
40472
+ var current = this.at(pos, forceU);
40473
+ if (current === -1 || current !== ch) {
40474
+ return false
40475
+ }
40476
+ pos = this.nextIndex(pos, forceU);
40477
+ }
40478
+ this.pos = pos;
40479
+ return true
40480
+ };
40481
+
40066
40482
  /**
40067
40483
  * Validate the flags part of a given RegExpLiteral.
40068
40484
  *
@@ -40073,6 +40489,9 @@ pp$1.validateRegExpFlags = function(state) {
40073
40489
  var validFlags = state.validFlags;
40074
40490
  var flags = state.flags;
40075
40491
 
40492
+ var u = false;
40493
+ var v = false;
40494
+
40076
40495
  for (var i = 0; i < flags.length; i++) {
40077
40496
  var flag = flags.charAt(i);
40078
40497
  if (validFlags.indexOf(flag) === -1) {
@@ -40081,6 +40500,11 @@ pp$1.validateRegExpFlags = function(state) {
40081
40500
  if (flags.indexOf(flag, i + 1) > -1) {
40082
40501
  this.raise(state.start, "Duplicate regular expression flag");
40083
40502
  }
40503
+ if (flag === "u") { u = true; }
40504
+ if (flag === "v") { v = true; }
40505
+ }
40506
+ if (this.options.ecmaVersion >= 15 && u && v) {
40507
+ this.raise(state.start, "Invalid regular expression flag");
40084
40508
  }
40085
40509
  };
40086
40510
 
@@ -40699,6 +41123,12 @@ pp$1.regexp_eatDecimalEscape = function(state) {
40699
41123
  return false
40700
41124
  };
40701
41125
 
41126
+ // Return values used by character set parsing methods, needed to
41127
+ // forbid negation of sets that can match strings.
41128
+ var CharSetNone = 0; // Nothing parsed
41129
+ var CharSetOk = 1; // Construct parsed, cannot contain strings
41130
+ var CharSetString = 2; // Construct parsed, can contain strings
41131
+
40702
41132
  // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape
40703
41133
  pp$1.regexp_eatCharacterClassEscape = function(state) {
40704
41134
  var ch = state.current();
@@ -40706,28 +41136,32 @@ pp$1.regexp_eatCharacterClassEscape = function(state) {
40706
41136
  if (isCharacterClassEscape(ch)) {
40707
41137
  state.lastIntValue = -1;
40708
41138
  state.advance();
40709
- return true
41139
+ return CharSetOk
40710
41140
  }
40711
41141
 
41142
+ var negate = false;
40712
41143
  if (
40713
41144
  state.switchU &&
40714
41145
  this.options.ecmaVersion >= 9 &&
40715
- (ch === 0x50 /* P */ || ch === 0x70 /* p */)
41146
+ ((negate = ch === 0x50 /* P */) || ch === 0x70 /* p */)
40716
41147
  ) {
40717
41148
  state.lastIntValue = -1;
40718
41149
  state.advance();
41150
+ var result;
40719
41151
  if (
40720
41152
  state.eat(0x7B /* { */) &&
40721
- this.regexp_eatUnicodePropertyValueExpression(state) &&
41153
+ (result = this.regexp_eatUnicodePropertyValueExpression(state)) &&
40722
41154
  state.eat(0x7D /* } */)
40723
41155
  ) {
40724
- return true
41156
+ if (negate && result === CharSetString) { state.raise("Invalid property name"); }
41157
+ return result
40725
41158
  }
40726
41159
  state.raise("Invalid property name");
40727
41160
  }
40728
41161
 
40729
- return false
41162
+ return CharSetNone
40730
41163
  };
41164
+
40731
41165
  function isCharacterClassEscape(ch) {
40732
41166
  return (
40733
41167
  ch === 0x64 /* d */ ||
@@ -40751,7 +41185,7 @@ pp$1.regexp_eatUnicodePropertyValueExpression = function(state) {
40751
41185
  if (this.regexp_eatUnicodePropertyValue(state)) {
40752
41186
  var value = state.lastStringValue;
40753
41187
  this.regexp_validateUnicodePropertyNameAndValue(state, name, value);
40754
- return true
41188
+ return CharSetOk
40755
41189
  }
40756
41190
  }
40757
41191
  state.pos = start;
@@ -40759,20 +41193,22 @@ pp$1.regexp_eatUnicodePropertyValueExpression = function(state) {
40759
41193
  // LoneUnicodePropertyNameOrValue
40760
41194
  if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {
40761
41195
  var nameOrValue = state.lastStringValue;
40762
- this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue);
40763
- return true
41196
+ return this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue)
40764
41197
  }
40765
- return false
41198
+ return CharSetNone
40766
41199
  };
41200
+
40767
41201
  pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
40768
41202
  if (!hasOwn(state.unicodeProperties.nonBinary, name))
40769
41203
  { state.raise("Invalid property name"); }
40770
41204
  if (!state.unicodeProperties.nonBinary[name].test(value))
40771
41205
  { state.raise("Invalid property value"); }
40772
41206
  };
41207
+
40773
41208
  pp$1.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
40774
- if (!state.unicodeProperties.binary.test(nameOrValue))
40775
- { state.raise("Invalid property name"); }
41209
+ if (state.unicodeProperties.binary.test(nameOrValue)) { return CharSetOk }
41210
+ if (state.switchV && state.unicodeProperties.binaryOfStrings.test(nameOrValue)) { return CharSetString }
41211
+ state.raise("Invalid property name");
40776
41212
  };
40777
41213
 
40778
41214
  // UnicodePropertyName ::
@@ -40786,6 +41222,7 @@ pp$1.regexp_eatUnicodePropertyName = function(state) {
40786
41222
  }
40787
41223
  return state.lastStringValue !== ""
40788
41224
  };
41225
+
40789
41226
  function isUnicodePropertyNameCharacter(ch) {
40790
41227
  return isControlLetter(ch) || ch === 0x5F /* _ */
40791
41228
  }
@@ -40814,21 +41251,29 @@ pp$1.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {
40814
41251
  // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass
40815
41252
  pp$1.regexp_eatCharacterClass = function(state) {
40816
41253
  if (state.eat(0x5B /* [ */)) {
40817
- state.eat(0x5E /* ^ */);
40818
- this.regexp_classRanges(state);
40819
- if (state.eat(0x5D /* ] */)) {
40820
- return true
40821
- }
40822
- // Unreachable since it threw "unterminated regular expression" error before.
40823
- state.raise("Unterminated character class");
41254
+ var negate = state.eat(0x5E /* ^ */);
41255
+ var result = this.regexp_classContents(state);
41256
+ if (!state.eat(0x5D /* ] */))
41257
+ { state.raise("Unterminated character class"); }
41258
+ if (negate && result === CharSetString)
41259
+ { state.raise("Negated character class may contain strings"); }
41260
+ return true
40824
41261
  }
40825
41262
  return false
40826
41263
  };
40827
41264
 
41265
+ // https://tc39.es/ecma262/#prod-ClassContents
40828
41266
  // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges
41267
+ pp$1.regexp_classContents = function(state) {
41268
+ if (state.current() === 0x5D /* ] */) { return CharSetOk }
41269
+ if (state.switchV) { return this.regexp_classSetExpression(state) }
41270
+ this.regexp_nonEmptyClassRanges(state);
41271
+ return CharSetOk
41272
+ };
41273
+
40829
41274
  // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges
40830
41275
  // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash
40831
- pp$1.regexp_classRanges = function(state) {
41276
+ pp$1.regexp_nonEmptyClassRanges = function(state) {
40832
41277
  while (this.regexp_eatClassAtom(state)) {
40833
41278
  var left = state.lastIntValue;
40834
41279
  if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {
@@ -40900,6 +41345,205 @@ pp$1.regexp_eatClassEscape = function(state) {
40900
41345
  )
40901
41346
  };
40902
41347
 
41348
+ // https://tc39.es/ecma262/#prod-ClassSetExpression
41349
+ // https://tc39.es/ecma262/#prod-ClassUnion
41350
+ // https://tc39.es/ecma262/#prod-ClassIntersection
41351
+ // https://tc39.es/ecma262/#prod-ClassSubtraction
41352
+ pp$1.regexp_classSetExpression = function(state) {
41353
+ var result = CharSetOk, subResult;
41354
+ if (this.regexp_eatClassSetRange(state)) ; else if (subResult = this.regexp_eatClassSetOperand(state)) {
41355
+ if (subResult === CharSetString) { result = CharSetString; }
41356
+ // https://tc39.es/ecma262/#prod-ClassIntersection
41357
+ var start = state.pos;
41358
+ while (state.eatChars([0x26, 0x26] /* && */)) {
41359
+ if (
41360
+ state.current() !== 0x26 /* & */ &&
41361
+ (subResult = this.regexp_eatClassSetOperand(state))
41362
+ ) {
41363
+ if (subResult !== CharSetString) { result = CharSetOk; }
41364
+ continue
41365
+ }
41366
+ state.raise("Invalid character in character class");
41367
+ }
41368
+ if (start !== state.pos) { return result }
41369
+ // https://tc39.es/ecma262/#prod-ClassSubtraction
41370
+ while (state.eatChars([0x2D, 0x2D] /* -- */)) {
41371
+ if (this.regexp_eatClassSetOperand(state)) { continue }
41372
+ state.raise("Invalid character in character class");
41373
+ }
41374
+ if (start !== state.pos) { return result }
41375
+ } else {
41376
+ state.raise("Invalid character in character class");
41377
+ }
41378
+ // https://tc39.es/ecma262/#prod-ClassUnion
41379
+ for (;;) {
41380
+ if (this.regexp_eatClassSetRange(state)) { continue }
41381
+ subResult = this.regexp_eatClassSetOperand(state);
41382
+ if (!subResult) { return result }
41383
+ if (subResult === CharSetString) { result = CharSetString; }
41384
+ }
41385
+ };
41386
+
41387
+ // https://tc39.es/ecma262/#prod-ClassSetRange
41388
+ pp$1.regexp_eatClassSetRange = function(state) {
41389
+ var start = state.pos;
41390
+ if (this.regexp_eatClassSetCharacter(state)) {
41391
+ var left = state.lastIntValue;
41392
+ if (state.eat(0x2D /* - */) && this.regexp_eatClassSetCharacter(state)) {
41393
+ var right = state.lastIntValue;
41394
+ if (left !== -1 && right !== -1 && left > right) {
41395
+ state.raise("Range out of order in character class");
41396
+ }
41397
+ return true
41398
+ }
41399
+ state.pos = start;
41400
+ }
41401
+ return false
41402
+ };
41403
+
41404
+ // https://tc39.es/ecma262/#prod-ClassSetOperand
41405
+ pp$1.regexp_eatClassSetOperand = function(state) {
41406
+ if (this.regexp_eatClassSetCharacter(state)) { return CharSetOk }
41407
+ return this.regexp_eatClassStringDisjunction(state) || this.regexp_eatNestedClass(state)
41408
+ };
41409
+
41410
+ // https://tc39.es/ecma262/#prod-NestedClass
41411
+ pp$1.regexp_eatNestedClass = function(state) {
41412
+ var start = state.pos;
41413
+ if (state.eat(0x5B /* [ */)) {
41414
+ var negate = state.eat(0x5E /* ^ */);
41415
+ var result = this.regexp_classContents(state);
41416
+ if (state.eat(0x5D /* ] */)) {
41417
+ if (negate && result === CharSetString) {
41418
+ state.raise("Negated character class may contain strings");
41419
+ }
41420
+ return result
41421
+ }
41422
+ state.pos = start;
41423
+ }
41424
+ if (state.eat(0x5C /* \ */)) {
41425
+ var result$1 = this.regexp_eatCharacterClassEscape(state);
41426
+ if (result$1) {
41427
+ return result$1
41428
+ }
41429
+ state.pos = start;
41430
+ }
41431
+ return null
41432
+ };
41433
+
41434
+ // https://tc39.es/ecma262/#prod-ClassStringDisjunction
41435
+ pp$1.regexp_eatClassStringDisjunction = function(state) {
41436
+ var start = state.pos;
41437
+ if (state.eatChars([0x5C, 0x71] /* \q */)) {
41438
+ if (state.eat(0x7B /* { */)) {
41439
+ var result = this.regexp_classStringDisjunctionContents(state);
41440
+ if (state.eat(0x7D /* } */)) {
41441
+ return result
41442
+ }
41443
+ } else {
41444
+ // Make the same message as V8.
41445
+ state.raise("Invalid escape");
41446
+ }
41447
+ state.pos = start;
41448
+ }
41449
+ return null
41450
+ };
41451
+
41452
+ // https://tc39.es/ecma262/#prod-ClassStringDisjunctionContents
41453
+ pp$1.regexp_classStringDisjunctionContents = function(state) {
41454
+ var result = this.regexp_classString(state);
41455
+ while (state.eat(0x7C /* | */)) {
41456
+ if (this.regexp_classString(state) === CharSetString) { result = CharSetString; }
41457
+ }
41458
+ return result
41459
+ };
41460
+
41461
+ // https://tc39.es/ecma262/#prod-ClassString
41462
+ // https://tc39.es/ecma262/#prod-NonEmptyClassString
41463
+ pp$1.regexp_classString = function(state) {
41464
+ var count = 0;
41465
+ while (this.regexp_eatClassSetCharacter(state)) { count++; }
41466
+ return count === 1 ? CharSetOk : CharSetString
41467
+ };
41468
+
41469
+ // https://tc39.es/ecma262/#prod-ClassSetCharacter
41470
+ pp$1.regexp_eatClassSetCharacter = function(state) {
41471
+ var start = state.pos;
41472
+ if (state.eat(0x5C /* \ */)) {
41473
+ if (
41474
+ this.regexp_eatCharacterEscape(state) ||
41475
+ this.regexp_eatClassSetReservedPunctuator(state)
41476
+ ) {
41477
+ return true
41478
+ }
41479
+ if (state.eat(0x62 /* b */)) {
41480
+ state.lastIntValue = 0x08; /* <BS> */
41481
+ return true
41482
+ }
41483
+ state.pos = start;
41484
+ return false
41485
+ }
41486
+ var ch = state.current();
41487
+ if (ch < 0 || ch === state.lookahead() && isClassSetReservedDoublePunctuatorCharacter(ch)) { return false }
41488
+ if (isClassSetSyntaxCharacter(ch)) { return false }
41489
+ state.advance();
41490
+ state.lastIntValue = ch;
41491
+ return true
41492
+ };
41493
+
41494
+ // https://tc39.es/ecma262/#prod-ClassSetReservedDoublePunctuator
41495
+ function isClassSetReservedDoublePunctuatorCharacter(ch) {
41496
+ return (
41497
+ ch === 0x21 /* ! */ ||
41498
+ ch >= 0x23 /* # */ && ch <= 0x26 /* & */ ||
41499
+ ch >= 0x2A /* * */ && ch <= 0x2C /* , */ ||
41500
+ ch === 0x2E /* . */ ||
41501
+ ch >= 0x3A /* : */ && ch <= 0x40 /* @ */ ||
41502
+ ch === 0x5E /* ^ */ ||
41503
+ ch === 0x60 /* ` */ ||
41504
+ ch === 0x7E /* ~ */
41505
+ )
41506
+ }
41507
+
41508
+ // https://tc39.es/ecma262/#prod-ClassSetSyntaxCharacter
41509
+ function isClassSetSyntaxCharacter(ch) {
41510
+ return (
41511
+ ch === 0x28 /* ( */ ||
41512
+ ch === 0x29 /* ) */ ||
41513
+ ch === 0x2D /* - */ ||
41514
+ ch === 0x2F /* / */ ||
41515
+ ch >= 0x5B /* [ */ && ch <= 0x5D /* ] */ ||
41516
+ ch >= 0x7B /* { */ && ch <= 0x7D /* } */
41517
+ )
41518
+ }
41519
+
41520
+ // https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator
41521
+ pp$1.regexp_eatClassSetReservedPunctuator = function(state) {
41522
+ var ch = state.current();
41523
+ if (isClassSetReservedPunctuator(ch)) {
41524
+ state.lastIntValue = ch;
41525
+ state.advance();
41526
+ return true
41527
+ }
41528
+ return false
41529
+ };
41530
+
41531
+ // https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator
41532
+ function isClassSetReservedPunctuator(ch) {
41533
+ return (
41534
+ ch === 0x21 /* ! */ ||
41535
+ ch === 0x23 /* # */ ||
41536
+ ch === 0x25 /* % */ ||
41537
+ ch === 0x26 /* & */ ||
41538
+ ch === 0x2C /* , */ ||
41539
+ ch === 0x2D /* - */ ||
41540
+ ch >= 0x3A /* : */ && ch <= 0x3E /* > */ ||
41541
+ ch === 0x40 /* @ */ ||
41542
+ ch === 0x60 /* ` */ ||
41543
+ ch === 0x7E /* ~ */
41544
+ )
41545
+ }
41546
+
40903
41547
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter
40904
41548
  pp$1.regexp_eatClassControlLetter = function(state) {
40905
41549
  var ch = state.current();
@@ -41734,8 +42378,6 @@ pp.readEscapedChar = function(inTemplate) {
41734
42378
  codePos,
41735
42379
  "Invalid escape sequence in template string"
41736
42380
  );
41737
-
41738
- return null
41739
42381
  }
41740
42382
  default:
41741
42383
  if (ch >= 48 && ch <= 55) {
@@ -41822,8 +42464,23 @@ pp.readWord = function() {
41822
42464
  };
41823
42465
 
41824
42466
  // Acorn is a tiny, fast JavaScript parser written in JavaScript.
42467
+ //
42468
+ // Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and
42469
+ // various contributors and released under an MIT license.
42470
+ //
42471
+ // Git repositories for Acorn are available at
42472
+ //
42473
+ // http://marijnhaverbeke.nl/git/acorn
42474
+ // https://github.com/acornjs/acorn.git
42475
+ //
42476
+ // Please use the [github bug tracker][ghbt] to report issues.
42477
+ //
42478
+ // [ghbt]: https://github.com/acornjs/acorn/issues
42479
+ //
42480
+ // [walk]: util/walk.js
42481
+
41825
42482
 
41826
- var version = "8.8.0";
42483
+ var version = "8.11.3";
41827
42484
 
41828
42485
  Parser.acorn = {
41829
42486
  Parser: Parser,
@@ -41848,11 +42505,10 @@ Parser.acorn = {
41848
42505
  };
41849
42506
 
41850
42507
  // The main exported interface (under `self.acorn` when in the
41851
- // browser) is a `parse` function that takes a code string and
41852
- // returns an abstract syntax tree as specified by [Mozilla parser
41853
- // API][api].
42508
+ // browser) is a `parse` function that takes a code string and returns
42509
+ // an abstract syntax tree as specified by the [ESTree spec][estree].
41854
42510
  //
41855
- // [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
42511
+ // [estree]: https://github.com/estree/estree
41856
42512
 
41857
42513
  function acorn_parse(input, options) {
41858
42514
  return Parser.parse(input, options)
@@ -59526,7 +60182,7 @@ var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
59526
60182
  var Anchor = __webpack_require__(9);
59527
60183
  var Anchor_default = /*#__PURE__*/__webpack_require__.n(Anchor);
59528
60184
  // EXTERNAL MODULE: ./node_modules/react/index.js
59529
- var node_modules_react = __webpack_require__(294);
60185
+ var react = __webpack_require__(294);
59530
60186
  ;// CONCATENATED MODULE: ./components/Callout/index.tsx
59531
60187
  var __assign = (undefined && undefined.__assign) || function () {
59532
60188
  __assign = Object.assign || function(t) {
@@ -59544,9 +60200,9 @@ var Callout = function (props) {
59544
60200
  var attributes = props.attributes, children = props.children, theme = props.theme, icon = props.icon, heading = props.heading;
59545
60201
  return (
59546
60202
  // @ts-ignore
59547
- node_modules_react.createElement("blockquote", __assign({}, attributes, { className: "callout callout_".concat(theme), theme: icon }),
59548
- heading && (node_modules_react.createElement("h3", { className: "callout-heading".concat(heading ? '' : ' empty') },
59549
- node_modules_react.createElement("span", { className: "callout-icon" }, icon),
60203
+ react.createElement("blockquote", __assign({}, attributes, { className: "callout callout_".concat(theme), theme: icon }),
60204
+ heading && (react.createElement("h3", { className: "callout-heading".concat(heading ? '' : ' empty') },
60205
+ react.createElement("span", { className: "callout-icon" }, icon),
59550
60206
  heading)),
59551
60207
  children));
59552
60208
  };
@@ -59556,9 +60212,119 @@ Callout.sanitize = function (sanitizeSchema) {
59556
60212
  };
59557
60213
  /* harmony default export */ const components_Callout = (Callout);
59558
60214
 
59559
- // EXTERNAL MODULE: ./components/Code/index.jsx
59560
- var Code = __webpack_require__(297);
59561
- var Code_default = /*#__PURE__*/__webpack_require__.n(Code);
60215
+ // EXTERNAL MODULE: ./node_modules/copy-to-clipboard/index.js
60216
+ var copy_to_clipboard = __webpack_require__(640);
60217
+ var copy_to_clipboard_default = /*#__PURE__*/__webpack_require__.n(copy_to_clipboard);
60218
+ // EXTERNAL MODULE: ./node_modules/prop-types/index.js
60219
+ var prop_types = __webpack_require__(697);
60220
+ ;// CONCATENATED MODULE: ./components/Code/index.jsx
60221
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
60222
+
60223
+
60224
+
60225
+
60226
+ // Only load CodeMirror in the browser, for SSR
60227
+ // apps. Necessary because of people like this:
60228
+ // https://github.com/codemirror/CodeMirror/issues/3701#issuecomment-164904534
60229
+ let syntaxHighlighter;
60230
+ let canonicalLanguage = () => {};
60231
+ if (typeof window !== 'undefined') {
60232
+ // eslint-disable-next-line global-require
60233
+ syntaxHighlighter = (__webpack_require__(253)["default"]);
60234
+ // eslint-disable-next-line global-require
60235
+ ({
60236
+ canonical: canonicalLanguage
60237
+ } = __webpack_require__(253));
60238
+ }
60239
+ function CopyCode({
60240
+ codeRef,
60241
+ rootClass = 'rdmd-code-copy',
60242
+ className = ''
60243
+ }) {
60244
+ const copyClass = `${rootClass}_copied`;
60245
+ const button = /*#__PURE__*/(0,react.createRef)();
60246
+ /* istanbul ignore next */
60247
+ const copier = () => {
60248
+ const code = codeRef.current.textContent;
60249
+ if (copy_to_clipboard_default()(code)) {
60250
+ const $el = button.current;
60251
+ $el.classList.add(copyClass);
60252
+ setTimeout(() => $el.classList.remove(copyClass), 1500);
60253
+ }
60254
+ };
60255
+ return /*#__PURE__*/react.createElement("button", {
60256
+ ref: button,
60257
+ "aria-label": "Copy Code",
60258
+ className: `${rootClass} ${className}`,
60259
+ onClick: copier
60260
+ });
60261
+ }
60262
+ CopyCode.propTypes = {
60263
+ className: prop_types.string,
60264
+ codeRef: (0,prop_types.oneOfType)([prop_types.func, (0,prop_types.shape)({
60265
+ current: (0,prop_types.instanceOf)(react.Element)
60266
+ })]).isRequired,
60267
+ rootClass: prop_types.string
60268
+ };
60269
+ function Code(props) {
60270
+ const {
60271
+ children,
60272
+ className,
60273
+ copyButtons,
60274
+ lang,
60275
+ meta,
60276
+ theme
60277
+ } = props;
60278
+ const langClass = className.search(/lang(?:uage)?-\w+/) >= 0 ? className.match(/\s?lang(?:uage)?-(\w+)/)[1] : '';
60279
+ const language = canonicalLanguage(lang) || langClass;
60280
+ const codeRef = /*#__PURE__*/(0,react.createRef)();
60281
+ const codeOpts = {
60282
+ inline: !lang,
60283
+ tokenizeVariables: true,
60284
+ dark: theme === 'dark'
60285
+ };
60286
+ const codeContent = syntaxHighlighter && children ? syntaxHighlighter(children[0], language, codeOpts) : (children === null || children === void 0 ? void 0 : children[0]) || '';
60287
+ return /*#__PURE__*/react.createElement(react.Fragment, null, copyButtons && /*#__PURE__*/react.createElement(CopyCode, {
60288
+ className: "fa",
60289
+ codeRef: codeRef
60290
+ }), /*#__PURE__*/react.createElement("code", {
60291
+ ref: codeRef,
60292
+ className: ['rdmd-code', `lang-${language}`, `theme-${theme}`].join(' '),
60293
+ "data-lang": language,
60294
+ name: meta,
60295
+ suppressHydrationWarning: true
60296
+ }, codeContent));
60297
+ }
60298
+ function CreateCode({
60299
+ copyButtons,
60300
+ theme
60301
+ }) {
60302
+ // eslint-disable-next-line react/display-name
60303
+ return props => /*#__PURE__*/react.createElement(Code, _extends({}, props, {
60304
+ copyButtons: copyButtons,
60305
+ theme: theme
60306
+ }));
60307
+ }
60308
+ Code.propTypes = {
60309
+ children: (0,prop_types.arrayOf)(prop_types.string),
60310
+ className: prop_types.string,
60311
+ copyButtons: prop_types.bool,
60312
+ lang: prop_types.string,
60313
+ meta: prop_types.string,
60314
+ theme: prop_types.string
60315
+ };
60316
+ Code.defaultProps = {
60317
+ className: '',
60318
+ copyButtons: true,
60319
+ lang: '',
60320
+ meta: ''
60321
+ };
60322
+ CreateCode.sanitize = sanitizeSchema => {
60323
+ // This is for code blocks class name
60324
+ sanitizeSchema.attributes.code = ['className', 'lang', 'meta', 'value'];
60325
+ return sanitizeSchema;
60326
+ };
60327
+ /* harmony default export */ const components_Code = (CreateCode);
59562
60328
  // EXTERNAL MODULE: ./components/CodeTabs/index.jsx
59563
60329
  var CodeTabs = __webpack_require__(553);
59564
60330
  var CodeTabs_default = /*#__PURE__*/__webpack_require__.n(CodeTabs);
@@ -59583,9 +60349,27 @@ var Style_default = /*#__PURE__*/__webpack_require__.n(Style);
59583
60349
  // EXTERNAL MODULE: ./components/Table/index.jsx
59584
60350
  var Table = __webpack_require__(183);
59585
60351
  var Table_default = /*#__PURE__*/__webpack_require__.n(Table);
59586
- // EXTERNAL MODULE: ./components/TableOfContents/index.jsx
59587
- var TableOfContents = __webpack_require__(479);
59588
- var TableOfContents_default = /*#__PURE__*/__webpack_require__.n(TableOfContents);
60352
+ ;// CONCATENATED MODULE: ./components/TableOfContents/index.jsx
60353
+
60354
+
60355
+ function TableOfContents({
60356
+ children
60357
+ }) {
60358
+ return /*#__PURE__*/react.createElement("nav", null, /*#__PURE__*/react.createElement("ul", {
60359
+ className: "toc-list"
60360
+ }, /*#__PURE__*/react.createElement("li", null, /*#__PURE__*/react.createElement("a", {
60361
+ className: "tocHeader",
60362
+ href: "#"
60363
+ }, /*#__PURE__*/react.createElement("i", {
60364
+ className: "icon icon-text-align-left"
60365
+ }), "Table of Contents")), /*#__PURE__*/react.createElement("li", {
60366
+ className: "toc-children"
60367
+ }, children)));
60368
+ }
60369
+ TableOfContents.propTypes = {
60370
+ children: prop_types.element
60371
+ };
60372
+ /* harmony default export */ const components_TableOfContents = (TableOfContents);
59589
60373
  ;// CONCATENATED MODULE: ./components/index.js
59590
60374
 
59591
60375
 
@@ -60235,6 +61019,17 @@ var index_assign = (undefined && undefined.__assign) || function () {
60235
61019
  };
60236
61020
  return index_assign.apply(this, arguments);
60237
61021
  };
61022
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
61023
+ var t = {};
61024
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
61025
+ t[p] = s[p];
61026
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
61027
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
61028
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
61029
+ t[p[i]] = s[p[i]];
61030
+ }
61031
+ return t;
61032
+ };
60238
61033
 
60239
61034
 
60240
61035
 
@@ -60248,7 +61043,6 @@ var index_assign = (undefined && undefined.__assign) || function () {
60248
61043
  __webpack_require__(787);
60249
61044
 
60250
61045
  var unimplemented = src_default()('mdx:unimplemented');
60251
- var index_GlossaryItem = (GlossaryItem_default());
60252
61046
 
60253
61047
  var utils = {
60254
61048
  get options() {
@@ -60256,24 +61050,28 @@ var utils = {
60256
61050
  },
60257
61051
  BaseUrlContext: (BaseUrl_default()),
60258
61052
  getHref: Anchor.getHref,
60259
- GlossaryContext: index_GlossaryItem.GlossaryContext,
61053
+ GlossaryContext: (GlossaryItem_default()).GlossaryContext,
60260
61054
  VariablesContext: (dist_default()).VariablesContext,
60261
61055
  calloutIcons: {},
60262
61056
  };
60263
- var useMDXComponents = function () { return (index_assign({}, components_namespaceObject)); };
61057
+ var makeUseMDXComponents = function (more) {
61058
+ var components = index_assign(index_assign({}, components_namespaceObject), more);
61059
+ return function () { return components; };
61060
+ };
60264
61061
  var reactProcessor = function (opts) {
60265
61062
  if (opts === void 0) { opts = {}; }
60266
61063
  return core_createProcessor(index_assign({ remarkPlugins: [callouts] }, opts));
60267
61064
  };
60268
61065
  var index_compile = function (text, opts) {
60269
61066
  if (opts === void 0) { opts = {}; }
60270
- return String(compileSync(text, index_assign({ outputFormat: 'function-body', providerImportSource: '@mdx-js/react', remarkPlugins: [callouts] }, opts)));
61067
+ return String(compileSync(text, index_assign({ outputFormat: 'function-body', providerImportSource: '#', remarkPlugins: [callouts] }, opts)));
60271
61068
  };
60272
- var index_run = function (code, opts) {
60273
- if (opts === void 0) { opts = {}; }
61069
+ var index_run = function (code, _opts) {
61070
+ if (_opts === void 0) { _opts = {}; }
60274
61071
  // @ts-ignore
60275
61072
  var Fragment = jsx_runtime.Fragment;
60276
- var file = runSync(code, index_assign(index_assign(index_assign({}, jsx_runtime_namespaceObject), { Fragment: Fragment, baseUrl: '', useMDXComponents: useMDXComponents }), opts));
61073
+ var components = _opts.components, opts = __rest(_opts, ["components"]);
61074
+ var file = runSync(code, index_assign(index_assign(index_assign({}, jsx_runtime_namespaceObject), { Fragment: Fragment, baseUrl: '', useMDXComponents: makeUseMDXComponents(components) }), opts));
60277
61075
  return (file === null || file === void 0 ? void 0 : file.default) || (function () { return null; });
60278
61076
  };
60279
61077
  var reactTOC = function (text, opts) {
@@ -60311,7 +61109,6 @@ var plain = function (text, opts) {
60311
61109
  if (opts === void 0) { opts = {}; }
60312
61110
  unimplemented('plain export');
60313
61111
  };
60314
- /* harmony default export */ const index_0 = (react);
60315
61112
 
60316
61113
  })();
60317
61114