@apollo-annotation/jbrowse-plugin-apollo 0.2.0 → 0.2.1

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.
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@jbrowse/core/Plugin"),require("@jbrowse/core/util"),require("@jbrowse/core/configuration"),require("@jbrowse/core/pluggableElementTypes"),require("@mui/material/utils"),require("react/jsx-runtime"),require("mobx"),require("mobx-state-tree"),require("@mui/material"),require("@mui/material/InputAdornment"),require("@mui/material/LinearProgress"),require("react"),require("@jbrowse/core/ui"),require("mobx-react"),require("tss-react/mui"),require("@jbrowse/core/util/types/mst"),require("@jbrowse/core/util/io"),require("@mui/material/Checkbox"),require("@mui/material/FormControlLabel"),require("@mui/x-data-grid"),require("@jbrowse/core/pluggableElementTypes/AdapterType"),require("@jbrowse/core/data_adapters/BaseAdapter"),require("@jbrowse/core/util/rxjs"),require("@jbrowse/core/util/tracks")):"function"==typeof define&&define.amd?define(["exports","@jbrowse/core/Plugin","@jbrowse/core/util","@jbrowse/core/configuration","@jbrowse/core/pluggableElementTypes","@mui/material/utils","react/jsx-runtime","mobx","mobx-state-tree","@mui/material","@mui/material/InputAdornment","@mui/material/LinearProgress","react","@jbrowse/core/ui","mobx-react","tss-react/mui","@jbrowse/core/util/types/mst","@jbrowse/core/util/io","@mui/material/Checkbox","@mui/material/FormControlLabel","@mui/x-data-grid","@jbrowse/core/pluggableElementTypes/AdapterType","@jbrowse/core/data_adapters/BaseAdapter","@jbrowse/core/util/rxjs","@jbrowse/core/util/tracks"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).JBrowsePluginApollo={},e.JBrowseExports["@jbrowse/core/Plugin"],e.JBrowseExports["@jbrowse/core/util"],e.JBrowseExports["@jbrowse/core/configuration"],e.JBrowseExports["@jbrowse/core/pluggableElementTypes"],e.JBrowseExports["@mui/material/utils"],e.JBrowseExports["react/jsx-runtime"],e.JBrowseExports.mobx,e.JBrowseExports["mobx-state-tree"],e.JBrowseExports["@mui/material"],e.JBrowseExports["@mui/material/InputAdornment"],e.JBrowseExports["@mui/material/LinearProgress"],e.JBrowseExports.react,e.JBrowseExports["@jbrowse/core/ui"],e.JBrowseExports["mobx-react"],e.JBrowseExports["tss-react/mui"],e.JBrowseExports["@jbrowse/core/util/types/mst"],e.JBrowseExports["@jbrowse/core/util/io"],e.JBrowseExports["@mui/material/Checkbox"],e.JBrowseExports["@mui/material/FormControlLabel"],e.JBrowseExports["@mui/x-data-grid"],e.JBrowseExports["@jbrowse/core/pluggableElementTypes/AdapterType"],e.JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"],e.JBrowseExports["@jbrowse/core/util/rxjs"],e.JBrowseExports["@jbrowse/core/util/tracks"])}(this,(function(e,t,n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k){"use strict";function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function A(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,t}var C=E(t),O=E(n),R=E(i),N=E(a),I=E(u),P=E(l),T=E(f),M=E(d),j=A(d),F=E(v),L=E(_),D=E(w),q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function B(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t}function U(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var z={};function G(e){var t,n;function r(t,n){try{var i=e[t](n),a=i.value,s=a instanceof H;Promise.resolve(s?a.v:a).then((function(n){if(s){var u="return"===t?"return":"next";if(!a.k||n.done)return r(u,n);n=e[u](n).value}o(i.done?"return":"normal",n)}),(function(e){r("throw",e)}))}catch(e){o("throw",e)}}function o(e,o){switch(e){case"return":t.resolve({value:o,done:!0});break;case"throw":t.reject(o);break;default:t.resolve({value:o,done:!1})}(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,o){return new Promise((function(i,a){var s={key:e,arg:o,resolve:i,reject:a,next:null};n?n=n.next=s:(t=n=s,r(e,o))}))},"function"!=typeof e.return&&(this.return=void 0)}function H(e,t){this.v=e,this.k=t}function W(e){var t,n,r,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);o--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new V(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function V(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return V=function(e){this.s=e,this.n=e.next},V.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new V(e)}function $(e){return new H(e,0)}function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach((function(t){re(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Y(){Y=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var i=Object.create((t&&t.prototype instanceof y?t:y).prototype),a=new N(r||[]);return o(i,"_invoke",{value:A(e,n,a)}),i}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var d="suspendedStart",h="suspendedYield",p="executing",m="completed",g={};function y(){}function v(){}function _(){}var b={};c(b,a,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(I([])));S&&S!==n&&r.call(S,a)&&(b=S);var x=_.prototype=y.prototype=Object.create(b);function k(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function E(e,t){function n(o,i,a,s){var u=f(e[o],e,i);if("throw"!==u.type){var c=u.arg,l=c.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,s)}))}s(u.arg)}var i;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return i=i?i.then(o,o):o()}})}function A(t,n,r){var o=d;return function(i,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:e,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var u=C(s,r);if(u){if(u===g)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=p;var c=f(t,n,r);if("normal"===c.type){if(o=r.done?m:h,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(o=m,r.method="throw",r.arg=c.arg)}}}function C(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=f(o,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var a=i.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=_,o(x,"constructor",{value:_,configurable:!0}),o(_,"constructor",{value:v,configurable:!0}),v.displayName=c(_,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,c(e,u,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},k(E.prototype),c(E.prototype,s,(function(){return this})),t.AsyncIterator=E,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new E(l(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},k(x),c(x,u,"Generator"),c(x,a,(function(){return this})),c(x,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,N.prototype={constructor:N,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(R),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return s.type="throw",s.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;R(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function X(e,t,n,r,o,i,a){try{var s=e[i](a),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,o)}function Q(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){X(i,r,o,a,s,"next",e)}function s(e){X(i,r,o,a,s,"throw",e)}a(void 0)}))}}function ee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function te(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Se(r.key),r)}}function ne(e,t,n){return t&&te(e.prototype,t),n&&te(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function re(e,t,n){return(t=Se(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oe(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ae(e,t)}function ie(e){return ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ie(e)}function ae(e,t){return ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ae(e,t)}function se(){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(e){return!1}}function ue(e,t,n){return ue=se()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ae(o,n.prototype),o},ue.apply(null,arguments)}function ce(e){var t="function"==typeof Map?new Map:void 0;return ce=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return ue(e,arguments,ie(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ae(n,e)},ce(e)}function le(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fe(e){var t=se();return function(){var n,r=ie(e);if(t){var o=ie(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return le(e)}(this,n)}}function de(){return de="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ie(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},de.apply(this,arguments)}function he(e,t){return ge(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||ve(e,t)||be()}function pe(e){return ge(e)||ye(e)||ve(e)||be()}function me(e){return function(e){if(Array.isArray(e))return _e(e)}(e)||ye(e)||ve(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ge(e){if(Array.isArray(e))return e}function ye(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function ve(e,t){if(e){if("string"==typeof e)return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_e(e,t):void 0}}function _e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function be(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function we(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ve(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function Se(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}G.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},G.prototype.next=function(e){return this._invoke("next",e)},G.prototype.throw=function(e){return this._invoke("throw",e)},G.prototype.return=function(e){return this._invoke("return",e)};var xe=function(e,t){return xe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},xe(e,t)};function ke(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}xe(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Ee=function(){return Ee=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Ee.apply(this,arguments)};function Ae(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function Ce(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"===("undefined"==typeof Reflect?"undefined":Z(Reflect))&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function Oe(e,t){return function(n,r){t(n,r,e)}}function Re(e,t){if("object"===("undefined"==typeof Reflect?"undefined":Z(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Ne(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}u((r=r.apply(e,t||[])).next())}))}function Ie(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}var Pe=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function Te(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||Pe(t,e,n)}function Me(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function je(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function Fe(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(je(arguments[t]));return e}function Le(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)r[o]=i[a];return r}function De(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function qe(e){return this instanceof qe?(this.v=e,this):new qe(e)}function Be(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof qe?Promise.resolve(e.value.v).then(u,c):l(i[0][2],e)}(o[e](t))}catch(e){l(i[0][3],e)}}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function Ue(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:qe(e[r](t)),done:!1}:o?o(t):t}:o}}function ze(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Me(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}}function Ge(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var He=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function We(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&Pe(t,e,n);return He(t,e),t}function Ve(e){return e&&e.__esModule?e:{default:e}}function $e(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Je(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function Ke(e,t){if(null===t||"object"!==Z(t)&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function Ye(e,t,n){if(null!=t){if("object"!==Z(t)&&"function"!=typeof t)throw new TypeError("Object expected.");var r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose]}if("function"!=typeof r)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var Ze="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function Xe(e){function t(t){e.error=e.hasError?new Ze(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function n(){for(;e.stack.length;){var r=e.stack.pop();try{var o=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(o).then(n,(function(e){return t(e),n()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}var Qe={__proto__:null,__extends:ke,get __assign(){return Ee},__rest:Ae,__decorate:Ce,__param:Oe,__esDecorate:function(e,t,n,r,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,u=r.kind,c="getter"===u?"get":"setter"===u?"set":"value",l=!t&&e?r.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d=!1,h=n.length-1;h>=0;h--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var g=(0,n[h])("accessor"===u?{get:f.get,set:f.set}:f[c],p);if("accessor"===u){if(void 0===g)continue;if(null===g||"object"!==Z(g))throw new TypeError("Object expected");(s=a(g.get))&&(f.get=s),(s=a(g.set))&&(f.set=s),(s=a(g.init))&&o.unshift(s)}else(s=a(g))&&("field"===u?o.unshift(s):f[c]=s)}l&&Object.defineProperty(l,r.name,f),d=!0},__runInitializers:function(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0},__propKey:function(e){return"symbol"===Z(e)?e:"".concat(e)},__setFunctionName:function(e,t,n){return"symbol"===Z(t)&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})},__metadata:Re,__awaiter:Ne,__generator:Ie,__createBinding:Pe,__exportStar:Te,__values:Me,__read:je,__spread:Fe,__spreadArrays:Le,__spreadArray:De,__await:qe,__asyncGenerator:Be,__asyncDelegator:Ue,__asyncValues:ze,__makeTemplateObject:Ge,__importStar:We,__importDefault:Ve,__classPrivateFieldGet:$e,__classPrivateFieldSet:Je,__classPrivateFieldIn:Ke,__addDisposableResource:Ye,__disposeResources:Xe,default:{__extends:ke,__assign:Ee,__rest:Ae,__decorate:Ce,__param:Oe,__metadata:Re,__awaiter:Ne,__generator:Ie,__createBinding:Pe,__exportStar:Te,__values:Me,__read:je,__spread:Fe,__spreadArrays:Le,__spreadArray:De,__await:qe,__asyncGenerator:Be,__asyncDelegator:Ue,__asyncValues:ze,__makeTemplateObject:Ge,__importStar:We,__importDefault:Ve,__classPrivateFieldGet:$e,__classPrivateFieldSet:Je,__classPrivateFieldIn:Ke,__addDisposableResource:Ye,__disposeResources:Xe}},et=B(Qe),tt={};Object.defineProperty(tt,"__esModule",{value:!0}),tt.ApolloPlugin=void 0;var nt=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"apolloInstall",value:function(e){}}]),n}(et.__importDefault(C.default).default);tt.ApolloPlugin=nt;var rt={},ot={},it={};Object.defineProperty(it,"__esModule",{value:!0}),it.changeRegistry=void 0,it.changeRegistry=new(function(){function e(){ee(this,e),this.changes=new Map}return ne(e,[{key:"registerChange",value:function(e,t){if(this.changes.has(e))throw new Error('change type "'.concat(e,'" has already been registered'));this.changes.set(e,t)}},{key:"getChangeType",value:function(e){var t=this.changes.get(e);if(!t)throw new Error('No change constructor registered for "'.concat(e,'"'));return t}}]),e}());var at={};Object.defineProperty(at,"__esModule",{value:!0}),at.Operation=void 0;var st=function(){function e(t,n){var r;ee(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ne(e,[{key:"execute",value:(t=Q(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("Server"!==(n=t.typeName)){e.next=4;break}return r=this.executeOnServer(t),e.abrupt("return",t.pluginsService.evaluateExtensionPoint("".concat(this.typeName,"-transformResults"),r,{operation:this,backend:t}));case 4:if("LocalGFF3"!==n){e.next=6;break}return e.abrupt("return",this.executeOnLocalGFF3(t));case 6:throw new Error("no operation implementation for backend type '".concat(n,"'"));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}();at.Operation=st,Object.defineProperty(ot,"__esModule",{value:!0}),ot.Change=void 0,ot.isChange=function(e){return void 0!==e.executeOnClient};var ut=it,ct=function(e){oe(r,e);var t,n=fe(r);function r(){return ee(this,r),n.apply(this,arguments)}return ne(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("LocalGFF3"!==(n=t.typeName)&&"Server"!==n){e.next=3;break}return e.abrupt("return",de(ie(r.prototype),"execute",this).call(this,t));case 3:if("Client"!==n){e.next=5;break}return e.abrupt("return",this.executeOnClient(t));case 5:throw new Error("no change implementation for backend type '".concat(n,"'"));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}],[{key:"fromJSON",value:function(e,t){return new(ut.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(at.Operation);ot.Change=ct,Object.defineProperty(rt,"__esModule",{value:!0}),rt.AssemblySpecificChange=void 0,rt.isAssemblySpecificChange=function(e){return(0,lt.isChange)(e)&&void 0!==e.assembly};var lt=ot;rt.AssemblySpecificChange=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ne(n)}(lt.Change);var ft={};Object.defineProperty(ft,"__esModule",{value:!0}),ft.Check=void 0,ft.Check=ne((function e(){ee(this,e)}));var dt={};Object.defineProperty(dt,"__esModule",{value:!0}),dt.checkRegistry=void 0,dt.checkRegistry=new(function(){function e(){ee(this,e),this.checks=new Map}return ne(e,[{key:"registerCheck",value:function(e,t){if(this.checks.has(e))throw new Error('check "'.concat(e,'" has already been registered'));this.checks.set(e,t)}},{key:"getCheck",value:function(e){var t=this.checks.get(e);if(!t)throw new Error('No check constructor registered for "'.concat(e,'"'));return t}},{key:"getChecks",value:function(){return this.checks}}]),e}());var ht={},pt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function mt(){throw new Error("setTimeout has not been defined")}function gt(){throw new Error("clearTimeout has not been defined")}var yt=mt,vt=gt;function _t(e){if(yt===setTimeout)return setTimeout(e,0);if((yt===mt||!yt)&&setTimeout)return yt=setTimeout,setTimeout(e,0);try{return yt(e,0)}catch(t){try{return yt.call(null,e,0)}catch(t){return yt.call(this,e,0)}}}"function"==typeof pt.setTimeout&&(yt=setTimeout),"function"==typeof pt.clearTimeout&&(vt=clearTimeout);var bt,wt=[],St=!1,xt=-1;function kt(){St&&bt&&(St=!1,bt.length?wt=bt.concat(wt):xt=-1,wt.length&&Et())}function Et(){if(!St){var e=_t(kt);St=!0;for(var t=wt.length;t;){for(bt=wt,wt=[];++xt<t;)bt&&bt[xt].run();xt=-1,t=wt.length}bt=null,St=!1,function(e){if(vt===clearTimeout)return clearTimeout(e);if((vt===gt||!vt)&&clearTimeout)return vt=clearTimeout,clearTimeout(e);try{return vt(e)}catch(t){try{return vt.call(null,e)}catch(t){return vt.call(this,e)}}}(e)}}function At(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];wt.push(new Ct(e,t)),1!==wt.length||St||_t(Et)}function Ct(e,t){this.fun=e,this.array=t}function Ot(){}Ct.prototype.run=function(){this.fun.apply(null,this.array)};var Rt=Ot,Nt=Ot,It=Ot,Pt=Ot,Tt=Ot,Mt=Ot,jt=Ot,Ft=pt.performance||{},Lt=Ft.now||Ft.mozNow||Ft.msNow||Ft.oNow||Ft.webkitNow||function(){return(new Date).getTime()},Dt=new Date,qt={nextTick:At,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Rt,addListener:Nt,once:It,off:Pt,removeListener:Tt,removeAllListeners:Mt,emit:jt,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*Lt.call(Ft),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-Dt)/1e3}},Bt=[],Ut=[],zt="undefined"!=typeof Uint8Array?Uint8Array:Array,Gt=!1;function Ht(){Gt=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Bt[t]=e[t],Ut[e.charCodeAt(t)]=t;Ut["-".charCodeAt(0)]=62,Ut["_".charCodeAt(0)]=63}function Wt(e,t,n){for(var r,o=[],i=t;i<n;i+=3)o.push(Bt[(r=(e[i]<<16)+(e[i+1]<<8)+e[i+2])>>18&63]+Bt[r>>12&63]+Bt[r>>6&63]+Bt[63&r]);return o.join("")}function Vt(e,t,n,r,o){var i,a,s=8*o-r-1,u=(1<<s)-1,c=u>>1,l=-7,f=n?o-1:0,d=n?-1:1,h=e[t+f];for(f+=d,i=h&(1<<-l)-1,h>>=-l,l+=s;l>0;i=256*i+e[t+f],f+=d,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=256*a+e[t+f],f+=d,l-=8);if(0===i)i=1-c;else{if(i===u)return a?NaN:Infinity*(h?-1:1);a+=Math.pow(2,r),i-=c}return(h?-1:1)*a*Math.pow(2,i-r)}function $t(e,t,n,r,o,i){var a,s,u,c=8*i-o-1,l=(1<<c)-1,f=l>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,p=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||Infinity===t?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?d/u:d*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,o),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,o),a=0));o>=8;e[n+h]=255&s,h+=p,s/=256,o-=8);for(a=a<<o|s,c+=o;c>0;e[n+h]=255&a,h+=p,a/=256,c-=8);e[n+h-p]|=128*m}var Jt={}.toString,Kt=Array.isArray||function(e){return"[object Array]"==Jt.call(e)};function Yt(){return Xt.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Zt(e,t){if(Yt()<t)throw new RangeError("Invalid typed array length");return Xt.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Xt.prototype:(null===e&&(e=new Xt(t)),e.length=t),e}function Xt(e,t,n){if(!(Xt.TYPED_ARRAY_SUPPORT||this instanceof Xt))return new Xt(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return tn(this,e)}return Qt(this,e,t,n)}function Qt(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),Xt.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Xt.prototype:e=nn(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!Xt.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|an(t,n),o=(e=Zt(e,r)).write(t,n);return o!==r&&(e=e.slice(0,o)),e}(e,t,n):function(e,t){if(on(t)){var n=0|rn(t.length);return 0===(e=Zt(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?Zt(e,0):nn(e,t);if("Buffer"===t.type&&Kt(t.data))return nn(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function en(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function tn(e,t){if(en(t),e=Zt(e,t<0?0:0|rn(t)),!Xt.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function nn(e,t){var n=t.length<0?0:0|rn(t.length);e=Zt(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function rn(e){if(e>=Yt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Yt().toString(16)+" bytes");return 0|e}function on(e){return!(null==e||!e._isBuffer)}function an(e,t){if(on(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Tn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Mn(e).length;default:if(r)return Tn(e).length;t=(""+t).toLowerCase(),r=!0}}function sn(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Sn(this,t,n);case"utf8":case"utf-8":return vn(this,t,n);case"ascii":return bn(this,t,n);case"latin1":case"binary":return wn(this,t,n);case"base64":return yn(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xn(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function un(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function cn(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=Xt.from(t,r)),on(t))return 0===t.length?-1:ln(e,t,n,r,o);if("number"==typeof t)return t&=255,Xt.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):ln(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function ln(e,t,n,r,o){var i,a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var l=-1;for(i=n;i<s;i++)if(c(e,i)===c(t,-1===l?0:i-l)){if(-1===l&&(l=i),i-l+1===u)return l*a}else-1!==l&&(i-=i-l),l=-1}else for(n+u>s&&(n=s-u),i=n;i>=0;i--){for(var f=!0,d=0;d<u;d++)if(c(e,i+d)!==c(t,d)){f=!1;break}if(f)return i}return-1}function fn(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function dn(e,t,n,r){return jn(Tn(t,e.length-n),e,n,r)}function hn(e,t,n,r){return jn(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function pn(e,t,n,r){return hn(e,t,n,r)}function mn(e,t,n,r){return jn(Mn(t),e,n,r)}function gn(e,t,n,r){return jn(function(e,t){for(var n,r,o=[],i=0;i<e.length&&!((t-=2)<0);++i)r=(n=e.charCodeAt(i))>>8,o.push(n%256),o.push(r);return o}(t,e.length-n),e,n,r)}function yn(e,t,n){return function(e){var t;Gt||Ht();for(var n=e.length,r=n%3,o="",i=[],a=16383,s=0,u=n-r;s<u;s+=a)i.push(Wt(e,s,s+a>u?u:s+a));return 1===r?(o+=Bt[(t=e[n-1])>>2],o+=Bt[t<<4&63],o+="=="):2===r&&(o+=Bt[(t=(e[n-2]<<8)+e[n-1])>>10],o+=Bt[t>>4&63],o+=Bt[t<<2&63],o+="="),i.push(o),i.join("")}(0===t&&n===e.length?e:e.slice(t,n))}function vn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var i,a,s,u,c=e[o],l=null,f=c>239?4:c>223?3:c>191?2:1;if(o+f<=n)switch(f){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(u=(31&c)<<6|63&i)>127&&(l=u);break;case 3:a=e[o+2],128==(192&(i=e[o+1]))&&128==(192&a)&&(u=(15&c)<<12|(63&i)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:a=e[o+2],s=e[o+3],128==(192&(i=e[o+1]))&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,f=1):l>65535&&(r.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=_n)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=_n));return n}(r)}Xt.TYPED_ARRAY_SUPPORT=void 0===pt.TYPED_ARRAY_SUPPORT||pt.TYPED_ARRAY_SUPPORT,Xt.poolSize=8192,Xt._augment=function(e){return e.__proto__=Xt.prototype,e},Xt.from=function(e,t,n){return Qt(null,e,t,n)},Xt.TYPED_ARRAY_SUPPORT&&(Xt.prototype.__proto__=Uint8Array.prototype,Xt.__proto__=Uint8Array),Xt.alloc=function(e,t,n){return function(e,t,n,r){return en(t),t<=0?Zt(e,t):void 0!==n?"string"==typeof r?Zt(e,t).fill(n,r):Zt(e,t).fill(n):Zt(e,t)}(null,e,t,n)},Xt.allocUnsafe=function(e){return tn(null,e)},Xt.allocUnsafeSlow=function(e){return tn(null,e)},Xt.isBuffer=Fn,Xt.compare=function(e,t){if(!on(e)||!on(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},Xt.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Xt.concat=function(e,t){if(!Kt(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Xt.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=Xt.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var i=e[n];if(!on(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(r,o),o+=i.length}return r},Xt.byteLength=an,Xt.prototype._isBuffer=!0,Xt.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)un(this,t,t+1);return this},Xt.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)un(this,t,t+3),un(this,t+1,t+2);return this},Xt.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)un(this,t,t+7),un(this,t+1,t+6),un(this,t+2,t+5),un(this,t+3,t+4);return this},Xt.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?vn(this,0,e):sn.apply(this,arguments)},Xt.prototype.equals=function(e){if(!on(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Xt.compare(this,e)},Xt.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},Xt.prototype.compare=function(e,t,n,r,o){if(!on(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(i,a),u=this.slice(r,o),c=e.slice(t,n),l=0;l<s;++l)if(u[l]!==c[l]){i=u[l],a=c[l];break}return i<a?-1:a<i?1:0},Xt.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},Xt.prototype.indexOf=function(e,t,n){return cn(this,e,t,n,!0)},Xt.prototype.lastIndexOf=function(e,t,n){return cn(this,e,t,n,!1)},Xt.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return fn(this,e,t,n);case"utf8":case"utf-8":return dn(this,e,t,n);case"ascii":return hn(this,e,t,n);case"latin1":case"binary":return pn(this,e,t,n);case"base64":return mn(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return gn(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},Xt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var _n=4096;function bn(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function wn(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function Sn(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",i=t;i<n;++i)o+=Pn(e[i]);return o}function xn(e,t,n){for(var r=e.slice(t,n),o="",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}function kn(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function En(e,t,n,r,o,i){if(!on(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function An(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o<i;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function Cn(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o<i;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function On(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Rn(e,t,n,r,o){return o||On(e,0,n,4),$t(e,t,n,r,23,4),n+4}function Nn(e,t,n,r,o){return o||On(e,0,n,8),$t(e,t,n,r,52,8),n+8}Xt.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),Xt.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=Xt.prototype;else{var o=t-e;n=new Xt(o,void 0);for(var i=0;i<o;++i)n[i]=this[i+e]}return n},Xt.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r},Xt.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},Xt.prototype.readUInt8=function(e,t){return t||kn(e,1,this.length),this[e]},Xt.prototype.readUInt16LE=function(e,t){return t||kn(e,2,this.length),this[e]|this[e+1]<<8},Xt.prototype.readUInt16BE=function(e,t){return t||kn(e,2,this.length),this[e]<<8|this[e+1]},Xt.prototype.readUInt32LE=function(e,t){return t||kn(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Xt.prototype.readUInt32BE=function(e,t){return t||kn(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Xt.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},Xt.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},Xt.prototype.readInt8=function(e,t){return t||kn(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Xt.prototype.readInt16LE=function(e,t){t||kn(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Xt.prototype.readInt16BE=function(e,t){t||kn(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Xt.prototype.readInt32LE=function(e,t){return t||kn(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Xt.prototype.readInt32BE=function(e,t){return t||kn(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Xt.prototype.readFloatLE=function(e,t){return t||kn(e,4,this.length),Vt(this,e,!0,23,4)},Xt.prototype.readFloatBE=function(e,t){return t||kn(e,4,this.length),Vt(this,e,!1,23,4)},Xt.prototype.readDoubleLE=function(e,t){return t||kn(e,8,this.length),Vt(this,e,!0,52,8)},Xt.prototype.readDoubleBE=function(e,t){return t||kn(e,8,this.length),Vt(this,e,!1,52,8)},Xt.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||En(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i<n&&(o*=256);)this[t+i]=e/o&255;return t+n},Xt.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||En(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+n},Xt.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,1,255,0),Xt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Xt.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,65535,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):An(this,e,t,!0),t+2},Xt.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,65535,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):An(this,e,t,!1),t+2},Xt.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,4294967295,0),Xt.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Cn(this,e,t,!0),t+4},Xt.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,4294967295,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Cn(this,e,t,!1),t+4},Xt.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);En(this,e,t,n,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<n&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},Xt.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);En(this,e,t,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},Xt.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,1,127,-128),Xt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Xt.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,32767,-32768),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):An(this,e,t,!0),t+2},Xt.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,32767,-32768),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):An(this,e,t,!1),t+2},Xt.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,2147483647,-2147483648),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Cn(this,e,t,!0),t+4},Xt.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Cn(this,e,t,!1),t+4},Xt.prototype.writeFloatLE=function(e,t,n){return Rn(this,e,t,!0,n)},Xt.prototype.writeFloatBE=function(e,t,n){return Rn(this,e,t,!1,n)},Xt.prototype.writeDoubleLE=function(e,t,n){return Nn(this,e,t,!0,n)},Xt.prototype.writeDoubleBE=function(e,t,n){return Nn(this,e,t,!1,n)},Xt.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!Xt.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},Xt.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!Xt.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var i;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var a=on(e)?e:Tn(new Xt(e,r).toString()),s=a.length;for(i=0;i<n-t;++i)this[i+t]=a[i%s]}return this};var In=/[^+\/0-9A-Za-z-_]/g;function Pn(e){return e<16?"0"+e.toString(16):e.toString(16)}function Tn(e,t){var n;t=t||Infinity;for(var r=e.length,o=null,i=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function Mn(e){return function(e){var t,n,r,o,i,a;Gt||Ht();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=new zt(3*s/4-(i="="===e[s-2]?2:"="===e[s-1]?1:0)),r=i>0?s-4:s;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)o=Ut[e.charCodeAt(t)]<<18|Ut[e.charCodeAt(t+1)]<<12|Ut[e.charCodeAt(t+2)]<<6|Ut[e.charCodeAt(t+3)],a[u++]=o>>16&255,a[u++]=o>>8&255,a[u++]=255&o;return 2===i?(o=Ut[e.charCodeAt(t)]<<2|Ut[e.charCodeAt(t+1)]>>4,a[u++]=255&o):1===i&&(o=Ut[e.charCodeAt(t)]<<10|Ut[e.charCodeAt(t+1)]<<4|Ut[e.charCodeAt(t+2)]>>2,a[u++]=o>>8&255,a[u++]=255&o),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(In,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function jn(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function Fn(e){return null!=e&&(!!e._isBuffer||Ln(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Ln(e.slice(0,0))}(e))}function Ln(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}for(var Dn=Math.floor(16777215*Math.random()),qn=$n.index=parseInt(16777215*Math.random(),10),Bn=(void 0===qt||"number"!=typeof qt.pid?Math.floor(1e5*Math.random()):qt.pid)%65535,Un=function(){try{return _Buffer}catch(e){try{return Xt}catch(e){return null}}}(),zn=function(e){return!(null==e||!e.constructor||"function"!=typeof e.constructor.isBuffer||!e.constructor.isBuffer(e))},Gn=[],Hn=0;Hn<256;Hn++)Gn[Hn]=(Hn<=15?"0":"")+Hn.toString(16);var Wn=new RegExp("^[0-9a-fA-F]{24}$"),Vn=[];for(Hn=0;Hn<10;)Vn[48+Hn]=Hn++;for(;Hn<16;)Vn[55+Hn]=Vn[87+Hn]=Hn++;function $n(e){if(!(this instanceof $n))return new $n(e);if(e&&(e instanceof $n||"ObjectID"===e._bsontype))return e;if(this._bsontype="ObjectID",null!=e&&"number"!=typeof e){var t=$n.isValid(e);if(!t&&null!=e)throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");if(t&&"string"==typeof e&&24===e.length)return $n.createFromHexString(e);if(null==e||12!==e.length){if(null!=e&&"function"==typeof e.toHexString)return e;throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters")}this.id=e}else this.id=this.generate(e)}var Jn=$n;$n.default=$n,$n.createFromTime=function(e){return new $n(function(e,t){return 8===(t=t.toString(16)).length?t:"00000000".substring(t.length,8)+t}(0,e=parseInt(e,10)%4294967295)+"0000000000000000")},$n.createFromHexString=function(e){if(void 0===e||null!=e&&24!==e.length)throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");for(var t="",n=0;n<24;)t+=String.fromCharCode(Vn[e.charCodeAt(n++)]<<4|Vn[e.charCodeAt(n++)]);return new $n(t)},$n.isValid=function(e){return null!=e&&("number"==typeof e||("string"==typeof e?12===e.length||24===e.length&&Wn.test(e):e instanceof $n||(zn(e)?$n.isValid(e.toString("hex")):!("function"!=typeof e.toHexString||!Un||!(e.id instanceof Un||"string"==typeof e.id))&&(12===e.id.length||24===e.id.length&&Wn.test(e.id)))))},$n.prototype={constructor:$n,toHexString:function(){if(!this.id||!this.id.length)throw new Error("invalid ObjectId, ObjectId.id must be either a string or a Buffer, but is ["+JSON.stringify(this.id)+"]");if(24===this.id.length)return this.id;if(zn(this.id))return this.id.toString("hex");for(var e="",t=0;t<this.id.length;t++)e+=Gn[this.id.charCodeAt(t)];return e},equals:function(e){return e instanceof $n?this.toString()===e.toString():"string"==typeof e&&$n.isValid(e)&&12===e.length&&zn(this.id)?e===this.id.toString("binary"):"string"==typeof e&&$n.isValid(e)&&24===e.length?e.toLowerCase()===this.toHexString():"string"==typeof e&&$n.isValid(e)&&12===e.length?e===this.id:!(null==e||!(e instanceof $n||e.toHexString))&&e.toHexString()===this.toHexString()},getTimestamp:function(){var e,t=new Date;return e=zn(this.id)?this.id[3]|this.id[2]<<8|this.id[1]<<16|this.id[0]<<24:this.id.charCodeAt(3)|this.id.charCodeAt(2)<<8|this.id.charCodeAt(1)<<16|this.id.charCodeAt(0)<<24,t.setTime(1e3*Math.floor(e)),t},generate:function(e){"number"!=typeof e&&(e=~~(Date.now()/1e3)),e=parseInt(e,10)%4294967295;var t=qn=(qn+1)%16777215;return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e,Dn>>16&255,Dn>>8&255,255&Dn,Bn>>8&255,255&Bn,t>>16&255,t>>8&255,255&t)}};var Kn=Symbol&&Symbol.for&&Symbol.for("nodejs.util.inspect.custom")||"inspect";$n.prototype[Kn]=function(){return"ObjectID("+this+")"},$n.prototype.toJSON=$n.prototype.toHexString,$n.prototype.toString=$n.prototype.toHexString,Object.defineProperty(ht,"__esModule",{value:!0}),ht.FeatureChange=void 0,ht.isFeatureChange=function(e){return(0,Zn.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var Yn=et.__importDefault(Jn),Zn=rt,Xn=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ne(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,i,a=this.logger;if(null===(n=a.verbose)||void 0===n||n.call(a,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=a.debug)||void 0===r||r.call(a,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=a.debug)||void 0===o||o.call(a,"FeatureId was not found on top level so lets make recursive call...");var s,u=we(null!==(i=e.children)&&void 0!==i?i:new Map);try{for(u.s();!(s=u.n()).done;){var c=he(s.value,2),l=this.getFeatureFromId(c[1],t);if(l)return l}}catch(e){u.e(e)}finally{u.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=we((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=he(t.value,2);n.push.apply(n,[o[0]].concat(me(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new Yn.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,i=Object.values(e.children);o<i.length;o++){var a=this.generateNewIds(i[o],t);r[a._id]=a}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return K(K({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(Zn.AssemblySpecificChange);ht.FeatureChange=Xn;var Qn={};Object.defineProperty(Qn,"__esModule",{value:!0}),Qn.operationRegistry=void 0,Qn.operationRegistry=new(function(){function e(){ee(this,e),this.operations=new Map}return ne(e,[{key:"registerOperation",value:function(e,t){if(this.operations.has(e))throw new Error('operation type "'.concat(e,'" has already been registered'));this.operations.set(e,t)}},{key:"getOperationType",value:function(e){var t=this.operations.get(e);if(!t)throw new Error('No operation constructor registered for "'.concat(e,'"'));return t}}]),e}());var er={};Object.defineProperty(er,"__esModule",{value:!0}),er.Validation=void 0,er.isContext=function(e){return"context"in e&&"reflector"in e};var tr=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();er.Validation=tr,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(tt,e),t.__exportStar(rt,e),t.__exportStar(ot,e),t.__exportStar(it,e),t.__exportStar(ft,e),t.__exportStar(dt,e),t.__exportStar(ht,e),t.__exportStar(at,e),t.__exportStar(Qn,e),t.__exportStar(er,e)}(z);var nr={},rr={},or={},ir={},ar={},sr={};Object.defineProperty(sr,"__esModule",{value:!0}),sr.ApolloPlugin=void 0;var ur=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"apolloInstall",value:function(e){}}]),n}(et.__importDefault(C.default).default);sr.ApolloPlugin=ur;var cr={},lr={},fr={};Object.defineProperty(fr,"__esModule",{value:!0}),fr.changeRegistry=void 0,fr.changeRegistry=new(function(){function e(){ee(this,e),this.changes=new Map}return ne(e,[{key:"registerChange",value:function(e,t){if(this.changes.has(e))throw new Error('change type "'.concat(e,'" has already been registered'));this.changes.set(e,t)}},{key:"getChangeType",value:function(e){var t=this.changes.get(e);if(!t)throw new Error('No change constructor registered for "'.concat(e,'"'));return t}}]),e}());var dr={};Object.defineProperty(dr,"__esModule",{value:!0}),dr.Operation=void 0;var hr=function(){function e(t,n){var r;ee(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ne(e,[{key:"execute",value:(t=Q(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("Server"!==(n=t.typeName)){e.next=4;break}return r=this.executeOnServer(t),e.abrupt("return",t.pluginsService.evaluateExtensionPoint("".concat(this.typeName,"-transformResults"),r,{operation:this,backend:t}));case 4:if("LocalGFF3"!==n){e.next=6;break}return e.abrupt("return",this.executeOnLocalGFF3(t));case 6:throw new Error("no operation implementation for backend type '".concat(n,"'"));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}();dr.Operation=hr,Object.defineProperty(lr,"__esModule",{value:!0}),lr.Change=void 0,lr.isChange=function(e){return void 0!==e.executeOnClient};var pr=fr,mr=function(e){oe(r,e);var t,n=fe(r);function r(){return ee(this,r),n.apply(this,arguments)}return ne(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("LocalGFF3"!==(n=t.typeName)&&"Server"!==n){e.next=3;break}return e.abrupt("return",de(ie(r.prototype),"execute",this).call(this,t));case 3:if("Client"!==n){e.next=5;break}return e.abrupt("return",this.executeOnClient(t));case 5:throw new Error("no change implementation for backend type '".concat(n,"'"));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}],[{key:"fromJSON",value:function(e,t){return new(pr.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(dr.Operation);lr.Change=mr,Object.defineProperty(cr,"__esModule",{value:!0}),cr.AssemblySpecificChange=void 0,cr.isAssemblySpecificChange=function(e){return(0,gr.isChange)(e)&&void 0!==e.assembly};var gr=lr;cr.AssemblySpecificChange=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ne(n)}(gr.Change);var yr={};Object.defineProperty(yr,"__esModule",{value:!0}),yr.Check=void 0,yr.Check=ne((function e(){ee(this,e)}));var vr={};Object.defineProperty(vr,"__esModule",{value:!0}),vr.checkRegistry=void 0,vr.checkRegistry=new(function(){function e(){ee(this,e),this.checks=new Map}return ne(e,[{key:"registerCheck",value:function(e,t){if(this.checks.has(e))throw new Error('check "'.concat(e,'" has already been registered'));this.checks.set(e,t)}},{key:"getCheck",value:function(e){var t=this.checks.get(e);if(!t)throw new Error('No check constructor registered for "'.concat(e,'"'));return t}},{key:"getChecks",value:function(){return this.checks}}]),e}());var _r={};Object.defineProperty(_r,"__esModule",{value:!0}),_r.FeatureChange=void 0,_r.isFeatureChange=function(e){return(0,wr.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var br=et.__importDefault(Jn),wr=cr,Sr=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ne(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,i,a=this.logger;if(null===(n=a.verbose)||void 0===n||n.call(a,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=a.debug)||void 0===r||r.call(a,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=a.debug)||void 0===o||o.call(a,"FeatureId was not found on top level so lets make recursive call...");var s,u=we(null!==(i=e.children)&&void 0!==i?i:new Map);try{for(u.s();!(s=u.n()).done;){var c=he(s.value,2),l=this.getFeatureFromId(c[1],t);if(l)return l}}catch(e){u.e(e)}finally{u.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=we((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=he(t.value,2);n.push.apply(n,[o[0]].concat(me(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new br.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,i=Object.values(e.children);o<i.length;o++){var a=this.generateNewIds(i[o],t);r[a._id]=a}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return K(K({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(wr.AssemblySpecificChange);_r.FeatureChange=Sr;var xr={};Object.defineProperty(xr,"__esModule",{value:!0}),xr.operationRegistry=void 0,xr.operationRegistry=new(function(){function e(){ee(this,e),this.operations=new Map}return ne(e,[{key:"registerOperation",value:function(e,t){if(this.operations.has(e))throw new Error('operation type "'.concat(e,'" has already been registered'));this.operations.set(e,t)}},{key:"getOperationType",value:function(e){var t=this.operations.get(e);if(!t)throw new Error('No operation constructor registered for "'.concat(e,'"'));return t}}]),e}());var kr={};Object.defineProperty(kr,"__esModule",{value:!0}),kr.Validation=void 0,kr.isContext=function(e){return"context"in e&&"reflector"in e};var Er=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();kr.Validation=Er,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(sr,e),t.__exportStar(cr,e),t.__exportStar(lr,e),t.__exportStar(fr,e),t.__exportStar(yr,e),t.__exportStar(vr,e),t.__exportStar(_r,e),t.__exportStar(dr,e),t.__exportStar(xr,e),t.__exportStar(kr,e)}(ar);var Ar={},Cr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.internalToGFF=e.gffToInternal=void 0,e.isGFFReservedAttribute=function(t){return t in e.gffToInternal},e.gffToInternal={ID:"gff_id",Name:"gff_name",Alias:"gff_alias",Parent:"gff_parent",Target:"gff_target",Gap:"gff_gap",Derives_from:"gff_derives_from",Note:"gff_note",Dbxref:"gff_dbxref",Ontology_term:"gff_ontology_term",Is_circular:"gff_is_circular"},e.internalToGFF={gff_id:"ID",gff_name:"Name",gff_alias:"Alias",gff_parent:"Parent",gff_target:"Target",gff_gap:"Gap",gff_derives_from:"Derives_from",gff_note:"Note",gff_dbxref:"Dbxref",gff_ontology_term:"Ontology_term",gff_is_circular:"Is_circular"}}(Cr);var Or={};Object.defineProperty(Or,"__esModule",{value:!0}),Or.gff3ToAnnotationFeature=function e(t,n,r){var o=he(t,1)[0],i=o.end,a=o.seq_id,s=o.start,u=o.strand,c=o.type;if(!a)throw new Error("feature does not have seq_id: ".concat(JSON.stringify(o)));if(!c)throw new Error("feature does not have type: ".concat(JSON.stringify(o)));if(null===s)throw new Error("feature does not have start: ".concat(JSON.stringify(o)));if(null===i)throw new Error("feature does not have end: ".concat(JSON.stringify(o)));var l=he(function(e){if(e.length>1&&!e.every((function(e){return"CDS"===e.type})))throw new Error("GFF3 features has multiple locations but is not a CDS");var t=e.map((function(e){return e.start})).filter((function(e){return null!==e})),n=e.map((function(e){return e.end})).filter((function(e){return null!==e}));return[Math.min.apply(Math,me(t))-1,Math.max.apply(Math,me(n))]}(t),2),f=l[0],d=l[1],h=function(t,n,r){var o={},i=t.filter((function(e){return e.child_features.length>0}));if(i.length>1)throw new Error("Features with multiple locations may not have children");if(0!==i.length){var a,s=[],u=we(he(i,1)[0].child_features);try{for(u.s();!(a=u.n()).done;){var c=a.value,l=he(c,1)[0];if("three_prime_UTR"!==l.type&&"five_prime_UTR"!==l.type&&"intron"!==l.type&&"start_codon"!==l.type&&"stop_codon"!==l.type)if("CDS"===l.type)s.push(c);else{var f=e(c,n,r);o[f._id]=f}}}catch(e){u.e(e)}finally{u.f()}var d,h=s.length>0?function(t,n,r){var o=t.map((function(e){return e.length}));if(o.some((function(e){return e>1})))return t.map((function(t){return e(t,n,r)}));var i=t.map((function(e){return e[0]})).filter((function(e){return null!==e.start&&null!==e.end})).sort((function(e,t){return e.start-t.start}));if(!i.some((function(e,t){var n=i.at(t+1);return!!n&&(0,Rr.doesIntersect2)(e.start,e.end,n.start,n.end)})))return[e(i,n,r)];var a,s=t.map((function(e){return e[0]})),u=[],c=we(s);try{var l=function(){var e=a.value,t=u.at(-1);if(!t)return u.push([e]),1;t.some((function(t){return(0,Rr.doesIntersect2)(t.start,t.end,e.start,e.end)}))?u.push([e]):t.push(e)};for(c.s();!(a=c.n()).done;)l()}catch(e){c.e(e)}finally{c.f()}return u.map((function(t){return e(t,n,r)}))}(s,n,r):[],p=we(h);try{for(p.s();!(d=p.n()).done;){var m=d.value;o[m._id]=m}}catch(e){p.e(e)}finally{p.f()}return Object.keys(o).length>0?o:void 0}}(t,n,r),p=function(e){var t={},n=e.map((function(e){return e.score})).filter((function(e){return null!==e})),r=e.map((function(e){return e.source})).filter((function(e){return null!==e})),o=e.map((function(e){return e.attributes})).filter((function(e){return null!==e}));if(n.length>0){var i=he(n,1)[0];n.length>1&&(i=n.reduce((function(e,t){return e+t}),0)/n.length),t.gff_score=[String(i)]}if(r.length>0){var a=he(r,1)[0];r.length>1&&(a=me(new Set(r)).join(",")),t.gff_source=[a]}if(o.length>0){var s,u=we(o);try{for(u.s();!(s=u.n()).done;)for(var c=0,l=Object.entries(s.value);c<l.length;c++){var f=he(l[c],2),d=f[0],h=f[1];if(h&&"Parent"!==d){var p=(0,Ir.isGFFReservedAttribute)(d)?Ir.gffToInternal[d]:d,m=t[p];if(m){var g=new Set([].concat(me(m),me(h)));t[p]=me(g)}else t[p]=h}}}catch(e){u.e(e)}finally{u.f()}}if(Object.keys(t).length>0)return t}(t),m={_id:(new Nr.default).toHexString(),refSeq:null!=n?n:a,type:c,min:f,max:d};if(u)if("+"===u)m.strand=1;else{if("-"!==u)throw new Error('Unknown strand: "'.concat(u,'"'));m.strand=-1}return h&&(m.children=h),p&&(m.attributes=p),r&&r.push(m._id),m};var Rr=O.default,Nr=et.__importDefault(Jn),Ir=Cr;!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(Cr,e),t.__exportStar(Or,e)}(Ar),Object.defineProperty(ir,"__esModule",{value:!0}),ir.FromFileBaseChange=void 0;var Pr=Ar,Tr=function(e){oe(i,e);var t,n,r,o=fe(i);function i(){var e;ee(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return re(le(e=o.call.apply(o,[this].concat(n))),"refSeqCache",new Map),e}return ne(i,[{key:"addRefSeqIntoDb",value:(r=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P,T,M,j,F,L,D,q,B,U,z,G,H,V,$,J,Z,X;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.logger,a=r.filesService,s=r.refSeqChunkModel,u=r.refSeqModel,c=r.user,f=(l=qt.env.CHUNK_SIZE)&&Number(l),d=0,h=0,m="text/x-gff3"!==t.type,g=a.getFileStream(t),y="",v="",_=!0,b=!1,null===(o=i.debug)||void 0===o||o.call(i,"starting sequence stream"),w=0,S=!1,x=!1,e.prev=16,E=W(g);case 18:return e.next=20,E.next();case 20:if(!(S=!(A=e.sent).done)){e.next=102;break}C=A.value.toString(),_=!C.endsWith("\n"),O=C.split(/\r?\n/),v&&(O[0]="".concat(v).concat(O[0]),v=""),_&&(v=O.pop()||""),R=!1,N=!1,e.prev=29,P=W(O);case 31:return e.next=33,P.next();case 33:if(!(R=!(T=e.sent).done)){e.next=83;break}if(M=T.value,++w%1e6==0&&(null===(j=i.debug)||void 0===j||j.call(i,"Processed ".concat(w," lines"))),m){e.next=40;break}return"##FASTA"===M.trim()&&(m=!0),e.abrupt("continue",80);case 40:if(!(F=/^>\s*(\S+)\s*(.*)/.exec(M))){e.next=66;break}if(b=!0,null===(L=i.debug)||void 0===L||L.call(i,'Reference sequence information line "'.concat(F[0],'"')),""===y){e.next=51;break}if(p){e.next=47;break}throw new Error("No refSeq document found");case 47:return h+=y.length,e.next=50,s.create([{refSeq:p._id,n:d,sequence:y,user:c,status:-1}]);case 50:y="";case 51:return e.next=53,null===(D=p)||void 0===D?void 0:D.updateOne({length:h});case 53:return h=0,d=0,B=F[1].trim(),U=F[2]?F[2].trim():"",e.next=59,u.create([K(K({name:B,description:U,assembly:n,length:0},f?{chunkSize:f}:null),{},{user:c,status:-1})]);case 59:z=he(e.sent,1),G=z[0],null===(q=i.debug)||void 0===q||q.call(i,'Added new refSeq "'.concat(B,'", desc "').concat(U,'", docId "').concat(G._id,'"')),p=G,e.next=80;break;case 66:if(!/\S/.test(M)){e.next=80;break}if(p){e.next=69;break}throw new Error("No refSeq document found");case 69:V=(H=p)._id,$=H.chunkSize,y+=M.replaceAll(/\s/g,"");case 71:if(!(y.length>=$)){e.next=80;break}return J=y.slice(0,$),h+=J.length,e.next=76,s.create([{refSeq:V,n:d,sequence:J,user:c,status:-1}]);case 76:d++,y=y.slice($),e.next=71;break;case 80:R=!1,e.next=31;break;case 83:e.next=89;break;case 85:e.prev=85,e.t0=e.catch(29),N=!0,I=e.t0;case 89:if(e.prev=89,e.prev=90,!R||null==P.return){e.next=94;break}return e.next=94,P.return();case 94:if(e.prev=94,!N){e.next=97;break}throw I;case 97:return e.finish(94);case 98:return e.finish(89);case 99:S=!1,e.next=18;break;case 102:e.next=108;break;case 104:e.prev=104,e.t1=e.catch(16),x=!0,k=e.t1;case 108:if(e.prev=108,e.prev=109,!S||null==E.return){e.next=113;break}return e.next=113,E.return();case 113:if(e.prev=113,!x){e.next=116;break}throw k;case 116:return e.finish(113);case 117:return e.finish(108);case 118:if(b){e.next=120;break}throw new Error("No reference sequences found in file");case 120:if(!y&&!_){e.next=131;break}if(p){e.next=123;break}throw new Error("No refSeq document found");case 123:return _&&(y+=v),h+=y.length,null===(Z=i.verbose)||void 0===Z||Z.call(i,'*** Add the very last chunk to ref seq ("'.concat(p._id,'", index ').concat(d," and total length for ref seq is ").concat(h,'): "').concat(y,'"')),null===(X=i.debug)||void 0===X||X.call(i,"Creating refSeq chunk number ".concat(d,' of "').concat(p._id,'"')),e.next=129,s.create([{refSeq:p._id,n:d,sequence:y,user:c,status:-1}]);case 129:return e.next=131,p.updateOne({length:h});case 131:case"end":return e.stop()}}),e,this,[[16,104,108,118],[29,85,89,99],[90,,94,98],[109,,113,117]])}))),function(e,t,n){return r.apply(this,arguments)})},{key:"removeExistingFeatures",value:(n=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.featureModel,o=t.refSeqModel,i=this.assembly,null===(n=(a=this.logger).debug)||void 0===n||n.call(a,"Removing existing features for assembly = ".concat(i)),e.next=5,o.find({assembly:i}).exec();case 5:s=we(e.sent),e.prev=7,s.s();case 9:if((u=s.n()).done){e.next=15;break}return c=u.value,e.next=13,r.deleteMany({refSeq:c._id});case 13:e.next=9;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(7),s.e(e.t0);case 20:return e.prev=20,s.f(),e.finish(20);case 23:case"end":return e.stop()}}),e,this,[[7,17,20,23]])}))),function(e){return n.apply(this,arguments)})},{key:"addFeatureIntoDb",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f,d,h;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.refSeqModel,i=n.user,a=this.assembly,s=this.refSeqCache,u=he(t,1),c=u[0].seq_id){e.next=5;break}throw new Error("Valid seq_id not found in feature ".concat(JSON.stringify(t)));case 5:if(l=s.get(c)){e.next=20;break}return e.next=9,o.findOne({assembly:a,name:c}).exec();case 9:if(e.t1=f=e.sent,e.t0=null!==e.t1,!e.t0){e.next=13;break}e.t0=void 0!==f;case 13:if(!e.t0){e.next=17;break}e.t2=f,e.next=18;break;case 17:e.t2=void 0;case 18:(l=e.t2)&&s.set(c,l);case 20:if(l){e.next=22;break}throw new Error('RefSeq was not found by assembly "'.concat(a,'" and seq_id "').concat(c,'" not found'));case 22:return h=(0,Pr.gff3ToAnnotationFeature)(t,l._id,d=[]),e.next=26,r.create([K(K({allIds:d},h),{},{user:i,status:-1})]);case 26:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),i}(ar.AssemblySpecificChange);ir.FromFileBaseChange=Tr,Object.defineProperty(or,"__esModule",{value:!0}),or.AddAssemblyAndFeaturesFromFileChange=void 0;var Mr=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddAssemblyAndFeaturesFromFileChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.fileModel,i=t.filesService,a=t.user,s=this.assembly,u=this.logger,c=we(this.changes),e.prev=3,c.s();case 5:if((l=c.n()).done){e.next=71;break}if(g=(m=l.value).assemblyName,y=m.fileIds.fa,qt.env.FILE_UPLOAD_FOLDER){e.next=12;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 12:return e.next=14,o.findById(y).exec();case 14:if(v=e.sent){e.next=17;break}throw new Error('File "'.concat(y,'" not found in Mongo'));case 17:return null===(f=u.debug)||void 0===f||f.call(u,'FileId "'.concat(y,'", checksum "').concat(v.checksum,'"')),e.next=20,n.findOne({name:g}).exec();case 20:if(!e.sent){e.next=23;break}throw new Error('Assembly "'.concat(g,'" already exists'));case 23:return e.next=25,r.find({default:!0}).exec();case 25:return _=e.sent.map((function(e){return e._id.toHexString()})),e.next=29,n.create([{_id:s,name:g,user:a,status:-1,fileId:y,checks:_}]);case 29:return b=he(e.sent,1),w=b[0],null===(d=u.debug)||void 0===d||d.call(u,'Added new assembly "'.concat(g,'", docId "').concat(w._id.toHexString(),'"')),null===(h=u.debug)||void 0===h||h.call(u,'File type: "'.concat(v.type,'"')),e.next=36,this.addRefSeqIntoDb(v,w._id.toString(),t);case 36:null===(p=u.debug)||void 0===p||p.call(u,'**************** LOOPATAAN KAIKKI FEATURET SEURAAVAKSI File type: "'.concat(v.type,'"')),S=i.parseGFF3(i.getFileStream(v)),x=!1,k=!1,e.prev=40,A=W(S);case 42:return e.next=44,A.next();case 44:if(!(x=!(C=e.sent).done)){e.next=53;break}return R=C.value,null===(O=u.verbose)||void 0===O||O.call(u,"ENTRY=".concat(JSON.stringify(R))),e.next=50,this.addFeatureIntoDb(R,t);case 50:x=!1,e.next=42;break;case 53:e.next=59;break;case 55:e.prev=55,e.t0=e.catch(40),k=!0,E=e.t0;case 59:if(e.prev=59,e.prev=60,!x||null==A.return){e.next=64;break}return e.next=64,A.return();case 64:if(e.prev=64,!k){e.next=67;break}throw E;case 67:return e.finish(64);case 68:return e.finish(59);case 69:e.next=5;break;case 71:e.next=76;break;case 73:e.prev=73,e.t1=e.catch(3),c.e(e.t1);case 76:return e.prev=76,c.f(),e.finish(76);case 79:case"end":return e.stop()}}),e,this,[[3,73,76,79],[40,55,59,69],[60,,64,68]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ir.FromFileBaseChange);or.AddAssemblyAndFeaturesFromFileChange=Mr;var jr={},Fr={},Lr=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ee(this,e),this.baseOverrides={},this.url=t;var r=n.fetch||globalThis.fetch.bind(globalThis);if(!r)throw new TypeError("no fetch function supplied, and none found in global environment");n.overrides&&(this.baseOverrides=n.overrides),this.fetchImplementation=r}var t,n,r,o,i,a;return ne(e,[{key:"getBufferFromResponse",value:(a=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.buffer){e.next=4;break}return e.abrupt("return",t.buffer());case 4:if("function"!=typeof t.arrayBuffer){e.next=11;break}return e.next=7,t.arrayBuffer();case 7:return e.abrupt("return",Xt.from(e.sent));case 11:throw new TypeError("invalid HTTP response object, has no buffer method, and no arrayBuffer method");case 12:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"fetch",value:(i=Q(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.fetchImplementation(t,n);case 3:case 12:r=e.sent,e.next=16;break;case 6:if(e.prev=6,e.t0=e.catch(0),!"".concat(e.t0).includes("Failed to fetch")){e.next=15;break}return console.warn("generic-filehandle: refetching ".concat(t," to attempt to work around chrome CORS header caching bug")),e.next=12,this.fetchImplementation(t,K(K({},n),{},{cache:"reload"}));case 15:throw e.t0;case 16:return e.abrupt("return",r);case 17:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t){return i.apply(this,arguments)})},{key:"read",value:(o=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=y.length>1&&void 0!==y[1]?y[1]:0,o=y.length>3&&void 0!==y[3]?y[3]:0,s=void 0===(a=(i=y.length>4&&void 0!==y[4]?y[4]:{}).headers)?{}:a,u=i.signal,l=void 0===(c=i.overrides)?{}:c,(r=y.length>2?y[2]:void 0)<Infinity?s.range="bytes=".concat(o,"-").concat(o+r):Infinity===r&&0!==o&&(s.range="bytes=".concat(o,"-")),f=K(K(K({},this.baseOverrides),l),{},{headers:K(K(K({},s),l.headers),this.baseOverrides.headers),method:"GET",redirect:"follow",mode:"cors",signal:u}),e.next=9,this.fetch(this.url,f);case 9:if((d=e.sent).ok){e.next=12;break}throw new Error("HTTP ".concat(d.status," ").concat(d.statusText," ").concat(this.url));case 12:if((200!==d.status||0!==o)&&206!==d.status){e.next=21;break}return e.next=15,this.getBufferFromResponse(d);case 15:return p=(h=e.sent).copy(t,n,0,Math.min(r,h.length)),m=d.headers.get("content-range"),(g=/\/(\d+)$/.exec(m||""))&&g[1]&&(this._stat={size:parseInt(g[1],10)}),e.abrupt("return",{bytesRead:p,buffer:t});case 21:if(200!==d.status){e.next=23;break}throw new Error("${this.url} fetch returned status 200, expected 206");case 23:throw new Error("HTTP ".concat(d.status," fetching ").concat(this.url));case 24:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Q(Y().mark((function e(){var t,n,r,o,i,a,s,u,c,l=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof(t=l.length>0&&void 0!==l[0]?l[0]:{})?(n=t,r={}):(n=t.encoding,delete(r=t).encoding),s=void 0===(a=(o=r).overrides)?{}:a,u=K(K({headers:void 0===(i=o.headers)?{}:i,method:"GET",redirect:"follow",mode:"cors",signal:o.signal},this.baseOverrides),s),e.next=6,this.fetch(this.url,u);case 6:if(c=e.sent){e.next=9;break}throw new Error("generic-filehandle failed to fetch");case 9:if(200===c.status){e.next=11;break}throw Object.assign(new Error("HTTP ".concat(c.status," fetching ").concat(this.url)),{status:c.status});case 11:if("utf8"!==n){e.next=13;break}return e.abrupt("return",c.text());case 13:if(!n){e.next=15;break}throw new Error("unsupported encoding: ".concat(n));case 15:return e.abrupt("return",this.getBufferFromResponse(c));case 16:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"stat",value:(n=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._stat){e.next=6;break}return t=Xt.allocUnsafe(10),e.next=4,this.read(t,0,10,0);case 4:if(this._stat){e.next=6;break}throw new Error("unable to determine size of file at ".concat(this.url));case 6:return e.abrupt("return",this._stat);case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"close",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return");case 1:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}]),e}();function Dr(e){var t=new FileReader;return new Promise((function(n,r){t.onerror=function(){t.abort(),r(new Error("problem reading blob"))},t.onabort=function(){r(new Error("blob reading was aborted"))},t.onload=function(){t.result&&"string"!=typeof t.result?n(t.result):r(new Error("unknown error reading blob"))},t.readAsArrayBuffer(e)}))}function qr(e){var t=new FileReader;return new Promise((function(n,r){t.onerror=function(){t.abort(),r(new Error("problem reading blob"))},t.onabort=function(){r(new Error("blob reading was aborted"))},t.onload=function(){t.result&&"string"==typeof t.result?n(t.result):r(new Error("unknown error reading blob"))},t.readAsText(e)}))}var Br=function(){function e(t){ee(this,e),this.blob=t,this.size=t.size}var t,n,r,o;return ne(e,[{key:"read",value:(o=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=c.length>1&&void 0!==c[1]?c[1]:0,o=c.length>3&&void 0!==c[3]?c[3]:0,r=c.length>2?c[2]:void 0){e.next=5;break}return e.abrupt("return",{bytesRead:0,buffer:t});case 5:return a=(i=o)+r,e.next=9,Dr(this.blob.slice(i,a));case 9:return s=Xt.from(e.sent),u=s.copy(t,n),e.abrupt("return",{bytesRead:u,buffer:s});case 13:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("utf8"!==(n="string"==typeof t?t:t&&t.encoding)){e.next=3;break}return e.abrupt("return",qr(this.blob));case 3:if(!n){e.next=5;break}throw new Error("unsupported encoding: ".concat(n));case 5:return e.next=7,Dr(this.blob);case 7:return e.abrupt("return",Xt.from(e.sent));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"stat",value:(n=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{size:this.size});case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"close",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return");case 1:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}]),e}();function Ur(e){return new Lr(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}var zr={__proto__:null,open:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(void 0!==n)return n;if(void 0!==e)return Ur(e,r);if(void 0!==t)return new Fr(t,r);throw new Error("no url, path, or filehandle provided, cannot open")},fromUrl:Ur,RemoteFile:Lr,LocalFile:Fr,BlobFile:Br},Gr={};!function(e){var t="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!==Z(r))throw new TypeError(r+"must be non-object");for(var o in r)n(r,o)&&(e[o]=r[o])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,r,o){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),o);else for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){var t,n,r,o,i,a;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(a=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)a.set(i=e[t],o),o+=i.length;return a}},o={arraySet:function(e,t,n,r,o){for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){return[].concat.apply([],e)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,r)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,o))},e.setTyped(t)}(Gr);var Hr={},Wr={},Vr={},$r=Gr;function Jr(e){for(var t=e.length;--t>=0;)e[t]=0}var Kr=15,Yr=16,Zr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Xr=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Qr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],eo=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],to=new Array(576);Jr(to);var no=new Array(60);Jr(no);var ro=new Array(512);Jr(ro);var oo=new Array(256);Jr(oo);var io=new Array(29);Jr(io);var ao,so,uo,co=new Array(30);function lo(e,t,n,r,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=o,this.has_stree=e&&e.length}function fo(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function ho(e){return e<256?ro[e]:ro[256+(e>>>7)]}function po(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function mo(e,t,n){e.bi_valid>Yr-n?(e.bi_buf|=t<<e.bi_valid&65535,po(e,e.bi_buf),e.bi_buf=t>>Yr-e.bi_valid,e.bi_valid+=n-Yr):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function go(e,t,n){mo(e,n[2*t],n[2*t+1])}function yo(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function vo(e,t,n){var r,o,i=new Array(Kr+1),a=0;for(r=1;r<=Kr;r++)i[r]=a=a+n[r-1]<<1;for(o=0;o<=t;o++){var s=e[2*o+1];0!==s&&(e[2*o]=yo(i[s]++,s))}}function _o(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function bo(e){e.bi_valid>8?po(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function wo(e,t,n,r){var o=2*t,i=2*n;return e[o]<e[i]||e[o]===e[i]&&r[t]<=r[n]}function So(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&wo(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!wo(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function xo(e,t,n){var r,o,i,a,s=0;if(0!==e.last_lit)do{r=e.pending_buf[e.d_buf+2*s]<<8|e.pending_buf[e.d_buf+2*s+1],o=e.pending_buf[e.l_buf+s],s++,0===r?go(e,o,t):(go(e,(i=oo[o])+256+1,t),0!==(a=Zr[i])&&mo(e,o-=io[i],a),go(e,i=ho(--r),n),0!==(a=Xr[i])&&mo(e,r-=co[i],a))}while(s<e.last_lit);go(e,256,t)}function ko(e,t){var n,r,o,i=t.dyn_tree,a=t.stat_desc.static_tree,s=t.stat_desc.has_stree,u=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=573,n=0;n<u;n++)0!==i[2*n]?(e.heap[++e.heap_len]=c=n,e.depth[n]=0):i[2*n+1]=0;for(;e.heap_len<2;)i[2*(o=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[o]=0,e.opt_len--,s&&(e.static_len-=a[2*o+1]);for(t.max_code=c,n=e.heap_len>>1;n>=1;n--)So(e,i,n);o=u;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],So(e,i,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,i[2*o]=i[2*n]+i[2*r],e.depth[o]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,i[2*n+1]=i[2*r+1]=o,e.heap[1]=o++,So(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,o,i,a,s,u=t.dyn_tree,c=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(i=0;i<=Kr;i++)e.bl_count[i]=0;for(u[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(i=u[2*u[2*(r=e.heap[n])+1]+1]+1)>p&&(i=p,m++),u[2*r+1]=i,r>c||(e.bl_count[i]++,a=0,r>=h&&(a=d[r-h]),e.opt_len+=(s=u[2*r])*(i+a),f&&(e.static_len+=s*(l[2*r+1]+a)));if(0!==m){do{for(i=p-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[p]--,m-=2}while(m>0);for(i=p;0!==i;i--)for(r=e.bl_count[i];0!==r;)(o=e.heap[--n])>c||(u[2*o+1]!==i&&(e.opt_len+=(i-u[2*o+1])*u[2*o],u[2*o+1]=i),r--)}}(e,t),vo(i,c,e.bl_count)}function Eo(e,t,n){var r,o,i=-1,a=t[1],s=0,u=7,c=4;for(0===a&&(u=138,c=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)o=a,a=t[2*(r+1)+1],++s<u&&o===a||(s<c?e.bl_tree[2*o]+=s:0!==o?(o!==i&&e.bl_tree[2*o]++,e.bl_tree[32]++):s<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=0,i=o,0===a?(u=138,c=3):o===a?(u=6,c=3):(u=7,c=4))}function Ao(e,t,n){var r,o,i=-1,a=t[1],s=0,u=7,c=4;for(0===a&&(u=138,c=3),r=0;r<=n;r++)if(o=a,a=t[2*(r+1)+1],!(++s<u&&o===a)){if(s<c)do{go(e,o,e.bl_tree)}while(0!=--s);else 0!==o?(o!==i&&(go(e,o,e.bl_tree),s--),go(e,16,e.bl_tree),mo(e,s-3,2)):s<=10?(go(e,17,e.bl_tree),mo(e,s-3,3)):(go(e,18,e.bl_tree),mo(e,s-11,7));s=0,i=o,0===a?(u=138,c=3):o===a?(u=6,c=3):(u=7,c=4)}}Jr(co);var Co=!1;function Oo(e,t,n,r){mo(e,0+(r?1:0),3),function(e,t,n,r){bo(e),po(e,n),po(e,~n),$r.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n)}Vr._tr_init=function(e){Co||(function(){var e,t,n,r,o,i=new Array(Kr+1);for(n=0,r=0;r<28;r++)for(io[r]=n,e=0;e<1<<Zr[r];e++)oo[n++]=r;for(oo[n-1]=r,o=0,r=0;r<16;r++)for(co[r]=o,e=0;e<1<<Xr[r];e++)ro[o++]=r;for(o>>=7;r<30;r++)for(co[r]=o<<7,e=0;e<1<<Xr[r]-7;e++)ro[256+o++]=r;for(t=0;t<=Kr;t++)i[t]=0;for(e=0;e<=143;)to[2*e+1]=8,e++,i[8]++;for(;e<=255;)to[2*e+1]=9,e++,i[9]++;for(;e<=279;)to[2*e+1]=7,e++,i[7]++;for(;e<=287;)to[2*e+1]=8,e++,i[8]++;for(vo(to,287,i),e=0;e<30;e++)no[2*e+1]=5,no[2*e]=yo(e,5);ao=new lo(to,Zr,257,286,Kr),so=new lo(no,Xr,0,30,Kr),uo=new lo(new Array(0),Qr,0,19,7)}(),Co=!0),e.l_desc=new fo(e.dyn_ltree,ao),e.d_desc=new fo(e.dyn_dtree,so),e.bl_desc=new fo(e.bl_tree,uo),e.bi_buf=0,e.bi_valid=0,_o(e)},Vr._tr_stored_block=Oo,Vr._tr_flush_block=function(e,t,n,r){var o,i,a=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),ko(e,e.l_desc),ko(e,e.d_desc),a=function(e){var t;for(Eo(e,e.dyn_ltree,e.l_desc.max_code),Eo(e,e.dyn_dtree,e.d_desc.max_code),ko(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*eo[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),(i=e.static_len+3+7>>>3)<=(o=e.opt_len+3+7>>>3)&&(o=i)):o=i=n+5,n+4<=o&&-1!==t?Oo(e,t,n,r):4===e.strategy||i===o?(mo(e,2+(r?1:0),3),xo(e,to,no)):(mo(e,4+(r?1:0),3),function(e,t,n,r){var o;for(mo(e,t-257,5),mo(e,n-1,5),mo(e,r-4,4),o=0;o<r;o++)mo(e,e.bl_tree[2*eo[o]+1],3);Ao(e,e.dyn_ltree,t-1),Ao(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),xo(e,e.dyn_ltree,e.dyn_dtree)),_o(e),r&&bo(e)},Vr._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(oo[n]+256+1)]++,e.dyn_dtree[2*ho(t)]++),e.last_lit===e.lit_bufsize-1},Vr._tr_align=function(e){mo(e,2,3),go(e,256,to),function(e){16===e.bi_valid?(po(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)};var Ro=function(e,t,n,r){for(var o=65535&e|0,i=e>>>16&65535|0,a=0;0!==n;){n-=a=n>2e3?2e3:n;do{i=i+(o=o+t[r++]|0)|0}while(--a);o%=65521,i%=65521}return o|i<<16|0};function No(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}var Io,Po=No(),To=function(e,t,n,r){var o=Po,i=r+n;e^=-1;for(var a=r;a<i;a++)e=e>>>8^o[255&(e^t[a])];return-1^e},Mo={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},jo=Gr,Fo=Vr,Lo=Ro,Do=To,qo=Mo,Bo=0,Uo=0,zo=-2,Go=2,Ho=8,Wo=286,Vo=30,$o=19,Jo=2*Wo+1,Ko=15,Yo=3,Zo=258,Xo=Zo+Yo+1,Qo=42,ei=103,ti=113,ni=666;function ri(e,t){return e.msg=qo[t],t}function oi(e){return(e<<1)-(e>4?9:0)}function ii(e){for(var t=e.length;--t>=0;)e[t]=0}function ai(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(jo.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function si(e,t){Fo._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ai(e.strm)}function ui(e,t){e.pending_buf[e.pending++]=t}function ci(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function li(e,t){var n,r,o=e.max_chain_length,i=e.strstart,a=e.prev_length,s=e.nice_match,u=e.strstart>e.w_size-Xo?e.strstart-(e.w_size-Xo):0,c=e.window,l=e.w_mask,f=e.prev,d=e.strstart+Zo,h=c[i+a-1],p=c[i+a];e.prev_length>=e.good_match&&(o>>=2),s>e.lookahead&&(s=e.lookahead);do{if(c[(n=t)+a]===p&&c[n+a-1]===h&&c[n]===c[i]&&c[++n]===c[i+1]){i+=2,n++;do{}while(c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&i<d);if(r=Zo-(d-i),i=d-Zo,r>a){if(e.match_start=t,a=r,r>=s)break;h=c[i+a-1],p=c[i+a]}}}while((t=f[t&l])>u&&0!=--o);return a<=e.lookahead?a:e.lookahead}function fi(e){var t,n,r,o,i,a,s,u,c,l,f=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-Xo)){jo.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=n=e.hash_size;do{r=e.head[--t],e.head[t]=r>=f?r-f:0}while(--n);t=n=f;do{r=e.prev[--t],e.prev[t]=r>=f?r-f:0}while(--n);o+=f}if(0===e.strm.avail_in)break;if(s=e.window,u=e.strstart+e.lookahead,l=void 0,(l=(a=e.strm).avail_in)>(c=o)&&(l=c),n=0===l?0:(a.avail_in-=l,jo.arraySet(s,a.input,a.next_in,l,u),1===a.state.wrap?a.adler=Lo(a.adler,s,l,u):2===a.state.wrap&&(a.adler=Do(a.adler,s,l,u)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=n,e.lookahead+e.insert>=Yo)for(e.ins_h=e.window[i=e.strstart-e.insert],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+Yo-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<Yo)););}while(e.lookahead<Xo&&0!==e.strm.avail_in)}function di(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(fi(e),0===e.lookahead&&t===Bo)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,si(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-Xo&&(si(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(si(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&si(e,!1),1)}function hi(e,t){for(var n,r;;){if(e.lookahead<Xo){if(fi(e),e.lookahead<Xo&&t===Bo)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=Yo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yo-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-Xo&&(e.match_length=li(e,n)),e.match_length>=Yo)if(r=Fo._tr_tally(e,e.strstart-e.match_start,e.match_length-Yo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Yo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yo-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=Fo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(si(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<Yo-1?e.strstart:Yo-1,4===t?(si(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(si(e,!1),0===e.strm.avail_out)?1:2}function pi(e,t){for(var n,r,o;;){if(e.lookahead<Xo){if(fi(e),e.lookahead<Xo&&t===Bo)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=Yo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yo-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Yo-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-Xo&&(e.match_length=li(e,n),e.match_length<=5&&(1===e.strategy||e.match_length===Yo&&e.strstart-e.match_start>4096)&&(e.match_length=Yo-1)),e.prev_length>=Yo&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-Yo,r=Fo._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-Yo),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yo-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=Yo-1,e.strstart++,r&&(si(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=Fo._tr_tally(e,0,e.window[e.strstart-1]))&&si(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Fo._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Yo-1?e.strstart:Yo-1,4===t?(si(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(si(e,!1),0===e.strm.avail_out)?1:2}function mi(e,t,n,r,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=o}function gi(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ho,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new jo.Buf16(2*Jo),this.dyn_dtree=new jo.Buf16(2*(2*Vo+1)),this.bl_tree=new jo.Buf16(2*(2*$o+1)),ii(this.dyn_ltree),ii(this.dyn_dtree),ii(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new jo.Buf16(Ko+1),this.heap=new jo.Buf16(2*Wo+1),ii(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new jo.Buf16(2*Wo+1),ii(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function yi(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=Go,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Qo:ti,e.adler=2===t.wrap?0:1,t.last_flush=Bo,Fo._tr_init(t),Uo):ri(e,zo)}function vi(e){var t,n=yi(e);return n===Uo&&((t=e.state).window_size=2*t.w_size,ii(t.head),t.max_lazy_match=Io[t.level].max_lazy,t.good_match=Io[t.level].good_length,t.nice_match=Io[t.level].nice_length,t.max_chain_length=Io[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=Yo-1,t.match_available=0,t.ins_h=0),n}function _i(e,t,n,r,o,i){if(!e)return zo;var a=1;if(-1===t&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>9||n!==Ho||r<8||r>15||t<0||t>9||i<0||i>4)return ri(e,zo);8===r&&(r=9);var s=new gi;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=o+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+Yo-1)/Yo),s.window=new jo.Buf8(2*s.w_size),s.head=new jo.Buf16(s.hash_size),s.prev=new jo.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new jo.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=i,s.method=n,vi(e)}Io=[new mi(0,0,0,0,di),new mi(4,4,8,4,hi),new mi(4,5,16,8,hi),new mi(4,6,32,32,hi),new mi(4,4,16,16,pi),new mi(8,16,32,32,pi),new mi(8,16,128,128,pi),new mi(8,32,128,256,pi),new mi(32,128,258,1024,pi),new mi(32,258,258,4096,pi)],Wr.deflateInit=function(e,t){return _i(e,t,Ho,15,8,0)},Wr.deflateInit2=_i,Wr.deflateReset=vi,Wr.deflateResetKeep=yi,Wr.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?zo:(e.state.gzhead=t,Uo):zo},Wr.deflate=function(e,t){var n,r,o,i;if(!e||!e.state||t>5||t<0)return e?ri(e,zo):zo;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===ni&&4!==t)return ri(e,0===e.avail_out?-5:zo);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===Qo)if(2===r.wrap)e.adler=0,ui(r,31),ui(r,139),ui(r,8),r.gzhead?(ui(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),ui(r,255&r.gzhead.time),ui(r,r.gzhead.time>>8&255),ui(r,r.gzhead.time>>16&255),ui(r,r.gzhead.time>>24&255),ui(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),ui(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(ui(r,255&r.gzhead.extra.length),ui(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=Do(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(ui(r,0),ui(r,0),ui(r,0),ui(r,0),ui(r,0),ui(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),ui(r,3),r.status=ti);else{var a=Ho+(r.w_bits-8<<4)<<8;a|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(a|=32),a+=31-a%31,r.status=ti,ci(r,a),0!==r.strstart&&(ci(r,e.adler>>>16),ci(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),ai(e),o=r.pending,r.pending!==r.pending_buf_size));)ui(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),ai(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}i=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,ui(r,i)}while(0!==i);r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),0===i&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),ai(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}i=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,ui(r,i)}while(0!==i);r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),0===i&&(r.status=ei)}else r.status=ei;if(r.status===ei&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&ai(e),r.pending+2<=r.pending_buf_size&&(ui(r,255&e.adler),ui(r,e.adler>>8&255),e.adler=0,r.status=ti)):r.status=ti),0!==r.pending){if(ai(e),0===e.avail_out)return r.last_flush=-1,Uo}else if(0===e.avail_in&&oi(t)<=oi(n)&&4!==t)return ri(e,-5);if(r.status===ni&&0!==e.avail_in)return ri(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==Bo&&r.status!==ni){var s=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(fi(e),0===e.lookahead)){if(t===Bo)return 1;break}if(e.match_length=0,n=Fo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(si(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(si(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(si(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,r,o,i,a=e.window;;){if(e.lookahead<=Zo){if(fi(e),e.lookahead<=Zo&&t===Bo)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=Yo&&e.strstart>0&&(r=a[o=e.strstart-1])===a[++o]&&r===a[++o]&&r===a[++o]){i=e.strstart+Zo;do{}while(r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&o<i);e.match_length=Zo-(i-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Yo?(n=Fo._tr_tally(e,1,e.match_length-Yo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Fo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(si(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(si(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(si(e,!1),0===e.strm.avail_out)?1:2}(r,t):Io[r.level].func(r,t);if(3!==s&&4!==s||(r.status=ni),1===s||3===s)return 0===e.avail_out&&(r.last_flush=-1),Uo;if(2===s&&(1===t?Fo._tr_align(r):5!==t&&(Fo._tr_stored_block(r,0,0,!1),3===t&&(ii(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),ai(e),0===e.avail_out))return r.last_flush=-1,Uo}return 4!==t?Uo:r.wrap<=0?1:(2===r.wrap?(ui(r,255&e.adler),ui(r,e.adler>>8&255),ui(r,e.adler>>16&255),ui(r,e.adler>>24&255),ui(r,255&e.total_in),ui(r,e.total_in>>8&255),ui(r,e.total_in>>16&255),ui(r,e.total_in>>24&255)):(ci(r,e.adler>>>16),ci(r,65535&e.adler)),ai(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?Uo:1)},Wr.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==Qo&&69!==t&&73!==t&&91!==t&&t!==ei&&t!==ti&&t!==ni?ri(e,zo):(e.state=null,t===ti?ri(e,-3):Uo):zo},Wr.deflateSetDictionary=function(e,t){var n,r,o,i,a,s,u,c,l=t.length;if(!e||!e.state)return zo;if(2===(i=(n=e.state).wrap)||1===i&&n.status!==Qo||n.lookahead)return zo;for(1===i&&(e.adler=Lo(e.adler,t,l,0)),n.wrap=0,l>=n.w_size&&(0===i&&(ii(n.head),n.strstart=0,n.block_start=0,n.insert=0),c=new jo.Buf8(n.w_size),jo.arraySet(c,t,l-n.w_size,n.w_size,0),t=c,l=n.w_size),a=e.avail_in,s=e.next_in,u=e.input,e.avail_in=l,e.next_in=0,e.input=t,fi(n);n.lookahead>=Yo;){r=n.strstart,o=n.lookahead-(Yo-1);do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+Yo-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++}while(--o);n.strstart=r,n.lookahead=Yo-1,fi(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=Yo-1,n.match_available=0,e.next_in=s,e.input=u,e.avail_in=a,n.wrap=i,Uo},Wr.deflateInfo="pako deflate (from Nodeca project)";var bi={},wi=Gr,Si=!0,xi=!0;try{String.fromCharCode.apply(null,[0])}catch(e){Si=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){xi=!1}for(var ki=new wi.Buf8(256),Ei=0;Ei<256;Ei++)ki[Ei]=Ei>=252?6:Ei>=248?5:Ei>=240?4:Ei>=224?3:Ei>=192?2:1;function Ai(e,t){if(t<65534&&(e.subarray&&xi||!e.subarray&&Si))return String.fromCharCode.apply(null,wi.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}ki[254]=ki[254]=1,bi.string2buf=function(e){var t,n,r,o,i,a=e.length,s=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new wi.Buf8(s),i=0,o=0;i<s;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|63&n):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|63&n):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|63&n);return t},bi.buf2binstring=function(e){return Ai(e,e.length)},bi.binstring2buf=function(e){for(var t=new wi.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t},bi.buf2string=function(e,t){var n,r,o,i,a=t||e.length,s=new Array(2*a);for(r=0,n=0;n<a;)if((o=e[n++])<128)s[r++]=o;else if((i=ki[o])>4)s[r++]=65533,n+=i-1;else{for(o&=2===i?31:3===i?15:7;i>1&&n<a;)o=o<<6|63&e[n++],i--;i>1?s[r++]=65533:o<65536?s[r++]=o:(s[r++]=55296|(o-=65536)>>10&1023,s[r++]=56320|1023&o)}return Ai(s,r)},bi.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+ki[e[n]]>t?n:t};var Ci=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Oi=Wr,Ri=Gr,Ni=bi,Ii=Mo,Pi=Ci,Ti=Object.prototype.toString,Mi=0,ji=-1,Fi=0,Li=8;function Di(e){if(!(this instanceof Di))return new Di(e);this.options=Ri.assign({level:ji,method:Li,chunkSize:16384,windowBits:15,memLevel:8,strategy:Fi,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Pi,this.strm.avail_out=0;var n=Oi.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Mi)throw new Error(Ii[n]);if(t.header&&Oi.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?Ni.string2buf(t.dictionary):"[object ArrayBuffer]"===Ti.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Oi.deflateSetDictionary(this.strm,r))!==Mi)throw new Error(Ii[n]);this._dict_set=!0}}function qi(e,t){var n=new Di(t);if(n.push(e,!0),n.err)throw n.msg||Ii[n.err];return n.result}Di.prototype.push=function(e,t){var n,r,o=this.strm,i=this.options.chunkSize;if(this.ended)return!1;r=t===~~t?t:!0===t?4:0,o.input="string"==typeof e?Ni.string2buf(e):"[object ArrayBuffer]"===Ti.call(e)?new Uint8Array(e):e,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new Ri.Buf8(i),o.next_out=0,o.avail_out=i),1!==(n=Oi.deflate(o,r))&&n!==Mi)return this.onEnd(n),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==r&&2!==r)||this.onData("string"===this.options.to?Ni.buf2binstring(Ri.shrinkBuf(o.output,o.next_out)):Ri.shrinkBuf(o.output,o.next_out))}while((o.avail_in>0||0===o.avail_out)&&1!==n);return 4===r?(n=Oi.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Mi):2!==r||(this.onEnd(Mi),o.avail_out=0,!0)},Di.prototype.onData=function(e){this.chunks.push(e)},Di.prototype.onEnd=function(e){e===Mi&&(this.result="string"===this.options.to?this.chunks.join(""):Ri.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},Hr.Deflate=Di,Hr.deflate=qi,Hr.deflateRaw=function(e,t){return(t=t||{}).raw=!0,qi(e,t)},Hr.gzip=function(e,t){return(t=t||{}).gzip=!0,qi(e,t)};var Bi={},Ui={},zi=Gr,Gi=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Hi=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Wi=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Vi=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],$i=Gr,Ji=Ro,Ki=To,Yi=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A;E=e.input,o=(r=e.next_in)+(e.avail_in-5),A=e.output,a=(i=e.next_out)-(t-e.avail_out),s=i+(e.avail_out-257),u=(n=e.state).dmax,c=n.wsize,l=n.whave,f=n.wnext,d=n.window,h=n.hold,p=n.bits,m=n.lencode,g=n.distcode,y=(1<<n.lenbits)-1,v=(1<<n.distbits)-1;e:do{p<15&&(h+=E[r++]<<p,h+=E[r++]<<(p+=8),p+=8),_=m[h&y];t:for(;;){if(h>>>=b=_>>>24,p-=b,0==(b=_>>>16&255))A[i++]=65535&_;else{if(!(16&b)){if(0==(64&b)){_=m[(65535&_)+(h&(1<<b)-1)];continue t}if(32&b){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}w=65535&_,(b&=15)&&(p<b&&(h+=E[r++]<<p,p+=8),w+=h&(1<<b)-1,h>>>=b,p-=b),p<15&&(h+=E[r++]<<p,h+=E[r++]<<(p+=8),p+=8),_=g[h&v];n:for(;;){if(h>>>=b=_>>>24,p-=b,!(16&(b=_>>>16&255))){if(0==(64&b)){_=g[(65535&_)+(h&(1<<b)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(S=65535&_,p<(b&=15)&&(h+=E[r++]<<p,(p+=8)<b&&(h+=E[r++]<<p,p+=8)),(S+=h&(1<<b)-1)>u){e.msg="invalid distance too far back",n.mode=30;break e}if(h>>>=b,p-=b,S>(b=i-a)){if((b=S-b)>l&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(x=0,k=d,0===f){if(x+=c-b,b<w){w-=b;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}}else if(f<b){if(x+=c+f-b,(b-=f)<w){w-=b;do{A[i++]=d[x++]}while(--b);if(x=0,f<w){w-=b=f;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}}}else if(x+=f-b,b<w){w-=b;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}for(;w>2;)A[i++]=k[x++],A[i++]=k[x++],A[i++]=k[x++],w-=3;w&&(A[i++]=k[x++],w>1&&(A[i++]=k[x++]))}else{x=i-S;do{A[i++]=A[x++],A[i++]=A[x++],A[i++]=A[x++],w-=3}while(w>2);w&&(A[i++]=A[x++],w>1&&(A[i++]=A[x++]))}break}}break}}while(r<o&&i<s);h&=(1<<(p-=(w=p>>3)<<3))-1,e.next_in=r-=w,e.next_out=i,e.avail_in=r<o?o-r+5:5-(r-o),e.avail_out=i<s?s-i+257:257-(i-s),n.hold=h,n.bits=p},Zi=function(e,t,n,r,o,i,a,s){var u,c,l,f,d,h,p,m,g,y=s.bits,v=0,_=0,b=0,w=0,S=0,x=0,k=0,E=0,A=0,C=0,O=null,R=0,N=new zi.Buf16(16),I=new zi.Buf16(16),P=null,T=0;for(v=0;v<=15;v++)N[v]=0;for(_=0;_<r;_++)N[t[n+_]]++;for(S=y,w=15;w>=1&&0===N[w];w--);if(S>w&&(S=w),0===w)return o[i++]=20971520,o[i++]=20971520,s.bits=1,0;for(b=1;b<w&&0===N[b];b++);for(S<b&&(S=b),E=1,v=1;v<=15;v++)if(E<<=1,(E-=N[v])<0)return-1;if(E>0&&(0===e||1!==w))return-1;for(I[1]=0,v=1;v<15;v++)I[v+1]=I[v]+N[v];for(_=0;_<r;_++)0!==t[n+_]&&(a[I[t[n+_]]++]=_);if(0===e?(O=P=a,h=19):1===e?(O=Gi,R-=257,P=Hi,T-=257,h=256):(O=Wi,P=Vi,h=-1),C=0,_=0,v=b,d=i,x=S,k=0,l=-1,f=(A=1<<S)-1,1===e&&A>852||2===e&&A>592)return 1;for(;;){p=v-k,a[_]<h?(m=0,g=a[_]):a[_]>h?(m=P[T+a[_]],g=O[R+a[_]]):(m=96,g=0),u=1<<v-k,b=c=1<<x;do{o[d+(C>>k)+(c-=u)]=p<<24|m<<16|g|0}while(0!==c);for(u=1<<v-1;C&u;)u>>=1;if(0!==u?(C&=u-1,C+=u):C=0,_++,0==--N[v]){if(v===w)break;v=t[n+a[_]]}if(v>S&&(C&f)!==l){for(0===k&&(k=S),d+=b,E=1<<(x=v-k);x+k<w&&!((E-=N[x+k])<=0);)x++,E<<=1;if(A+=1<<x,1===e&&A>852||2===e&&A>592)return 1;o[l=C&f]=S<<24|x<<16|d-i|0}}return 0!==C&&(o[d+C]=v-k<<24|64<<16|0),s.bits=S,0},Xi=0,Qi=-2,ea=1,ta=12,na=30,ra=852,oa=592;function ia(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function aa(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new $i.Buf16(320),this.work=new $i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function sa(e){var t;return e&&e.state?(e.total_in=e.total_out=(t=e.state).total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=ea,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new $i.Buf32(ra),t.distcode=t.distdyn=new $i.Buf32(oa),t.sane=1,t.back=-1,Xi):Qi}function ua(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,sa(e)):Qi}function ca(e,t){var n,r;return e&&e.state?(t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Qi:(null!==(r=e.state).window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,ua(e))):Qi}function la(e,t){var n,r;return e?(r=new aa,e.state=r,r.window=null,(n=ca(e,t))!==Xi&&(e.state=null),n):Qi}var fa,da,ha=!0;function pa(e){if(ha){var t;for(fa=new $i.Buf32(512),da=new $i.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Zi(1,e.lens,0,288,fa,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Zi(2,e.lens,0,32,da,0,e.work,{bits:5}),ha=!1}e.lencode=fa,e.lenbits=9,e.distcode=da,e.distbits=5}function ma(e,t,n,r){var o,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new $i.Buf8(i.wsize)),r>=i.wsize?($i.arraySet(i.window,t,n-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):((o=i.wsize-i.wnext)>r&&(o=r),$i.arraySet(i.window,t,n-r,o,i.wnext),(r-=o)?($i.arraySet(i.window,t,n-r,r,0),i.wnext=r,i.whave=i.wsize):(i.wnext+=o,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=o))),0}Ui.inflateReset=ua,Ui.inflateReset2=ca,Ui.inflateResetKeep=sa,Ui.inflateInit=function(e){return la(e,15)},Ui.inflateInit2=la,Ui.inflate=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A=0,C=new $i.Buf8(4),O=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return Qi;(n=e.state).mode===ta&&(n.mode=13),a=e.next_out,o=e.output,i=e.next_in,r=e.input,c=n.hold,l=n.bits,f=s=e.avail_in,d=u=e.avail_out,x=Xi;e:for(;;)switch(n.mode){case ea:if(0===n.wrap){n.mode=13;break}for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(2&n.wrap&&35615===c){n.check=0,C[0]=255&c,C[1]=c>>>8&255,n.check=Ki(n.check,C,2,0),c=0,l=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=na;break}if(8!=(15&c)){e.msg="unknown compression method",n.mode=na;break}if(l-=4,S=8+(15&(c>>>=4)),0===n.wbits)n.wbits=S;else if(S>n.wbits){e.msg="invalid window size",n.mode=na;break}n.dmax=1<<S,e.adler=n.check=1,n.mode=512&c?10:ta,c=0,l=0;break;case 2:for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(n.flags=c,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=na;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=na;break}n.head&&(n.head.text=c>>8&1),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Ki(n.check,C,2,0)),c=0,l=0,n.mode=3;case 3:for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.head&&(n.head.time=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,C[2]=c>>>16&255,C[3]=c>>>24&255,n.check=Ki(n.check,C,4,0)),c=0,l=0,n.mode=4;case 4:for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.head&&(n.head.xflags=255&c,n.head.os=c>>8),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Ki(n.check,C,2,0)),c=0,l=0,n.mode=5;case 5:if(1024&n.flags){for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.length=c,n.head&&(n.head.extra_len=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Ki(n.check,C,2,0)),c=0,l=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((h=n.length)>s&&(h=s),h&&(n.head&&(S=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),$i.arraySet(n.head.extra,r,i,h,S)),512&n.flags&&(n.check=Ki(n.check,r,h,i)),s-=h,i+=h,n.length-=h),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===s)break e;h=0;do{S=r[i+h++],n.head&&S&&n.length<65536&&(n.head.name+=String.fromCharCode(S))}while(S&&h<s);if(512&n.flags&&(n.check=Ki(n.check,r,h,i)),s-=h,i+=h,S)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===s)break e;h=0;do{S=r[i+h++],n.head&&S&&n.length<65536&&(n.head.comment+=String.fromCharCode(S))}while(S&&h<s);if(512&n.flags&&(n.check=Ki(n.check,r,h,i)),s-=h,i+=h,S)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c!==(65535&n.check)){e.msg="header crc mismatch",n.mode=na;break}c=0,l=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=ta;break;case 10:for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}e.adler=n.check=ia(c),c=0,l=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,2;e.adler=n.check=1,n.mode=ta;case ta:if(5===t||6===t)break e;case 13:if(n.last){c>>>=7&l,l-=7&l,n.mode=27;break}for(;l<3;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}switch(n.last=1&c,l-=1,3&(c>>>=1)){case 0:n.mode=14;break;case 1:if(pa(n),n.mode=20,6===t){c>>>=2,l-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=na}c>>>=2,l-=2;break;case 14:for(c>>>=7&l,l-=7&l;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=na;break}if(n.length=65535&c,c=0,l=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(h=n.length){if(h>s&&(h=s),h>u&&(h=u),0===h)break e;$i.arraySet(o,r,i,h,a),s-=h,i+=h,u-=h,a+=h,n.length-=h;break}n.mode=ta;break;case 17:for(;l<14;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(n.nlen=257+(31&c),l-=5,n.ndist=1+(31&(c>>>=5)),l-=5,n.ncode=4+(15&(c>>>=5)),c>>>=4,l-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=na;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;l<3;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.lens[O[n.have++]]=7&c,c>>>=3,l-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,x=Zi(0,n.lens,0,19,n.lencode,0,n.work,k={bits:n.lenbits}),n.lenbits=k.bits,x){e.msg="invalid code lengths set",n.mode=na;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;y=(A=n.lencode[c&(1<<n.lenbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(v<16)c>>>=g,l-=g,n.lens[n.have++]=v;else{if(16===v){for(E=g+2;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c>>>=g,l-=g,0===n.have){e.msg="invalid bit length repeat",n.mode=na;break}S=n.lens[n.have-1],h=3+(3&c),c>>>=2,l-=2}else if(17===v){for(E=g+3;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}l-=g,S=0,h=3+(7&(c>>>=g)),c>>>=3,l-=3}else{for(E=g+7;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}l-=g,S=0,h=11+(127&(c>>>=g)),c>>>=7,l-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=na;break}for(;h--;)n.lens[n.have++]=S}}if(n.mode===na)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=na;break}if(n.lenbits=9,x=Zi(1,n.lens,0,n.nlen,n.lencode,0,n.work,k={bits:n.lenbits}),n.lenbits=k.bits,x){e.msg="invalid literal/lengths set",n.mode=na;break}if(n.distbits=6,n.distcode=n.distdyn,x=Zi(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,k={bits:n.distbits}),n.distbits=k.bits,x){e.msg="invalid distances set",n.mode=na;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(s>=6&&u>=258){e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,Yi(e,d),a=e.next_out,o=e.output,u=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,c=n.hold,l=n.bits,n.mode===ta&&(n.back=-1);break}for(n.back=0;y=(A=n.lencode[c&(1<<n.lenbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(y&&0==(240&y)){for(_=g,b=y,w=v;y=(A=n.lencode[w+((c&(1<<_+b)-1)>>_)])>>>16&255,v=65535&A,!(_+(g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}c>>>=_,l-=_,n.back+=_}if(c>>>=g,l-=g,n.back+=g,n.length=v,0===y){n.mode=26;break}if(32&y){n.back=-1,n.mode=ta;break}if(64&y){e.msg="invalid literal/length code",n.mode=na;break}n.extra=15&y,n.mode=22;case 22:if(n.extra){for(E=n.extra;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;y=(A=n.distcode[c&(1<<n.distbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(0==(240&y)){for(_=g,b=y,w=v;y=(A=n.distcode[w+((c&(1<<_+b)-1)>>_)])>>>16&255,v=65535&A,!(_+(g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}c>>>=_,l-=_,n.back+=_}if(c>>>=g,l-=g,n.back+=g,64&y){e.msg="invalid distance code",n.mode=na;break}n.offset=v,n.extra=15&y,n.mode=24;case 24:if(n.extra){for(E=n.extra;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=na;break}n.mode=25;case 25:if(0===u)break e;if(n.offset>(h=d-u)){if((h=n.offset-h)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=na;break}p=h>n.wnext?n.wsize-(h-=n.wnext):n.wnext-h,h>n.length&&(h=n.length),m=n.window}else m=o,p=a-n.offset,h=n.length;h>u&&(h=u),u-=h,n.length-=h;do{o[a++]=m[p++]}while(--h);0===n.length&&(n.mode=21);break;case 26:if(0===u)break e;o[a++]=n.length,u--,n.mode=21;break;case 27:if(n.wrap){for(;l<32;){if(0===s)break e;s--,c|=r[i++]<<l,l+=8}if(e.total_out+=d-=u,n.total+=d,d&&(e.adler=n.check=n.flags?Ki(n.check,o,d,a-d):Ji(n.check,o,d,a-d)),d=u,(n.flags?c:ia(c))!==n.check){e.msg="incorrect data check",n.mode=na;break}c=0,l=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=na;break}c=0,l=0}n.mode=29;case 29:x=1;break e;case na:x=-3;break e;case 31:return-4;default:return Qi}return e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,(n.wsize||d!==e.avail_out&&n.mode<na&&(n.mode<27||4!==t))&&ma(e,e.output,e.next_out,d-e.avail_out),d-=e.avail_out,e.total_in+=f-=e.avail_in,e.total_out+=d,n.total+=d,n.wrap&&d&&(e.adler=n.check=n.flags?Ki(n.check,o,d,e.next_out-d):Ji(n.check,o,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===ta?128:0)+(20===n.mode||15===n.mode?256:0),(0===f&&0===d||4===t)&&x===Xi&&(x=-5),x},Ui.inflateEnd=function(e){if(!e||!e.state)return Qi;var t=e.state;return t.window&&(t.window=null),e.state=null,Xi},Ui.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?Qi:(n.head=t,t.done=!1,Xi):Qi},Ui.inflateSetDictionary=function(e,t){var n,r=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?Qi:11===n.mode&&Ji(1,t,r,0)!==n.check?-3:ma(e,t,r,r)?(n.mode=31,-4):(n.havedict=1,Xi):Qi},Ui.inflateInfo="pako inflate (from Nodeca project)";var ga={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},ya=Ui,va=Gr,_a=bi,ba=ga,wa=Mo,Sa=Ci,xa=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},ka=Object.prototype.toString;function Ea(e){if(!(this instanceof Ea))return new Ea(e);this.options=va.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Sa,this.strm.avail_out=0;var n=ya.inflateInit2(this.strm,t.windowBits);if(n!==ba.Z_OK)throw new Error(wa[n]);if(this.header=new xa,ya.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=_a.string2buf(t.dictionary):"[object ArrayBuffer]"===ka.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=ya.inflateSetDictionary(this.strm,t.dictionary))!==ba.Z_OK))throw new Error(wa[n])}function Aa(e,t){var n=new Ea(t);if(n.push(e,!0),n.err)throw n.msg||wa[n.err];return n.result}Ea.prototype.push=function(e,t){var n,r,o,i,a,s=this.strm,u=this.options.chunkSize,c=this.options.dictionary,l=!1;if(this.ended)return!1;r=t===~~t?t:!0===t?ba.Z_FINISH:ba.Z_NO_FLUSH,s.input="string"==typeof e?_a.binstring2buf(e):"[object ArrayBuffer]"===ka.call(e)?new Uint8Array(e):e,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new va.Buf8(u),s.next_out=0,s.avail_out=u),(n=ya.inflate(s,ba.Z_NO_FLUSH))===ba.Z_NEED_DICT&&c&&(n=ya.inflateSetDictionary(this.strm,c)),n===ba.Z_BUF_ERROR&&!0===l&&(n=ba.Z_OK,l=!1),n!==ba.Z_STREAM_END&&n!==ba.Z_OK)return this.onEnd(n),this.ended=!0,!1;s.next_out&&(0!==s.avail_out&&n!==ba.Z_STREAM_END&&(0!==s.avail_in||r!==ba.Z_FINISH&&r!==ba.Z_SYNC_FLUSH)||("string"===this.options.to?(o=_a.utf8border(s.output,s.next_out),i=s.next_out-o,a=_a.buf2string(s.output,o),s.next_out=i,s.avail_out=u-i,i&&va.arraySet(s.output,s.output,o,i,0),this.onData(a)):this.onData(va.shrinkBuf(s.output,s.next_out)))),0===s.avail_in&&0===s.avail_out&&(l=!0)}while((s.avail_in>0||0===s.avail_out)&&n!==ba.Z_STREAM_END);return n===ba.Z_STREAM_END&&(r=ba.Z_FINISH),r===ba.Z_FINISH?(n=ya.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ba.Z_OK):r!==ba.Z_SYNC_FLUSH||(this.onEnd(ba.Z_OK),s.avail_out=0,!0)},Ea.prototype.onData=function(e){this.chunks.push(e)},Ea.prototype.onEnd=function(e){e===ba.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):va.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},Bi.Inflate=Ea,Bi.inflate=Aa,Bi.inflateRaw=function(e,t){return(t=t||{}).raw=!0,Aa(e,t)},Bi.ungzip=Aa;var Ca={};(0,Gr.assign)(Ca,Hr,Bi,ga);var Oa=Ca;function Ra(e){return Na.apply(this,arguments)}function Na(){return Na=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,r=0,o=0,i=[],a=0;case 5:if(u=t.subarray(r),s=new Oa.Inflate,n=s.strm,s.push(u,Oa.Z_SYNC_FLUSH),!s.err){e.next=12;break}throw new Error(s.msg);case 12:r+=n.next_in,i[o]=s.result,a+=i[o].length,o+=1;case 16:if(n.avail_in){e.next=5;break}case 17:for(c=new Uint8Array(a),l=0,f=0;l<i.length;l++)c.set(i[l],f),f+=i[l].length;return e.abrupt("return",Xt.from(c));case 22:if(e.prev=22,e.t0=e.catch(0),!"".concat(e.t0).match(/incorrect header check/)){e.next=26;break}throw new Error("problem decompressing block: incorrect gzip header check");case 26:throw e.t0;case 27:case"end":return e.stop()}}),e,null,[[0,22]])}))),Na.apply(this,arguments)}var Ia=null;try{Ia=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(vu){}function Pa(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function Ta(e){return!0===(e&&e.__isLong__)}function Ma(e){var t=Math.clz32(e&-e);return e?31-t:t}Object.defineProperty(Pa.prototype,"__isLong__",{value:!0}),Pa.isLong=Ta;var ja={},Fa={};function La(e,t){var n,r,o;return t?(o=0<=(e>>>=0)&&e<256)&&(r=Fa[e])?r:(n=qa(e,0,!0),o&&(Fa[e]=n),n):(o=-128<=(e|=0)&&e<128)&&(r=ja[e])?r:(n=qa(e,e<0?-1:0,!1),o&&(ja[e]=n),n)}function Da(e,t){if(isNaN(e))return t?Ja:$a;if(t){if(e<0)return Ja;if(e>=Ha)return Qa}else{if(e<=-Wa)return es;if(e+1>=Wa)return Xa}return e<0?Da(-e,t).neg():qa(e%Ga|0,e/Ga|0,t)}function qa(e,t,n){return new Pa(e,t,n)}Pa.fromInt=La,Pa.fromNumber=Da,Pa.fromBits=qa;var Ba=Math.pow;function Ua(e,t,n){if(0===e.length)throw Error("empty string");if("number"==typeof t?(n=t,t=!1):t=!!t,"NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return t?Ja:$a;if((n=n||10)<2||36<n)throw RangeError("radix");var r;if((r=e.indexOf("-"))>0)throw Error("interior hyphen");if(0===r)return Ua(e.substring(1),t,n).neg();for(var o=Da(Ba(n,8)),i=$a,a=0;a<e.length;a+=8){var s=Math.min(8,e.length-a),u=parseInt(e.substring(a,a+s),n);if(s<8){var c=Da(Ba(n,s));i=i.mul(c).add(Da(u))}else i=(i=i.mul(o)).add(Da(u))}return i.unsigned=t,i}function za(e,t){return"number"==typeof e?Da(e,t):"string"==typeof e?Ua(e,t):qa(e.low,e.high,"boolean"==typeof t?t:e.unsigned)}Pa.fromString=Ua,Pa.fromValue=za;var Ga=4294967296,Ha=Ga*Ga,Wa=Ha/2,Va=La(16777216),$a=La(0);Pa.ZERO=$a;var Ja=La(0,!0);Pa.UZERO=Ja;var Ka=La(1);Pa.ONE=Ka;var Ya=La(1,!0);Pa.UONE=Ya;var Za=La(-1);Pa.NEG_ONE=Za;var Xa=qa(-1,2147483647,!1);Pa.MAX_VALUE=Xa;var Qa=qa(-1,-1,!0);Pa.MAX_UNSIGNED_VALUE=Qa;var es=qa(0,-2147483648,!1);Pa.MIN_VALUE=es;var ts=Pa.prototype;ts.toInt=function(){return this.unsigned?this.low>>>0:this.low},ts.toNumber=function(){return this.unsigned?(this.high>>>0)*Ga+(this.low>>>0):this.high*Ga+(this.low>>>0)},ts.toString=function(e){if((e=e||10)<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(es)){var t=Da(e),n=this.div(t),r=n.mul(t).sub(this);return n.toString(e)+r.toInt().toString(e)}return"-"+this.neg().toString(e)}for(var o=Da(Ba(e,6),this.unsigned),i=this,a="";;){var s=i.div(o),u=(i.sub(s.mul(o)).toInt()>>>0).toString(e);if((i=s).isZero())return u+a;for(;u.length<6;)u="0"+u;a=""+u+a}},ts.getHighBits=function(){return this.high},ts.getHighBitsUnsigned=function(){return this.high>>>0},ts.getLowBits=function(){return this.low},ts.getLowBitsUnsigned=function(){return this.low>>>0},ts.getNumBitsAbs=function(){if(this.isNegative())return this.eq(es)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&0==(e&1<<t);t--);return 0!=this.high?t+33:t+1},ts.isZero=function(){return 0===this.high&&0===this.low},ts.eqz=ts.isZero,ts.isNegative=function(){return!this.unsigned&&this.high<0},ts.isPositive=function(){return this.unsigned||this.high>=0},ts.isOdd=function(){return 1==(1&this.low)},ts.isEven=function(){return 0==(1&this.low)},ts.equals=function(e){return Ta(e)||(e=za(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low},ts.eq=ts.equals,ts.notEquals=function(e){return!this.eq(e)},ts.neq=ts.notEquals,ts.ne=ts.notEquals,ts.lessThan=function(e){return this.comp(e)<0},ts.lt=ts.lessThan,ts.lessThanOrEqual=function(e){return this.comp(e)<=0},ts.lte=ts.lessThanOrEqual,ts.le=ts.lessThanOrEqual,ts.greaterThan=function(e){return this.comp(e)>0},ts.gt=ts.greaterThan,ts.greaterThanOrEqual=function(e){return this.comp(e)>=0},ts.gte=ts.greaterThanOrEqual,ts.ge=ts.greaterThanOrEqual,ts.compare=function(e){if(Ta(e)||(e=za(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},ts.comp=ts.compare,ts.negate=function(){return!this.unsigned&&this.eq(es)?es:this.not().add(Ka)},ts.neg=ts.negate,ts.add=function(e){Ta(e)||(e=za(e));var t=0,n=0,r=0,o=0;return r+=(o+=(65535&this.low)+(65535&e.low))>>>16,n+=(r+=(this.low>>>16)+(e.low>>>16))>>>16,t+=(n+=(65535&this.high)+(65535&e.high))>>>16,t+=(this.high>>>16)+(e.high>>>16),qa((r&=65535)<<16|(o&=65535),(t&=65535)<<16|(n&=65535),this.unsigned)},ts.subtract=function(e){return Ta(e)||(e=za(e)),this.add(e.neg())},ts.sub=ts.subtract,ts.multiply=function(e){if(this.isZero())return this;if(Ta(e)||(e=za(e)),Ia)return qa(Ia.mul(this.low,this.high,e.low,e.high),Ia.get_high(),this.unsigned);if(e.isZero())return this.unsigned?Ja:$a;if(this.eq(es))return e.isOdd()?es:$a;if(e.eq(es))return this.isOdd()?es:$a;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(Va)&&e.lt(Va))return Da(this.toNumber()*e.toNumber(),this.unsigned);var t=65535&this.high,n=this.low>>>16,r=65535&this.low,o=65535&e.high,i=e.low>>>16,a=65535&e.low,s=0,u=0,c=0,l=0;return c+=(l+=r*a)>>>16,u+=(c+=n*a)>>>16,c&=65535,u+=(c+=r*i)>>>16,s+=(u+=t*a)>>>16,u&=65535,s+=(u+=n*i)>>>16,u&=65535,s+=(u+=r*o)>>>16,s+=(this.high>>>16)*a+t*i+n*o+r*(e.high>>>16),qa((c&=65535)<<16|(l&=65535),(s&=65535)<<16|(u&=65535),this.unsigned)},ts.mul=ts.multiply,ts.divide=function(e){if(Ta(e)||(e=za(e)),e.isZero())throw Error("division by zero");var t,n,r;if(Ia)return this.unsigned||-2147483648!==this.high||-1!==e.low||-1!==e.high?qa((this.unsigned?Ia.div_u:Ia.div_s)(this.low,this.high,e.low,e.high),Ia.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?Ja:$a;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Ja;if(e.gt(this.shru(1)))return Ya;r=Ja}else{if(this.eq(es))return e.eq(Ka)||e.eq(Za)?es:e.eq(es)?Ka:(t=this.shr(1).div(e).shl(1)).eq($a)?e.isNegative()?Ka:Za:(n=this.sub(e.mul(t)),r=t.add(n.div(e)));if(e.eq(es))return this.unsigned?Ja:$a;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();r=$a}for(n=this;n.gte(e);){t=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));for(var o=Math.ceil(Math.log(t)/Math.LN2),i=o<=48?1:Ba(2,o-48),a=Da(t),s=a.mul(e);s.isNegative()||s.gt(n);)s=(a=Da(t-=i,this.unsigned)).mul(e);a.isZero()&&(a=Ka),r=r.add(a),n=n.sub(s)}return r},ts.div=ts.divide,ts.modulo=function(e){return Ta(e)||(e=za(e)),Ia?qa((this.unsigned?Ia.rem_u:Ia.rem_s)(this.low,this.high,e.low,e.high),Ia.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},ts.mod=ts.modulo,ts.rem=ts.modulo,ts.not=function(){return qa(~this.low,~this.high,this.unsigned)},ts.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},ts.clz=ts.countLeadingZeros,ts.countTrailingZeros=function(){return this.low?Ma(this.low):Ma(this.high)+32},ts.ctz=ts.countTrailingZeros,ts.and=function(e){return Ta(e)||(e=za(e)),qa(this.low&e.low,this.high&e.high,this.unsigned)},ts.or=function(e){return Ta(e)||(e=za(e)),qa(this.low|e.low,this.high|e.high,this.unsigned)},ts.xor=function(e){return Ta(e)||(e=za(e)),qa(this.low^e.low,this.high^e.high,this.unsigned)},ts.shiftLeft=function(e){return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?qa(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):qa(0,this.low<<e-32,this.unsigned)},ts.shl=ts.shiftLeft,ts.shiftRight=function(e){return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?qa(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):qa(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},ts.shr=ts.shiftRight,ts.shiftRightUnsigned=function(e){return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?qa(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):qa(32===e?this.high:this.high>>>e-32,0,this.unsigned)},ts.shru=ts.shiftRightUnsigned,ts.shr_u=ts.shiftRightUnsigned,ts.rotateLeft=function(e){var t;return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?qa(this.high,this.low,this.unsigned):e<32?qa(this.low<<e|this.high>>>(t=32-e),this.high<<e|this.low>>>t,this.unsigned):qa(this.high<<(e-=32)|this.low>>>(t=32-e),this.low<<e|this.high>>>t,this.unsigned)},ts.rotl=ts.rotateLeft,ts.rotateRight=function(e){var t;return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?qa(this.high,this.low,this.unsigned):e<32?qa(this.high<<(t=32-e)|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned):qa(this.low<<(t=32-(e-=32))|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned)},ts.rotr=ts.rotateRight,ts.toSigned=function(){return this.unsigned?qa(this.low,this.high,!1):this},ts.toUnsigned=function(){return this.unsigned?this:qa(this.low,this.high,!0)},ts.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},ts.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24,255&e,e>>>8&255,e>>>16&255,e>>>24]},ts.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,255&e,t>>>24,t>>>16&255,t>>>8&255,255&t]},Pa.fromBytes=function(e,t,n){return n?Pa.fromBytesLE(e,t):Pa.fromBytesBE(e,t)},Pa.fromBytesLE=function(e,t){return new Pa(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},Pa.fromBytesBE=function(e,t){return new Pa(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)};var ns=function(){function e(t){var n=t.filehandle,r=t.path;if(ee(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Fr(r)}}var t,n,r;return ne(e,[{key:"_readLongWithOverflow",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=Pa.fromBytesLE(e.slice(t,t+8),n);if(r.greaterThan(Number.MAX_SAFE_INTEGER)||r.lessThan(Number.MIN_SAFE_INTEGER))throw new TypeError("integer overflow");return r.toNumber()}},{key:"_getIndex",value:function(){return this.index||(this.index=this._readIndex()),this.index}},{key:"_readIndex",value:(r=Q(Y().mark((function e(){var t,n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Xt.allocUnsafe(8),e.next=3,this.filehandle.read(t,0,8,0);case 3:if(n=this._readLongWithOverflow(t,0,!0)){e.next=6;break}return e.abrupt("return",[[0,0]]);case 6:if((r=new Array(n+1))[0]=[0,0],!((o=16*n)>Number.MAX_SAFE_INTEGER)){e.next=11;break}throw new TypeError("integer overflow");case 11:return t=Xt.allocUnsafe(o),e.next=14,this.filehandle.read(t,0,o,8);case 14:for(i=0;i<n;i+=1)a=this._readLongWithOverflow(t,16*i),s=this._readLongWithOverflow(t,16*i+8),r[i+1]=[a,s];return e.abrupt("return",r);case 16:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"getLastBlock",value:(n=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndex();case 2:if((t=e.sent).length){e.next=5;break}return e.abrupt("return",void 0);case 5:return e.abrupt("return",t[t.length-1]);case 6:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"getRelevantBlocksForRead",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n+t,0!==t){e.next=3;break}return e.abrupt("return",[]);case 3:return e.next=5,this._getIndex();case 5:for(i=[],a=function(e,t){var r=e[1];return r<=n&&(t?t[1]:Infinity)>n?0:r<n?-1:1},s=0,u=(o=e.sent).length-1,c=Math.floor(o.length/2),l=a(o[c],o[c+1]);0!==l;)l>0?u=c-1:l<0&&(s=c+1),c=Math.ceil((u-s)/2)+s,l=a(o[c],o[c+1]);i.push(o[c]),f=c+1;case 15:if(!(f<o.length)){e.next=22;break}if(i.push(o[f]),!(o[f][1]>=r)){e.next=19;break}return e.abrupt("break",22);case 19:f+=1,e.next=15;break;case 22:return i[i.length-1][1]<r&&i.push([]),e.abrupt("return",i);case 24:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),e}(),rs=function(){function e(t){var n=t.filehandle,r=t.path,o=t.gziFilehandle,i=t.gziPath;if(ee(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Fr(r)}if(!o&&!i&&!r)throw new TypeError("either gziFilehandle or gziPath must be defined");this.gzi=new ns({filehandle:o,path:o||i||!r?"".concat(r,".gzi"):i})}var t,n,r,o;return ne(e,[{key:"stat",value:(o=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.filehandle.stat();case 2:return t=e.sent,e.t0=Object,e.t1=t,e.next=7,this.getUncompressedFileSize();case 7:return e.t2=e.sent,e.t3=void 0,e.t4=void 0,e.t5={size:e.t2,blocks:e.t3,blksize:e.t4},e.abrupt("return",e.t0.assign.call(e.t0,e.t1,e.t5));case 12:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"getUncompressedFileSize",value:(r=Q(Y().mark((function e(){var t,n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getLastBlock();case 2:return t=he(e.sent,2),n=t[1],e.next=7,this.filehandle.stat();case 7:return r=e.sent.size,o=Xt.allocUnsafe(4),e.next=12,this.filehandle.read(o,0,4,r-28-4);case 12:if(4===e.sent.bytesRead){e.next=16;break}throw new Error("read error");case 16:return i=o.readUInt32LE(0),e.abrupt("return",n+i);case 18:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_readAndUncompressBlock",value:(n=Q(Y().mark((function e(t,n,r){var o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=he(n,1)[0],i=he(r,1)[0]){e.next=7;break}return e.next=6,this.filehandle.stat();case 6:i=e.sent.size;case 7:return a=i-o,e.next=10,this.filehandle.read(t,0,a,o);case 10:return e.next=12,Ra(t.slice(0,a));case 12:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"read",value:(t=Q(Y().mark((function e(t,n,r,o){var i,a,s,u,c,l,f,d,h,p;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getRelevantBlocksForRead(r,o);case 2:i=e.sent,a=Xt.allocUnsafe(65536),s=n,u=0,c=0;case 7:if(!(c<i.length-1)){e.next=18;break}return e.next=10,this._readAndUncompressBlock(a,i[c],i[c+1]);case 10:l=e.sent,f=he(i[c],2),h=(d=f[1])>=o?0:o-d,p=Math.min(o+r,d+l.length)-d,h>=0&&h<l.length&&(l.copy(t,s,h,p),s+=p-h,u+=p-h);case 15:c+=1,e.next=7;break;case 18:return e.abrupt("return",{bytesRead:u,buffer:t});case 19:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}();function os(e,t){return e.offset+e.lineBytes*Math.floor(t/e.lineLength)+t%e.lineLength}function is(e,t){return as.apply(this,arguments)}function as(){return(as=Q(Y().mark((function e(t,n){var r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.readFile(n);case 2:if((r=e.sent)&&r.length){e.next=5;break}throw new Error("No data read from FASTA index (FAI) file");case 5:return o=0,a=r.toString("utf8").split(/\r?\n/).filter((function(e){return/\S/.test(e)})).map((function(e){return e.split("\t")})).filter((function(e){return""!==e[0]})).map((function(e){return i&&i.name===e[0]||(i={name:e[0],id:o},o+=1),{id:i.id,name:e[0],length:+e[1],start:0,end:+e[1],offset:+e[2],lineLength:+e[3],lineBytes:+e[4]}})),e.abrupt("return",{name:Object.fromEntries(a.map((function(e){return[e.name,e]}))),id:Object.fromEntries(a.map((function(e){return[e.id,e]})))});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ss=function(){function e(t){var n=t.fasta,r=t.fai,o=t.path,i=t.faiPath;if(ee(this,e),n)this.fasta=n;else{if(!o)throw new Error("Need to pass filehandle for fasta or path to localfile");this.fasta=new Fr(o)}if(r)this.fai=r;else if(i)this.fai=new Fr(i);else{if(!o)throw new Error("Need to pass filehandle for or path to localfile");this.fai=new Fr("".concat(o,".fai"))}}var t,n,r,o,i,a,s,u,c;return ne(e,[{key:"_getIndexes",value:(c=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.indexes||(this.indexes=is(this.fai,t)),e.abrupt("return",this.indexes);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"getSequenceNames",value:(u=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Object,e.next=3,this._getIndexes(t);case 3:return e.t1=e.sent.name,e.abrupt("return",e.t0.keys.call(e.t0,e.t1));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"getSequenceSizes",value:(s=Q(Y().mark((function e(t){var n,r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={},e.next=3,this._getIndexes(t);case 3:for(r=Object.values(e.sent.id),o=0;o<r.length;o+=1)n[r[o].name]=r[o].length;return e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"getSequenceSize",value:(a=Q(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(n);case 2:return e.abrupt("return",null===(r=e.sent.name[t])||void 0===r?void 0:r.length);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return a.apply(this,arguments)})},{key:"hasReferenceSequence",value:(i=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(n);case 2:return e.t0=t,e.abrupt("return",!!e.sent.name[e.t0]);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"getResiduesById",value:(o=Q(Y().mark((function e(t,n,r,o){var i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,i=e.sent.id[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(i,n,r,o));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return o.apply(this,arguments)})},{key:"getResiduesByName",value:(r=Q(Y().mark((function e(t,n,r,o){var i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,i=e.sent.name[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(i,n,r,o));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,o){return r.apply(this,arguments)})},{key:"getSequence",value:(n=Q(Y().mark((function e(t,n,r,o){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getResiduesByName(t,n,r,o));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r,o){return n.apply(this,arguments)})},{key:"_fetchFromIndexEntry",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=u.length>3?u[3]:void 0,o=u.length>2?u[2]:void 0,!((n=u.length>1&&void 0!==u[1]?u[1]:0)<0)){e.next=6;break}throw new TypeError("regionStart cannot be less than 0");case 6:if((void 0===o||o>t.length)&&(o=t.length),!(n>=o)){e.next=9;break}return e.abrupt("return","");case 9:return i=os(t,n),a=os(t,o)-i,s=Xt.allocUnsafe(a),e.next=14,this.fasta.read(s,0,a,i,r);case 14:return e.abrupt("return",s.toString("utf8").replace(/\s+/g,""));case 15:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),us=function(e){oe(n,e);var t=fe(n);function n(e){var r,o=e.fasta,i=e.path,a=e.fai,s=e.faiPath,u=e.gzi,c=e.gziPath;return ee(this,n),r=t.call(this,{fasta:o,path:i,fai:a,faiPath:s}),o&&u?r.fasta=new rs({filehandle:o,gziFilehandle:u}):i&&c&&(r.fasta=new rs({path:i,gziPath:c})),r}return ne(n)}(ss);function cs(e){return e.split(">").filter((function(e){return/\S/.test(e)})).map((function(e){var t=pe(e.split("\n")),n=t[0],r=t.slice(1),o=pe(n.split(" ")),i=o[0],a=o.slice(1),s=r.join("").replace(/\s/g,"");return{id:i,description:a.join(" "),sequence:s}}))}var ls=function(){function e(t){var n=t.fasta,r=t.path;if(ee(this,e),n)this.fasta=n;else{if(!r)throw new Error("Need to pass fasta or path");this.fasta=new Fr(r)}this.data=this.fasta.readFile().then((function(e){return cs(e.toString("utf8"))}))}var t,n;return ne(e,[{key:"fetch",value:(n=Q(Y().mark((function e(t,n,r){var o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.data;case 2:if(o=e.sent.find((function(e){return e.id===t})),i=r-n,o){e.next=7;break}throw new Error("no sequence with id ".concat(t," exists"));case 7:return e.abrupt("return",o.sequence.substr(n,i));case 8:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getSequenceNames",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.data;case 2:return e.abrupt("return",e.sent.map((function(e){return e.id})));case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),fs=B({__proto__:null,parseSmallFasta:cs,FetchableSmallFasta:ls,IndexedFasta:ss,BgzipIndexedFasta:us}),ds=B(zr);Object.defineProperty(jr,"__esModule",{value:!0}),jr.AddAssemblyFromExternalChange=void 0;var hs=fs,ps=ds,ms=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddAssemblyFromExternalChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,externalLocation:r.externalLocation}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.refSeqModel,i=t.user,a=this.assembly,s=this.changes,u=this.logger,l=(c=qt.env.CHUNK_SIZE)&&Number(c),f=we(s),e.prev=5,f.s();case 7:if((d=f.n()).done){e.next=45;break}return m=(p=d.value).assemblyName,y=(g=p.externalLocation).fa,v=g.fai,b=(_=g.gzi)?new hs.BgzipIndexedFasta({fasta:new ps.RemoteFile(y,{fetch:fetch}),fai:new ps.RemoteFile(v,{fetch:fetch}),gzi:new ps.RemoteFile(_,{fetch:fetch})}):new hs.IndexedFasta({fasta:new ps.RemoteFile(y,{fetch:fetch}),fai:new ps.RemoteFile(v,{fetch:fetch})}),e.next=14,b.getSequenceSizes();case 14:if(w=e.sent){e.next=17;break}throw new Error("No data read from indexed fasta getSequenceSizes");case 17:return e.next=19,n.findOne({name:m}).exec();case 19:if(!e.sent){e.next=22;break}throw new Error('Assembly "'.concat(m,'" already exists'));case 22:return e.next=24,r.find({default:!0}).exec();case 24:return S=e.sent.map((function(e){return e._id.toHexString()})),e.next=28,n.create([{_id:a,name:m,user:i,status:-1,externalLocation:g,checks:S}]);case 28:x=he(e.sent,1),k=x[0],null===(h=u.debug)||void 0===h||h.call(u,'Added new assembly "'.concat(m,'", docId "').concat(k._id,'"')),e.t0=Y().keys(w);case 33:if((e.t1=e.t0()).done){e.next=43;break}return E=e.t1.value,e.next=37,o.create([K(K({name:E,assembly:k._id,length:w[E]},l?{chunkSize:l}:null),{},{user:i,status:-1})]);case 37:C=he(e.sent,1),O=C[0],null===(A=u.debug)||void 0===A||A.call(u,'Added new refSeq "'.concat(E,'", docId "').concat(O._id,'"')),e.next=33;break;case 43:e.next=7;break;case 45:e.next=50;break;case 47:e.prev=47,e.t2=e.catch(5),f.e(e.t2);case 50:return e.prev=50,f.f(),e.finish(50);case 53:case"end":return e.stop()}}),e,this,[[5,47,50,53]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ar.AssemblySpecificChange);jr.AddAssemblyFromExternalChange=ms;var gs={};Object.defineProperty(gs,"__esModule",{value:!0}),gs.AddAssemblyFromFileChange=void 0;var ys=fs,vs=function(e){oe(s,e);var t,n,r,o,i,a=fe(s);function s(e,t){var n;return ee(this,s),re(le(n=a.call(this,e,t)),"typeName","AddAssemblyFromFileChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(s,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(i=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=we(this.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=11;break}return i=(o=r.value).assemblyName,a=o.fileIds,e.next=9,"gzi"in a?this.executeOnServerIndexed(t,i,a):this.executeOnServerFasta(t,i,a.fa);case 9:e.next=4;break;case 11:e.next=16;break;case 13:e.prev=13,e.t0=e.catch(2),n.e(e.t0);case 16:return e.prev=16,n.f(),e.finish(16);case 19:case"end":return e.stop()}}),e,this,[[2,13,16,19]])}))),function(e){return i.apply(this,arguments)})},{key:"executeOnServerIndexed",value:(o=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(a=qt.env.CHUNK_SIZE)&&Number(a),qt.env.FILE_UPLOAD_FOLDER){e.next=5;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 5:return u=r.fa,c=r.fai,l=r.gzi,f=t.assemblyModel,d=t.checkModel,h=t.fileModel,p=t.filesService,m=t.refSeqModel,g=t.user,e.next=9,h.findById(u);case 9:if(null==(y=e.sent)?void 0:y.checksum){e.next=13;break}throw new Error("No checksum for file document ".concat(y));case 13:return e.next=15,h.findById(c);case 15:if(null==(v=e.sent)?void 0:v.checksum){e.next=19;break}throw new Error("No checksum for file document ".concat(v));case 19:return e.next=21,h.findById(l);case 21:if(null==(_=e.sent)?void 0:_.checksum){e.next=25;break}throw new Error("No checksum for file document ".concat(_));case 25:return b=p.getFileHandle(y),w=p.getFileHandle(v),S=p.getFileHandle(_),x=new ys.BgzipIndexedFasta({fasta:b,fai:w,gzi:S}),e.next=31,x.getSequenceSizes();case 31:return k=e.sent,e.next=34,Promise.all([b.close(),w.close(),S.close()]);case 34:return e.next=36,f.findOne({name:n}).exec();case 36:if(!e.sent){e.next=39;break}throw new Error('Assembly "'.concat(n,'" already exists'));case 39:return e.next=41,d.find({default:!0}).exec();case 41:return E=e.sent.map((function(e){return e._id.toHexString()})),e.next=45,f.create([{_id:this.assembly,name:n,user:g,status:-1,fileIds:r,checks:E}]);case 45:A=he(e.sent,1),C=A[0],null===(o=(i=this.logger).debug)||void 0===o||o.call(i,'Added new assembly "'.concat(n,'", docId "').concat(C._id,'"')),e.t0=Y().keys(k);case 50:if((e.t1=e.t0()).done){e.next=60;break}return O=e.t1.value,e.next=54,m.create([K(K({name:O,assembly:C._id,length:k[O]},s?{chunkSize:s}:null),{},{user:g,status:-1})]);case 54:I=he(e.sent,1),P=I[0],null===(R=(N=this.logger).debug)||void 0===R||R.call(N,'Added new refSeq "'.concat(O,'", docId "').concat(P._id,'"')),e.next=50;break;case 60:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return o.apply(this,arguments)})},{key:"executeOnServerFasta",value:(r=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l=t.assemblyModel,f=t.checkModel,d=t.fileModel,h=t.user,e.next=3,d.findById(r).exec();case 3:if(p=e.sent){e.next=6;break}throw new Error('File "'.concat(r,'" not found in Mongo'));case 6:return null===(o=(i=this.logger).debug)||void 0===o||o.call(i,'FileId "'.concat(r,'", checksum "').concat(p.checksum,'"')),e.next=9,l.findOne({name:n}).exec();case 9:if(!e.sent){e.next=12;break}throw new Error('Assembly "'.concat(n,'" already exists'));case 12:return e.next=14,f.find({default:!0}).exec();case 14:return m=e.sent.map((function(e){return e._id.toHexString()})),e.next=18,l.create([{_id:this.assembly,name:n,user:h,status:-1,fileIds:{fa:r},checks:m}]);case 18:return g=he(e.sent,1),y=g[0],null===(a=(s=this.logger).debug)||void 0===a||a.call(s,'Added new assembly "'.concat(n,'", docId "').concat(y._id,'"')),null===(u=(c=this.logger).debug)||void 0===u||u.call(c,'File type: "'.concat(p.type,'", assemblyId: "').concat(y._id,'"')),e.next=25,this.addRefSeqIntoDb(p,y._id.toString(),t);case 25:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new s({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),s}(ir.FromFileBaseChange);gs.AddAssemblyFromFileChange=vs;var _s={},bs={};Object.defineProperty(bs,"__esModule",{value:!0}),bs.DeleteFeatureChange=void 0,bs.isDeleteFeatureChange=function(e){return"DeleteFeatureChange"===e.typeName};var ws=_s,Ss=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","DeleteFeatureChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,deletedFeature:o.deletedFeature,parentFeatureId:o.parentFeatureId}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u=this;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,o=this.logger,i=we(this.changes),e.prev=3,s=Y().mark((function e(){var t,i,s,c,l,f,d,h,p;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=(i=a.value).deletedFeature,c=i.parentFeatureId,e.next=4,n.findOne({allIds:s._id}).session(r).exec();case 4:if(l=e.sent){e.next=9;break}throw f="*** ERROR: The following featureId was not found in database ='".concat(s._id,"'"),o.error(f),new Error(f);case 9:if(!l._id.equals(s._id)){e.next=16;break}if(!c){e.next=12;break}throw new Error('Feature "'.concat(s._id,'" is top-level, but received a parent feature ID'));case 12:return e.next=14,n.findByIdAndDelete(l._id);case 14:return null===(d=o.debug)||void 0===d||d.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(l._id,'". Whole document deleted.')),e.abrupt("return",1);case 16:return(h=u.findAndDeleteChildFeature(l,s._id)).push(s._id),l.allIds=l.allIds.filter((function(e){return!h.includes(e)})),l.markModified("children"),e.prev=20,e.next=23,l.save();case 23:e.next=29;break;case 25:throw e.prev=25,e.t0=e.catch(20),null===(p=o.debug)||void 0===p||p.call(o,"*** FAILED: ".concat(e.t0)),e.t0;case 29:null===(t=o.debug)||void 0===t||t.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(l._id,'"'));case 30:case"end":return e.stop()}}),e,null,[[20,25]])})),i.s();case 6:if((a=i.n()).done){e.next=12;break}return e.delegateYield(s(),"t0",8);case 8:if(!e.t0){e.next=10;break}return e.abrupt("continue",10);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t1=e.catch(3),i.e(e.t1);case 17:return e.prev=17,i.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,this,[[3,14,17,20]])}))),function(e){return r.apply(this,arguments)})},{key:"findAndDeleteChildFeature",value:function(e,t){if(!e.children)throw new Error("Feature ".concat(e._id," has no children"));var n=e._id,r=e.children,o=r.get(t);if(o){var i=this.getChildFeatureIds(o);return r.delete(t),i}var a,s=we(r);try{for(s.s();!(a=s.n()).done;){var u=he(a.value,2)[1];try{return this.findAndDeleteChildFeature(u,t)}catch(e){}}}catch(e){s.e(e)}finally{s.f()}throw new Error('Feature "'.concat(t,'" not found in ').concat(n))}},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changes),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=18;break}if(i=(o=r.value).deletedFeature,!(a=o.parentFeatureId)){e.next=15;break}if(s=t.getFeature(a)){e.next=12;break}throw new Error('Could not find parent feature "'.concat(a,'"'));case 12:s.deleteChild(i._id),e.next=16;break;case 15:t.getFeature(i._id)&&t.deleteFeature(i._id);case 16:e.next=5;break;case 18:e.next=23;break;case 20:e.prev=20,e.t0=e.catch(3),n.e(e.t0);case 23:return e.prev=23,n.f(),e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[3,20,23,26]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e,t=this.assembly,n=this.changes,r=this.logger,o=me(this.changedIds).reverse(),i=me(n).reverse().map((function(e){return{addedFeature:e.deletedFeature,parentFeatureId:e.parentFeatureId}}));return null===(e=r.debug)||void 0===e||e.call(r,"INVERSE CHANGE '".concat(JSON.stringify(i),"'")),new ws.AddFeatureChange({changedIds:o,typeName:"AddFeatureChange",changes:i,assembly:t},{logger:r})}}]),i}(ar.FeatureChange);bs.DeleteFeatureChange=Ss,Object.defineProperty(_s,"__esModule",{value:!0}),_s.AddFeatureChange=void 0,_s.isAddFeatureChange=function(e){return"AddFeatureChange"===e.typeName};var xs=bs,ks=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddFeatureChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,addedFeature:o.addedFeature,parentFeatureId:o.parentFeatureId,copyFeature:o.copyFeature,allIds:o.allIds}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P,T,M,j,F,L;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.assemblyModel,i=t.featureModel,a=t.refSeqModel,s=t.session,u=t.user,c=this.assembly,l=this.changes,f=this.logger,e.next=4,o.findById(c).session(s).exec();case 4:if(e.sent){e.next=9;break}throw d='*** ERROR: Assembly with id "'.concat(c,'" not found'),f.error(d),new Error(d);case 9:h=0,null===(n=f.debug)||void 0===n||n.call(f,"changes: ".concat(JSON.stringify(l))),p=we(l),e.prev=12,p.s();case 14:if((m=p.n()).done){e.next=64;break}return y=m.value,null===(g=f.debug)||void 0===g||g.call(f,"change: ".concat(JSON.stringify(y))),_=y.allIds,b=y.copyFeature,w=y.parentFeatureId,S=(v=y.addedFeature)._id,x=v.refSeq,e.next=21,a.findById(x).session(s).exec();case 21:if(e.sent){e.next=24;break}throw new Error('RefSeq was not found by assembly "'.concat(c,'" and seq_id "').concat(x,'" not found'));case 24:if(!b){e.next=34;break}return e.next=27,i.create([K(K({},v),{},{allIds:_,status:-1,user:u})],{session:s});case 27:E=he(e.sent,1),A=E[0],null===(k=f.debug)||void 0===k||k.call(f,'Copied feature, docId "'.concat(A._id,'" to assembly "').concat(c,'"')),h++,e.next=61;break;case 34:if(!w){e.next=53;break}return e.next=37,i.findOne({allIds:w}).session(s).exec();case 37:if(R=e.sent){e.next=40;break}throw new Error('Could not find feature with ID "'.concat(w,'"'));case 40:if(N=this.getFeatureFromId(R,w)){e.next=43;break}throw new Error('Could not find feature with ID "'.concat(w,'" in feature "').concat(R._id,'"'));case 43:return N.children||(N.children=new Map),null!==(C=N.attributes)&&void 0!==C&&C._id||((I=N.attributes)||(I={}),I=K({_id:[N._id.toString()]},JSON.parse(JSON.stringify(I))),N.attributes=I),N.children.set(S,K(K({allIds:[]},v),{},{_id:S})),N.children=new Map(me(N.children.entries()).sort((function(e,t){return e[1].min-t[1].min}))),P=this.getChildFeatureIds(v),(O=R.allIds).push.apply(O,[S].concat(me(P))),e.next=51,R.save();case 51:e.next=61;break;case 53:return M=this.getChildFeatureIds(v),j=[S].concat(me(M)),e.next=57,i.create([K({allIds:j,status:0},v)],{session:s});case 57:F=he(e.sent,1),L=F[0],null===(T=f.verbose)||void 0===T||T.call(f,'Added docId "'.concat(L._id,'"'));case 61:h++;case 62:e.next=14;break;case 64:e.next=69;break;case 66:e.prev=66,e.t0=e.catch(12),p.e(e.t0);case 69:return e.prev=69,p.f(),e.finish(69);case 72:null===(r=f.debug)||void 0===r||r.call(f,"Added ".concat(h," new feature(s) into database."));case 73:case"end":return e.stop()}}),e,this,[[12,66,69,72]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=this.assembly,r=we(this.changes),e.prev=4,r.s();case 6:if((o=r.n()).done){e.next=20;break}if(a=(i=o.value).addedFeature,!(s=i.parentFeatureId)){e.next=17;break}if(u=t.getFeature(s)){e.next=13;break}throw new Error('Could not find parent feature "'.concat(s,'"'));case 13:u.attributes.get("_id")||u.setAttribute("_id",[u._id]),u.addChild(a),e.next=18;break;case 17:t.addFeature(n,a);case 18:e.next=6;break;case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(4),r.e(e.t0);case 25:return e.prev=25,r.f(),e.finish(25);case 28:case"end":return e.stop()}}),e,this,[[4,22,25,28]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=me(this.changedIds).reverse(),o=me(t).reverse().map((function(e){return{deletedFeature:e.addedFeature,parentFeatureId:e.parentFeatureId}}));return new xs.DeleteFeatureChange({changedIds:r,typeName:"DeleteFeatureChange",changes:o,assembly:e},{logger:n})}}]),i}(ar.FeatureChange);_s.AddFeatureChange=ks;var Es={};Object.defineProperty(Es,"__esModule",{value:!0}),Es.AddFeaturesFromFileChange=void 0;var As=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n,r;return ee(this,i),re(le(r=o.call(this,e,t)),"typeName","AddFeaturesFromFileChange"),re(le(r),"changes",void 0),re(le(r),"deleteExistingFeatures",!1),r.deleteExistingFeatures=null!==(n=e.deleteExistingFeatures)&&void 0!==n&&n,r.changes="changes"in e?e.changes:[e],r}return ne(i,[{key:"notification",get:function(){return"Features have been added. To see them, please refresh the page."}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.deleteExistingFeatures,r=this.typeName;return 1===t.length?{typeName:r,assembly:e,fileId:he(t,1)[0].fileId,deleteExistingFeatures:n}:{typeName:r,assembly:e,changes:t,deleteExistingFeatures:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.fileModel,o=t.filesService,i=this.changes,a=this.logger,!this.deleteExistingFeatures){e.next=5;break}return e.next=5,this.removeExistingFeatures(t);case 5:s=we(i),e.prev=6,s.s();case 8:if((u=s.n()).done){e.next=56;break}if(l=u.value.fileId,qt.env.FILE_UPLOAD_FOLDER){e.next=14;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 14:return e.next=16,r.findById(l).exec();case 16:if(f=e.sent){e.next=19;break}throw new Error('File "'.concat(l,'" not found in Mongo'));case 19:null===(c=a.debug)||void 0===c||c.call(a,'FileId "'.concat(l,'", checksum "').concat(f.checksum,'"')),d=o.parseGFF3(o.getFileStream(f)),h=0,p=!1,m=!1,e.prev=24,y=W(d);case 26:return e.next=28,y.next();case 28:if(!(p=!(v=e.sent).done)){e.next=38;break}return _=v.value,e.next=33,this.addFeatureIntoDb(_,t);case 33:++h%1e3==0&&(null===(b=a.debug)||void 0===b||b.call(a,"Processed ".concat(h," features")));case 35:p=!1,e.next=26;break;case 38:e.next=44;break;case 40:e.prev=40,e.t0=e.catch(24),m=!0,g=e.t0;case 44:if(e.prev=44,e.prev=45,!p||null==y.return){e.next=49;break}return e.next=49,y.return();case 49:if(e.prev=49,!m){e.next=52;break}throw g;case 52:return e.finish(49);case 53:return e.finish(44);case 54:e.next=8;break;case 56:e.next=61;break;case 58:e.prev=58,e.t1=e.catch(6),s.e(e.t1);case 61:return e.prev=61,s.f(),e.finish(61);case 64:null===(n=a.debug)||void 0===n||n.call(a,"New features added into database!");case 65:case"end":return e.stop()}}),e,this,[[6,58,61,64],[24,40,44,54],[45,,49,53]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ir.FromFileBaseChange);Es.AddFeaturesFromFileChange=As;var Cs={};Object.defineProperty(Cs,"__esModule",{value:!0}),Cs.AddRefSeqAliasesChange=void 0;var Os=O.default,Rs=function(e){oe(r,e);var t,n=fe(r);function r(e,t){var o;return ee(this,r),re(le(o=n.call(this,e,t)),"typeName","AddRefSeqAliasesChange"),re(le(o),"refSeqAliases",void 0),o.refSeqAliases=e.refSeqAliases,o}return ne(r,[{key:"executeOnClient",value:function(e){var t=(0,Os.getSession)(e).assemblyManager.get(this.assembly);if(!t)throw new Error("assembly ".concat(this.assembly," not found"));var n=t.refNameAliases,r=t.lowerCaseRefNameAliases;if(!n||!r)throw new Error("Session refNameAliases not found in assembly");var o,i=we(this.refSeqAliases);try{for(i.s();!(o=i.n()).done;){var a,s=o.value,u=s.refName,c=we(s.aliases);try{for(c.s();!(a=c.n()).done;){var l=a.value;n[l]=u,r[l.toLowerCase()]=u}}catch(e){c.e(e)}finally{c.f()}}}catch(e){i.e(e)}finally{i.f()}return t.setRefNameAliases(n,r),Promise.resolve()}},{key:"getInverse",value:function(){throw new Error("Method not implemented.")}},{key:"toJSON",value:function(){return{assembly:this.assembly,typeName:this.typeName,refSeqAliases:this.refSeqAliases}}},{key:"executeOnServer",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.refSeqModel,r=t.session,o=this.assembly,i=this.logger,a=we(this.refSeqAliases),e.prev=3,a.s();case 5:if((s=a.n()).done){e.next=13;break}return c=s.value,null===(u=i.debug)||void 0===u||u.call(i,"Updating Refname alias for assembly: ".concat(o,", refSeqAlias: ").concat(JSON.stringify(c))),l=c.aliases,f=c.refName,e.next=11,n.updateOne({assembly:o,name:f},{$set:{aliases:l}}).session(r);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),a.e(e.t0);case 18:return e.prev=18,a.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:function(e){throw new Error("Method not implemented.")}},{key:"notification",get:function(){return"RefSeq aliases have been added."}}]),r}(ar.AssemblySpecificChange);Cs.AddRefSeqAliasesChange=Rs;var Ns={};Object.defineProperty(Ns,"__esModule",{value:!0}),Ns.DeleteAssemblyChange=void 0;var Is=O.default,Ps=function(e){oe(i,e);var t,n,r,o=fe(i);function i(){var e;ee(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return re(le(e=o.call.apply(o,[this].concat(n))),"typeName","DeleteAssemblyChange"),e}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.assembly,'" deleted successfully.')}},{key:"toJSON",value:function(){return{typeName:this.typeName,assembly:this.assembly}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.assemblyModel,o=t.featureModel,i=t.refSeqChunkModel,a=t.refSeqModel,s=t.session,u=this.assembly,c=this.logger,e.next=4,r.findById(u).session(s).exec();case 4:if(e.sent){e.next=9;break}throw l='*** ERROR: Assembly with id "'.concat(u,'" not found'),c.error(l),new Error(l);case 9:return e.next=11,a.find({assembly:u}).exec();case 11:return f=e.sent.map((function(e){return e._id})),e.next=15,i.deleteMany({refSeq:f}).exec();case 15:return e.next=17,o.deleteMany({refSeq:f}).exec();case 17:return e.next=19,a.deleteMany({assembly:u}).exec();case 19:return e.next=21,r.findByIdAndDelete(u).exec();case 21:null===(n=c.debug)||void 0===n||n.call(c,'Assembly "'.concat(u,'" deleted from database.'));case 22:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=this.assembly,t){e.next=3;break}throw new Error("No data store");case 3:return i=(0,Is.getSession)(t),t.assemblies.has(o)&&t.deleteAssembly(o),e.next=7,null===(n=i.removeAssembly)||void 0===n?void 0:n.call(i,o);case 7:return e.next=9,null===(r=i.removeSessionAssembly)||void 0===r?void 0:r.call(i,o);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:"DeleteAssemblyChange",assembly:this.assembly},{logger:this.logger})}}]),i}(ar.AssemblySpecificChange);Ns.DeleteAssemblyChange=Ps;var Ts={};Object.defineProperty(Ts,"__esModule",{value:!0}),Ts.DeleteUserChange=void 0;var Ms=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","DeleteUserChange"),re(le(n),"changes",void 0),re(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ne(i,[{key:"toJSON",value:function(){return{typeName:this.typeName,userId:this.userId}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.session,r=t.userModel,o=this.logger,i=this.userId,e.next=4,r.findOneAndDelete({_id:i}).session(n).exec();case 4:if(e.sent){e.next=9;break}throw a='*** ERROR: User with id "'.concat(i,'" not found'),o.error(a),new Error(a);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,userId:this.userId},{logger:this.logger})}}]),i}(ar.Change);Ts.DeleteUserChange=Ms;var js={};Object.defineProperty(js,"__esModule",{value:!0}),js.FeatureAttributeChange=void 0,js.isFeatureAttributeChange=function(e){return"FeatureAttributeChange"===e.typeName};var Fs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","FeatureAttributeChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,attributes:o.attributes}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=26;break}return f=u.value.featureId,e.next=11,n.findOne({allIds:f}).session(r).exec();case 11:if(d=e.sent){e.next=16;break}throw h="*** ERROR: The following featureId was not found in database ='".concat(f,"'"),i.error(h),new Error(h);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(d))),p=this.getFeatureFromId(d,f)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(p))),a.push({feature:p,topLevelFeature:d});case 24:e.next=6;break;case 26:e.next=31;break;case 28:e.prev=28,e.t0=e.catch(4),s.e(e.t0);case 31:return e.prev=31,s.f(),e.finish(31);case 34:m=we(o.entries()),e.prev=35,m.s();case 37:if((g=m.n()).done){e.next=55;break}return v=he(g.value,2),w=(_=a[v[0]]).topLevelFeature,(b=_.feature).attributes=v[1].attributes,w._id.equals(b._id)?w.markModified("attributes"):w.markModified("children"),e.prev=43,e.next=46,w.save();case 46:e.next=52;break;case 48:throw e.prev=48,e.t1=e.catch(43),null===(S=i.debug)||void 0===S||S.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 52:null===(y=i.debug)||void 0===y||y.call(i,"*** Feature attributes modified (added, edited or deleted), docId: ".concat(JSON.stringify(w)));case 53:e.next=37;break;case 55:e.next=60;break;case 57:e.prev=57,e.t2=e.catch(35),m.e(e.t2);case 60:return e.prev=60,m.f(),e.finish(60);case 63:case"end":return e.stop()}}),e,this,[[4,28,31,34],[35,57,60,63],[43,48]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("applyToLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setAttributes(new Map(Object.entries(this.changes[i].attributes)));case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger;return new i({changedIds:me(this.changedIds).reverse(),typeName:"FeatureAttributeChange",changes:me(t).reverse().map((function(e){return{featureId:e.featureId,attributes:e.attributes}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);js.FeatureAttributeChange=Fs;var Ls={},Ds=["__v","_id","assemblies","internetAccounts","plugins","tracks"];function qs(e){var t=e.assemblies,n=e.internetAccounts,r=e.plugins,o=e.tracks,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,Ds),a=null==t?void 0:t.filter((function(e){return"ApolloSequenceAdapter"!==e.sequence.adapter.type})),s=null==o?void 0:o.filter((function(e){return"ApolloTrack"!==e.type})),u=null==r?void 0:r.filter((function(e){return"Apollo"!==e.name})),c=null==n?void 0:n.filter((function(e){return"ApolloInternetAccount"!==e.type})),l=i;return a&&(l.assemblies=a),s&&(l.tracks=s),u&&(l.plugins=u),c&&(l.internetAccounts=c),l}Object.defineProperty(Ls,"__esModule",{value:!0}),Ls.ImportJBrowseConfigChange=void 0,Ls.filterJBrowseConfig=qs;var Bs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","ImportJBrowseConfigChange"),re(le(n),"oldJBrowseConfig",void 0),re(le(n),"newJBrowseConfig",void 0),n.oldJBrowseConfig=e.oldJBrowseConfig,n.newJBrowseConfig=e.newJBrowseConfig,n}return ne(i,[{key:"toJSON",value:function(){return{typeName:this.typeName,oldJBrowseConfig:this.oldJBrowseConfig,newJBrowseConfig:this.newJBrowseConfig}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.jbrowseConfigModel,o=this.logger,i=this.newJBrowseConfig,e.next=4,r.deleteMany();case 4:if(i){e.next=6;break}return e.abrupt("return");case 6:return a=qs(i),e.next=9,r.create(a);case 9:null===(n=o.debug)||void 0===n||n.call(o,"Stored new JBrowse Config");case 10:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:this.newJBrowseConfig,newJBrowseConfig:this.oldJBrowseConfig},{logger:this.logger})}}]),i}(ar.Change);Ls.ImportJBrowseConfigChange=Bs;var Us={};Object.defineProperty(Us,"__esModule",{value:!0}),Us.LocationEndChange=void 0,Us.isLocationEndChange=function(e){return"LocationEndChange"===e.typeName};var zs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","LocationEndChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldEnd:o.oldEnd,newEnd:o.newEnd}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=49;break}return d=(f=u.value).featureId,h=f.oldEnd,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** TOP level feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.max!==h){e.next=27;break}a.push({feature:g,topLevelFeature:p}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=we(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=he(v.value,2),(b=_[1]).max!==h){e.next=37;break}return null===(w=i.debug)||void 0===w||w.call(i,"*************** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),a.push({feature:b,topLevelFeature:p}),e.abrupt("break",39);case 37:e.next=31;break;case 39:e.next=44;break;case 41:e.prev=41,e.t0=e.catch(29),y.e(e.t0);case 44:return e.prev=44,y.f(),e.finish(44);case 47:e.next=6;break;case 49:e.next=54;break;case 51:e.prev=51,e.t1=e.catch(4),s.e(e.t1);case 54:return e.prev=54,s.f(),e.finish(54);case 57:S=we(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return E=he(x.value,2),O=(A=a[E[0]]).topLevelFeature,(C=A.feature).max=E[1].newEnd,O._id.equals(C._id)?O.markModified("end"):O.markModified("children"),e.prev=66,e.next=69,O.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(R=i.debug)||void 0===R||R.call(i,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(k=i.debug)||void 0===k||k.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(O)));case 76:e.next=60;break;case 78:e.next=83;break;case 80:e.prev=80,e.t3=e.catch(58),S.e(e.t3);case 83:return e.prev=83,S.f(),e.finish(83);case 86:case"end":return e.stop()}}),e,this,[[4,51,54,57],[29,41,44,47],[58,80,83,86],[66,71]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setMax(this.changes[i].newEnd);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldEnd:e.newEnd,newEnd:e.oldEnd}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Us.LocationEndChange=zs;var Gs={};Object.defineProperty(Gs,"__esModule",{value:!0}),Gs.LocationStartChange=void 0,Gs.isLocationStartChange=function(e){return"LocationStartChange"===e.typeName};var Hs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","LocationStartChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldStart:o.oldStart,newStart:o.newStart}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=49;break}return d=(f=u.value).featureId,h=f.oldStart,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** TOP level feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.min!==h){e.next=27;break}a.push({feature:g,topLevelFeature:p}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=we(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=he(v.value,2),(b=_[1]).min!==h){e.next=37;break}return null===(w=i.debug)||void 0===w||w.call(i,"*** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),a.push({feature:b,topLevelFeature:p}),e.abrupt("break",39);case 37:e.next=31;break;case 39:e.next=44;break;case 41:e.prev=41,e.t0=e.catch(29),y.e(e.t0);case 44:return e.prev=44,y.f(),e.finish(44);case 47:e.next=6;break;case 49:e.next=54;break;case 51:e.prev=51,e.t1=e.catch(4),s.e(e.t1);case 54:return e.prev=54,s.f(),e.finish(54);case 57:S=we(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return E=he(x.value,2),O=(A=a[E[0]]).topLevelFeature,(C=A.feature).min=E[1].newStart,O._id.equals(C._id)?O.markModified("start"):O.markModified("children"),e.prev=66,e.next=69,O.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(R=i.debug)||void 0===R||R.call(i,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(k=i.debug)||void 0===k||k.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(O)));case 76:e.next=60;break;case 78:e.next=83;break;case 80:e.prev=80,e.t3=e.catch(58),S.e(e.t3);case 83:return e.prev=83,S.f(),e.finish(83);case 86:case"end":return e.stop()}}),e,this,[[4,51,54,57],[29,41,44,47],[58,80,83,86],[66,71]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setMin(this.changes[i].newStart);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldStart:e.newStart,newStart:e.oldStart}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Gs.LocationStartChange=Hs;var Ws={};Object.defineProperty(Ws,"__esModule",{value:!0}),Ws.StrandChange=void 0;var Vs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","StrandChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldStrand:o.oldStrand,newStrand:o.newStrand}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=30;break}return d=(f=u.value).featureId,h=f.oldStrand,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.strand===h){e.next=27;break}throw y="*** ERROR: Feature's current strand \"".concat(p.strand,'" doesn\'t match with expected value "').concat(h,'"'),i.error(y),new Error(y);case 27:a.push({feature:g,topLevelFeature:p});case 28:e.next=6;break;case 30:e.next=35;break;case 32:e.prev=32,e.t0=e.catch(4),s.e(e.t0);case 35:return e.prev=35,s.f(),e.finish(35);case 38:v=we(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=he(_.value,2),k=(S=a[w[0]]).topLevelFeature,(x=S.feature).strand=w[1].newStrand,k._id.equals(x._id)?k.markModified("strand"):k.markModified("children"),e.prev=47,e.next=50,k.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(E=i.debug)||void 0===E||E.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=i.debug)||void 0===b||b.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(k)));case 57:e.next=41;break;case 59:e.next=64;break;case 61:e.prev=61,e.t2=e.catch(39),v.e(e.t2);case 64:return e.prev=64,v.f(),e.finish(64);case 67:case"end":return e.stop()}}),e,this,[[4,32,35,38],[39,61,64,67],[47,52]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setStrand(this.changes[i].newStrand);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldStrand:e.newStrand,newStrand:e.oldStrand}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Ws.StrandChange=Vs;var $s={};Object.defineProperty($s,"__esModule",{value:!0}),$s.TypeChange=void 0;var Js=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","TypeChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldType:o.oldType,newType:o.newType}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=30;break}return d=(f=u.value).featureId,h=f.oldType,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.type===h){e.next=27;break}throw y="*** ERROR: Feature's current type \"".concat(p.type,'" doesn\'t match with expected value "').concat(h,'"'),i.error(y),new Error(y);case 27:a.push({feature:g,topLevelFeature:p});case 28:e.next=6;break;case 30:e.next=35;break;case 32:e.prev=32,e.t0=e.catch(4),s.e(e.t0);case 35:return e.prev=35,s.f(),e.finish(35);case 38:v=we(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=he(_.value,2),k=(S=a[w[0]]).topLevelFeature,(x=S.feature).type=w[1].newType,k._id.equals(x._id)?k.markModified("type"):k.markModified("children"),e.prev=47,e.next=50,k.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(E=i.debug)||void 0===E||E.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=i.debug)||void 0===b||b.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(k)));case 57:e.next=41;break;case 59:e.next=64;break;case 61:e.prev=61,e.t2=e.catch(39),v.e(e.t2);case 64:return e.prev=64,v.f(),e.finish(64);case 67:case"end":return e.stop()}}),e,this,[[4,32,35,38],[39,61,64,67],[47,52]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setType(this.changes[i].newType);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldType:e.newType,newType:e.oldType}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);$s.TypeChange=Js;var Ks={};Object.defineProperty(Ks,"__esModule",{value:!0}),Ks.UserChange=void 0;var Ys=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","UserChange"),re(le(n),"changes",void 0),re(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ne(i,[{key:"toJSON",value:function(){var e=this.changes,t=this.typeName,n=this.userId;return 1===e.length?{typeName:t,userId:n,role:he(e,1)[0].role}:{typeName:t,userId:n,changes:e}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.session,r=t.userModel,i=this.logger,a=this.userId,s=we(o=this.changes),e.prev=3,s.s();case 5:if((u=s.n()).done){e.next=18;break}return l=u.value,null===(c=i.debug)||void 0===c||c.call(i,"change: ".concat(JSON.stringify(o))),f=l.role,e.next=11,r.findByIdAndUpdate(a,{role:f}).session(n).exec();case 11:if(e.sent){e.next=16;break}throw d='*** ERROR: User with id "'.concat(a,'" not found'),i.error(d),new Error(d);case 16:e.next=5;break;case 18:e.next=23;break;case 20:e.prev=20,e.t0=e.catch(3),s.e(e.t0);case 23:return e.prev=23,s.f(),e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[3,20,23,26]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,userId:this.userId},{logger:this.logger})}}]),i}(ar.Change);Ks.UserChange=Ys,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.changes=void 0;var t=et;e.changes={AddAssemblyAndFeaturesFromFileChange:or.AddAssemblyAndFeaturesFromFileChange,AddAssemblyFromFileChange:gs.AddAssemblyFromFileChange,AddAssemblyFromExternalChange:jr.AddAssemblyFromExternalChange,AddFeatureChange:_s.AddFeatureChange,AddFeaturesFromFileChange:Es.AddFeaturesFromFileChange,DeleteAssemblyChange:Ns.DeleteAssemblyChange,DeleteFeatureChange:bs.DeleteFeatureChange,DeleteUserChange:Ts.DeleteUserChange,FeatureAttributeChange:js.FeatureAttributeChange,ImportJBrowseConfigChange:Ls.ImportJBrowseConfigChange,LocationEndChange:Us.LocationEndChange,LocationStartChange:Gs.LocationStartChange,StrandChange:Ws.StrandChange,TypeChange:$s.TypeChange,UserChange:Ks.UserChange,AddRefSeqAliasesChange:Cs.AddRefSeqAliasesChange},t.__exportStar(or,e),t.__exportStar(gs,e),t.__exportStar(jr,e),t.__exportStar(_s,e),t.__exportStar(Es,e),t.__exportStar(Ns,e),t.__exportStar(bs,e),t.__exportStar(Ts,e),t.__exportStar(js,e),t.__exportStar(Ls,e),t.__exportStar(Us,e),t.__exportStar(Gs,e),t.__exportStar(Ws,e),t.__exportStar($s,e),t.__exportStar(Ks,e),t.__exportStar(Cs,e)}(rr);var Zs={},Xs={};Object.defineProperty(Xs,"__esModule",{value:!0}),Xs.GetAssembliesOperation=void 0;var Qs=function(e){oe(r,e);var t,n=fe(r);function r(){var e;ee(this,r);for(var t=arguments.length,o=new Array(t),i=0;i<t;i++)o[i]=arguments[i];return re(le(e=n.call.apply(n,[this].concat(o))),"typeName","GetAssembliesOperation"),e}return ne(r,[{key:"toJSON",value:function(){return{typeName:this.typeName}}},{key:"executeOnServer",value:function(e){return e.assemblyModel.find({status:0}).exec()}},{key:"executeOnLocalGFF3",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),r}(ar.Operation);Xs.GetAssembliesOperation=Qs;var eu={};Object.defineProperty(eu,"__esModule",{value:!0}),eu.GetFeaturesOperation=void 0;var tu=function(e){oe(r,e);var t,n=fe(r);function r(e,t){var o;return ee(this,r),re(le(o=n.call(this,e,t)),"typeName","GetFeaturesOperation"),re(le(o),"refSeq",void 0),re(le(o),"start",void 0),re(le(o),"end",void 0),o.refSeq=e.refSeq,o.start=e.start,o.end=e.end,o}return ne(r,[{key:"toJSON",value:function(){return{typeName:this.typeName,refSeq:this.refSeq,start:this.start,end:this.end}}},{key:"executeOnServer",value:function(e){return e.featureModel.find({refSeq:this.refSeq,min:{$lte:this.end},max:{$gte:this.start},status:0}).exec()}},{key:"executeOnLocalGFF3",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),r}(ar.Operation);eu.GetFeaturesOperation=tu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.operations=void 0;var t=et;e.operations={GetAssembliesOperation:Xs.GetAssembliesOperation,GetFeaturesOperation:eu.GetFeaturesOperation},t.__exportStar(Xs,e),t.__exportStar(eu,e)}(Zs);var nu={},ru={};Object.defineProperty(ru,"__esModule",{value:!0}),ru.Validation=void 0,ru.isContext=function(e){return void 0!==e.context&&void 0!==e.reflector};var ou=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();ru.Validation=ou;var iu={};Object.defineProperty(iu,"__esModule",{value:!0}),iu.validationRegistry=iu.ValidationSet=iu.ValidationResultSet=void 0;var au=function(){function e(){ee(this,e),re(this,"results",[]),re(this,"ok",!0)}return ne(e,[{key:"resultsMessages",get:function(){return this.results.map((function(e){var t;return null===(t=e.error)||void 0===t?void 0:t.message})).filter(Boolean).join(", ")}},{key:"add",value:function(e){this.results.push(e),e.error&&(this.ok=!1)}}]),e}();iu.ValidationResultSet=au;var su=function(){function e(){ee(this,e),re(this,"validations",new Set)}var t,n,r,o,i;return ne(e,[{key:"registerValidation",value:function(e){this.validations.add(e)}},{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new au,r=we(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return i=o.value,e.next=8,i.frontendPreValidate(t);case 8:if(n.add(a=e.sent),!a.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:return e.abrupt("return",n);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){var r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=new au,o=we(this.validations),e.prev=2,o.s();case 4:if((i=o.n()).done){e.next=14;break}return a=i.value,e.next=8,a.frontendPostValidate(t,n);case 8:if(r.add(s=e.sent),!s.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),o.e(e.t0);case 19:return e.prev=19,o.f(),e.finish(19);case 22:return e.abrupt("return",r);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new au,r=we(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return i=o.value,e.next=8,i.backendPreValidate(t);case 8:if(n.add(a=e.sent),!a.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:return e.abrupt("return",n);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,i=new au,a=we(this.validations),e.prev=3,a.s();case 5:if((s=a.n()).done){e.next=15;break}return u=s.value,e.next=9,u.backendPostValidate(t,{featureModel:r,session:o});case 9:if(i.add(c=e.sent),!c.error){e.next=13;break}return e.abrupt("break",15);case 13:e.next=5;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(3),a.e(e.t0);case 20:return e.prev=20,a.f(),e.finish(20);case 23:return e.abrupt("return",i);case 24:case"end":return e.stop()}}),e,this,[[3,17,20,23]])}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){var n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=we(this.validations),e.prev=1,n.s();case 3:if((r=n.n()).done){e.next=12;break}return o=r.value,e.next=7,o.possibleValues(t);case 7:if(!(i=e.sent)){e.next=10;break}return e.abrupt("return",i);case 10:e.next=3;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(1),n.e(e.t0);case 17:return e.prev=17,n.f(),e.finish(17);case 20:return e.abrupt("return");case 21:case"end":return e.stop()}}),e,this,[[1,14,17,20]])}))),function(e){return t.apply(this,arguments)})}]),e}();iu.ValidationSet=su,iu.validationRegistry=new su;var uu={},cu={};Object.defineProperty(cu,"__esModule",{value:!0}),cu.default=["2A_self_cleaving_peptide_region","4_methylcytosine","5S_SINE_retrotransposon","5_carboxylcytosine","5_formylcytosine","5_hydroxymethylcytosine","5_methylcytosine","7SL_SINE_retrotransposon","8_oxoadenine","8_oxoguanine","AACCCT_box","AFLP_fragment","AP_1_binding_site","ARIA","ARRET","ARS","ARS_consensus_sequence","ASPE_primer","AUG_initiated_uORF","AU_rich_element","A_box","A_box_type_1","A_box_type_2","A_minor_RNA_motif","A_to_C_transversion","A_to_G_transition","A_to_T_transversion","Ace2_UAS","Alu_deletion","Alu_insertion","BAC","BAC_cloned_genomic_insert","BAC_end","BAC_read_contig","BREd_motif","BREu_motif","B_box","Bel_Pao_LTR_retrotransposon","Bruno_response_element","C-D_H_ACA_box_scaRNA","C-D_H_ACA_box_scaRNA_gene","CAAT_signal","CAAX_box","CACTA_TIR_transposon","CAGE_cluster","CAGE_tag","CArG_box","CCAAT_motif","CCA_tail","CDRE_motif","CDS","CDS_extension","CDS_five_prime_extension","CDS_fragment","CDS_independently_known","CDS_predicted","CDS_region","CDS_supported_by_EST_or_cDNA_data","CDS_supported_by_domain_match_data","CDS_supported_by_peptide_spectrum_match","CDS_supported_by_sequence_similarity_data","CDS_three_prime_extension","CRE","CRISPR","CSL_response_element","CTCF_binding_site","CTG_start_codon","C_D_box_scaRNA","C_D_box_scaRNA_gene","C_D_box_snoRNA","C_D_box_snoRNA_gene","C_D_box_snoRNA_primary_transcript","C_box","C_cluster","C_gene_segment","C_region","C_to_A_transversion","C_to_G_transversion","C_to_T_transition","C_to_T_transition_at_pCpG_site","ChIP_seq_region","Copia_LTR_retrotransposon","CpG_island","Crick_strand","Crypton_YR_transposon","CsrB_RsmB_RNA","CuRE","DArT_marker","DCE","DCE_SI","DCE_SII","DCE_SIII","DDB_box","DHU_loop","DIRS_YR_retrotransposon","DJ_C_cluster","DJ_J_C_cluster","DJ_J_cluster","DJ_gene_segment","DMv1_motif","DMv2_motif","DMv3_motif","DMv4_motif","DMv5_motif","DNA_aptamer","DNA_binding_site","DNA_chromosome","DNA_constraint_sequence","DNA_loop","DNA_loop_anchor","DNA_motif","DNA_sequence_secondary_structure","DNA_transposon","DNAzyme","DNaseI_hypersensitive_site","DPE1_motif","DPE_motif","DRE","DRE_motif","DSR_motif","D_DJ_C_cluster","D_DJ_J_C_cluster","D_DJ_J_cluster","D_DJ_cluster","D_J_C_cluster","D_J_cluster","D_cluster","D_gene_recombination_feature","D_gene_segment","D_loop","DsrA_RNA","ER_retention_signal","EST","EST_match","E_box_motif","Endogenous_Retrovirus_LTR_retrotransposon","FLEX_element","FRE","FRT_site","GAGA_motif","GATA_box","GC_rich_promoter_region","GNA_oligo","GTT_trinucleotide_repeat","GT_dinucleotide_repeat","G_box","G_quartet","G_to_A_transition","G_to_C_transversion","G_to_T_transversion","GcvB_RNA","Gypsy_LTR_retrotransposon","H2AK5_acetylation_site","H2AK9_acetylation_site","H2AZK11_acetylation_site","H2AZK13_acetylation_site","H2AZK15_acetylation_site","H2AZK4_acetylation_site","H2AZK7_acetylation_site","H2BK120_acetylation_site","H2BK12_acetylation_site","H2BK15_acetylation_site","H2BK20_acetylation_site","H2BK5_acetylation_site","H2BK5_monomethylation_site","H2B_ubiquitination_site","H3K14_acetylation_site","H3K18_acetylation_site","H3K20_trimethylation_site","H3K23_acetylation_site","H3K23_dimethylation_site","H3K27_acetylation_site","H3K27_dimethylation_site","H3K27_methylation_site","H3K27_monomethylation_site","H3K27_trimethylation_site","H3K36_acetylation_site","H3K36_dimethylation_site","H3K36_methylation_site","H3K36_monomethylation_site","H3K36_trimethylation_site","H3K4_acetylation_site","H3K4_dimethylation_site","H3K4_methylation_site","H3K4_monomethylation_site","H3K4_trimethylation","H3K56_acetylation_site","H3K79_dimethylation_site","H3K79_methylation_site","H3K79_monomethylation_site","H3K79_trimethylation_site","H3K9_acetylation_site","H3K9_dimethylation_site","H3K9_methylation_site","H3K9_monomethylation_site","H3K9_trimethylation_site","H3R2_dimethylation_site","H3R2_monomethylation_site","H4K12_acetylation_site","H4K16_acetylation_site","H4K20_monomethylation_site","H4K4_trimethylation_site","H4K5_acetylation_site","H4K8_acetylation_site","H4K91_acetylation_site","H4K_acylation_region","H4R3_dimethylation_site","HERV_deletion","HERV_insertion","HSE","H_ACA_box_scaRNA","H_ACA_box_scaRNA_gene","H_ACA_box_snoRNA","H_ACA_box_snoRNA_gene","H_ACA_box_snoRNA_primary_transcript","H_pseudoknot","Hoogsteen_base_pair","I-box","IG_C_gene","IG_C_pseudogene","IG_D_gene","IG_J_gene","IG_J_pseudogene","IG_V_gene","IG_V_pseudogene","INR1_motif","INR_motif","IRLinv_site","IRRinv_site","ISRE","I_LINE_retrotransposon","J_C_cluster","J_cluster","J_gene_recombination_feature","J_gene_segment","J_heptamer","J_nonamer","J_spacer","Jockey_LINE_retrotransposon","KEN_box","K_turn_RNA_motif","L1_LINE_retrotransposon","LARD","LINE1_deletion","LINE1_insertion","LINE_element","LNA_oligo","LOZ1_response_element","LTR_component","LTR_retrotransposon","L_box","MCB","MITE","MNP","MNV","MNV_artifact","MTE","Mat2P","Mat3M","Merlin_TIR_transposon","MicF_RNA","Mutator_TIR_transposon","N2_2_prime_O_dimethylguanosine","N2_7_2prirme_O_trimethylguanosine","N2_7_dimethylguanosine","N2_N2_2_prime_O_trimethylguanosine","N2_N2_7_trimethylguanosine","N2_N2_dimethylguanosine","N2_methylguanosine","N4_2_prime_O_dimethylcytidine","N4_N4_2_prime_O_trimethylcytidine","N4_acetyl_2_prime_O_methylcytidine","N4_acetylcytidine","N4_methylcytidine","N6_2_prime_O_dimethyladenosine","N6_N6_2_prime_O_trimethyladenosine","N6_N6_dimethyladenosine","N6_acetyladenosine","N6_cis_hydroxyisopentenyl_adenosine","N6_glycinylcarbamoyladenosine","N6_hydroxynorvalylcarbamoyladenosine","N6_isopentenyladenosine","N6_methyl_N6_threonylcarbamoyladenosine","N6_methyladenine","N6_methyladenosine","N6_threonylcarbamoyladenosine","NDM2_motif","NDM3_motif","NMD_polymorphic_pseudogene_transcript","NMD_transcript","NSD_transcript","N_region","Ngaro_YR_retrotransposon","ORF","Okazaki_fragment","OxyS_RNA","PAC","PAC_end","PCB","PCR_product","PIF_Harbinger_TIR_transposon","PIP_box","PNA_oligo","PSE_motif","P_TIR_transposon","Penelope_retrotransposon","Phage_RNA_Polymerase_Promoter","Pho7_binding_site","QTL","R2_LINE_retrotransposon","RAPD","RFLP_fragment","RH_map","RNA_6S","RNA_7SK","RNA_7SK_gene","RNA_aptamer","RNA_chromosome","RNA_hook_turn","RNA_internal_loop","RNA_junction_loop","RNA_motif","RNA_polymerase_III_TATA_box","RNA_polymerase_II_TATA_box","RNA_sequence_secondary_structure","RNA_stability_element","RNA_thermometer","RNAi_reagent","RNApol_III_promoter","RNApol_III_promoter_type_1","RNApol_III_promoter_type_2","RNApol_III_promoter_type_3","RNApol_II_core_promoter","RNApol_II_promoter","RNApol_I_promoter","RNase_MRP_RNA","RNase_MRP_RNA_gene","RNase_P_RNA","RNase_P_RNA_gene","RRE_RNA","RR_tract","RST","RST_match","RTE_LINE_retrotransposon","R_GNA_oligo","R_LTR_region","R_five_prime_LTR_region","R_three_prime_LTR_region","Retrovirus_LTR_retrotransposon","Robertsonian_fusion","RprA_RNA","SAGE_tag","SECIS_element","SHP_box","SINE_element","SL10_acceptor_site","SL11_acceptor_site","SL12_acceptor_site","SL1_acceptor_site","SL2_acceptor_site","SL3_acceptor_site","SL4_acceptor_site","SL5_acceptor_site","SL6_acceptor_site","SL7_acceptor_site","SL8_acceptor_site","SL9_acceptor_site","SNP","SNV","SNV_artifact","SP6_RNA_Polymerase_Promoter","SRP_RNA","SRP_RNA_gene","SRP_RNA_primary_transcript","STREP_motif","STS","STS_map","SUMO_interaction_motif","SVA_deletion","SVA_insertion","S_GNA_oligo","S_region","Sap1_recognition_motif","Shine_Dalgarno_sequence","T3_RNA_Polymerase_Promoter","T7_RNA_Polymerase_Promoter","TATA_box","TCS_element","TCT_motif","TERRA","TFRS_collection","TFRS_module","TF_binding_site","TNA_oligo","TRIM","TR_C_Gene","TR_D_Gene","TR_J_Gene","TR_J_pseudogene","TR_V_Gene","TR_V_pseudogene","TR_box","TSS","T_cell_receptor_gene","T_cell_receptor_pseudogene","T_loop","T_to_A_transversion","T_to_C_transition","T_to_G_transversion","Tc1_Mariner_TIR_transposon","Transib_TIR_transposon","U11_snRNA","U12_intron","U12_snRNA","U14_snoRNA","U14_snoRNA_gene","U14_snoRNA_primary_transcript","U1_snRNA","U2_intron","U2_snRNA","U3_LTR_region","U3_five_prime_LTR_region","U3_snoRNA","U3_snoRNA_gene","U3_three_prime_LTR_region","U4_snRNA","U4atac_snRNA","U5_LTR_region","U5_five_prime_LTR_region","U5_snRNA","U5_three_prime_LTR_region","U6_snRNA","U6atac_snRNA","U7_snRNA","UAA_stop_codon_signal","UAG_stop_codon_signal","UGA_stop_codon_signal","UNAAAC_motif","UPD","UST","UST_match","UTR","UTR_intron","UTR_region","U_box","VDJ_C_cluster","VDJ_J_C_cluster","VDJ_J_cluster","VDJ_gene_segment","VD_gene_segment","VJ_C_cluster","VJ_J_C_cluster","VJ_J_cluster","VJ_gene_segment","V_DJ_C_cluster","V_DJ_J_C_cluster","V_DJ_J_cluster","V_DJ_cluster","V_D_DJ_C_cluster","V_D_DJ_J_C_cluster","V_D_DJ_J_cluster","V_D_DJ_cluster","V_D_J_C_cluster","V_D_J_cluster","V_J_C_cluster","V_J_cluster","V_VDJ_C_cluster","V_VDJ_J_C_cluster","V_VDJ_J_cluster","V_VDJ_cluster","V_VJ_C_cluster","V_VJ_J_C_cluster","V_VJ_J_cluster","V_VJ_cluster","V_cluster","V_gene_recombination_feature","V_gene_segment","V_heptamer","V_nonamer","V_region","V_spacer","Viper_YR_retrotransposon","WC_base_pair","W_region","Watson_strand","X_element","X_element_combinatorial_repeat","X_region","YAC","YAC_end","YR_retrotransposon","Y_RNA","Y_RNA_gene","Y_RNA_primary_transcript","Y_prime_element","Y_region","Z1_region","Z2_region","Zas1_recognition_motif","aberrant_processed_transcript","accessible_DNA_region","active_peptide","adaptive_island","alanine","alanine_tRNA_primary_transcript","alanyl_tRNA","allelic_pseudogene","allelic_pseudogenic_rRNA","allelic_pseudogenic_tRNA","allelically_excluded_gene","alpha_beta_motif","alpha_helix","alternate_sequence_site","alternatively_spliced_transcript","amber_stop_codon","ambisense_ssRNA_viral_sequence","amino_acid","amplification_origin","anchor_binding_site","anchor_region","androgen_response_element","anti_ARRET","anticodon","anticodon_loop","antiparallel_beta_strand","antisense_RNA","antisense_lncRNA","antisense_lncRNA_gene","antisense_primary_transcript","apicoplast_chromosome","apicoplast_gene","aptamer","archaeal_intron","archaeosine","arginine","arginine_tRNA_primary_transcript","arginyl_tRNA","asparagine","asparagine_tRNA_primary_transcript","asparaginyl_tRNA","aspartic_acid","aspartic_acid_tRNA_primary_transcript","aspartyl_tRNA","assembly","assembly_component","assembly_error_correction","asx_motif","asx_turn","asx_turn_left_handed_type_one","asx_turn_left_handed_type_two","asx_turn_right_handed_type_one","asx_turn_right_handed_type_two","asymmetric_RNA_internal_loop","attB_site","attC_site","attCtn_site","attI_site","attL_site","attP_site","attR_site","attenuator","autocatalytically_spliced_intron","bacterial_RNApol_promoter","bacterial_RNApol_promoter_sigma54_element","bacterial_RNApol_promoter_sigma_70_element","bacterial_RNApol_promoter_sigma_ecf_element","bacterial_terminator","base","base_call_error_correction","base_pair","beta_bulge","beta_bulge_loop","beta_bulge_loop_five","beta_bulge_loop_six","beta_strand","beta_turn","beta_turn_left_handed_type_one","beta_turn_left_handed_type_two","beta_turn_right_handed_type_one","beta_turn_right_handed_type_two","beta_turn_type_eight","beta_turn_type_six","beta_turn_type_six_a","beta_turn_type_six_a_one","beta_turn_type_six_a_two","beta_turn_type_six_b","bidirectional_promoter","bidirectional_promoter_lncRNA","binding_site","biochemical_region_of_peptide","biological_region","biomaterial_region","biosynthetic_gene_cluster","blocked_reading_frame","blunt_end_restriction_enzyme_cleavage_junction","blunt_end_restriction_enzyme_cleavage_site","boundary_element","branch_site","cDNA_clone","cDNA_match","c_terminal_region","candidate_gene","canonical_five_prime_splice_site","canonical_three_prime_splice_site","cap","capped_mRNA","capped_primary_transcript","cassette_pseudogene","catalytic_residue","catmat_left_handed_four","catmat_left_handed_three","catmat_right_handed_four","catmat_right_handed_three","central_hydrophobic_region_of_signal_peptide","centromere","centromere_DNA_Element_I","centromere_DNA_Element_II","centromere_DNA_Element_III","centromeric_repeat","chimeric_cDNA_clone","chloroplast_DNA_read","chloroplast_chromosome","chromatin_regulatory_region","chromoplast_chromosome","chromoplast_gene","chromosomal_regulatory_element","chromosomal_structural_element","chromosomal_translocation","chromosome","chromosome_arm","chromosome_band","chromosome_breakage_sequence","chromosome_breakpoint","chromosome_part","circular_double_stranded_DNA_chromosome","circular_double_stranded_RNA_chromosome","circular_mRNA","circular_ncRNA","circular_plasmid","circular_single_stranded_DNA_chromosome","circular_single_stranded_RNA_chromosome","cis_acting_homologous_chromosome_pairing_region","cis_regulatory_frameshift_element","cis_regulatory_module","cis_splice_site","class_II_RNA","class_I_RNA","cleaved_for_gpi_anchor_region","cleaved_initiator_methionine","cleaved_peptide_region","clip","clone","clone_end","clone_insert","clone_insert_end","clone_insert_start","cloned_cDNA_insert","cloned_genomic_insert","cloned_region","coding_conserved_region","coding_end","coding_exon","coding_region_of_exon","coding_start","coding_transcript_with_retained_intron","codon","coiled_coil","cointegrated_plasmid","common_fragile_site","complex_chromosomal_rearrangement","complex_operon","complex_regulon","complex_structural_alteration","complex_substitution","compositionally_biased_region_of_peptide","conformational_switch","conjugative_transposon","consensus_AFLP_fragment","consensus_gDNA","consensus_mRNA","consensus_region","conserved_region","constitutive_promoter","contig","contig_collection","contig_read","copy_number_gain","copy_number_loss","copy_number_variation","core_eukaryotic_promoter_element","core_prokaryotic_promoter_element","core_promoter_element","core_viral_promoter_element","cosmid","cross_genome_match","cryptic_gene","cryptic_promoter","cryptic_prophage","cryptic_splice_site","cryptogene","ct_gene","cyanelle_chromosome","cyanelle_gene","cyclic_translocation","cysteine","cysteine_tRNA_primary_transcript","cysteinyl_tRNA","cytoplasmic_polypeptide_region","cytosolic_16S_rRNA","cytosolic_18S_rRNA","cytosolic_23S_rRNA","cytosolic_25S_rRNA","cytosolic_28S_rRNA","cytosolic_2S_rRNA","cytosolic_5S_rRNA","cytosolic_5_8S_rRNA","cytosolic_LSU_rRNA","cytosolic_LSU_rRNA_gene","cytosolic_SSU_rRNA","cytosolic_SSU_rRNA_gene","cytosolic_rRNA","cytosolic_rRNA_16S_gene","cytosolic_rRNA_18S_gene","cytosolic_rRNA_23S_gene","cytosolic_rRNA_25S_gene","cytosolic_rRNA_28S_gene","cytosolic_rRNA_2S_gene","cytosolic_rRNA_5S_gene","cytosolic_rRNA_5_8S_gene","cytosolic_rRNA_gene","dCAPS_primer","databank_entry","decayed_exon","defective_conjugative_transposon","deficient_translocation","deletion","deletion_artifact","deletion_breakpoint","deletion_junction","delins","destruction_box","dg_repeat","dh_repeat","dicistronic_mRNA","dicistronic_primary_transcript","dicistronic_transcript","dif_site","dihydrouridine","dinucleotide_repeat_microsatellite_feature","direct_repeat","direct_tandem_duplication","disabled_reading_frame","dispersed_repeat","distal_duplication","distal_promoter_element","distant_three_prime_recoding_signal","double_stranded_DNA_chromosome","double_stranded_RNA_chromosome","ds_DNA_viral_sequence","ds_RNA_viral_sequence","ds_oligo","duplicated_pseudogene","duplication","duplication_artifact","dye_terminator_read","early_origin_of_replication","edited_CDS","edited_mRNA","edited_transcript","edited_transcript_by_A_to_I_substitution","edited_transcript_feature","editing_block","editing_domain","endogenous_retroviral_gene","endonuclease_spliced_intron","endosomal_localization_signal","engineered_episome","engineered_foreign_gene","engineered_foreign_region","engineered_foreign_repetitive_element","engineered_foreign_transposable_element","engineered_foreign_transposable_element_gene","engineered_fusion_gene","engineered_gene","engineered_insert","engineered_plasmid","engineered_region","engineered_rescue_region","engineered_tag","engineered_transposable_element","enhancer","enhancerRNA","enhancer_binding_site","enhancer_blocking_element","enhancer_bound_by_factor","enhancer_trap_construct","enzymatic_RNA","enzymatic_RNA_gene","epigenetically_modified_gene","epigenetically_modified_region","epigenomically_modified_region","episome","epitope","epoxyqueuosine","eukaryotic_promoter","eukaryotic_terminator","exemplar_mRNA","exon","exon_junction","exon_of_single_exon_gene","exon_region","exonic_splice_enhancer","exonic_splicing_silencer","experimental_feature","experimental_result_region","experimentally_defined_binding_region","expressed_sequence_assembly","expressed_sequence_match","extended_cis_splice_site","extended_intronic_splice_region","external_transcribed_spacer_region","extrachromosomal_mobile_genetic_element","extramembrane_polypeptide_region","fingerprint_map","five_aminomethyl_two_thiouridine","five_carbamoylmethyl_two_prime_O_methyluridine","five_carbamoylmethyluridine","five_carboxyhydroxymethyl_uridine","five_carboxyhydroxymethyl_uridine_methyl_ester","five_carboxymethylaminomethyl_two_prime_O_methyluridine","five_carboxymethylaminomethyl_two_thiouridine","five_carboxymethylaminomethyluridine","five_carboxymethyluridine","five_formyl_two_prime_O_methylcytidine","five_formylcytidine","five_hydroxymethylcytidine","five_hydroxyuridine","five_isopentenylaminomethyl_two_prime_O_methyluridine","five_isopentenylaminomethyl_two_thiouridine","five_isopentenylaminomethyl_uridine","five_methoxycarbonylmethyl_two_prime_O_methyluridine","five_methoxycarbonylmethyl_two_thiouridine","five_methoxycarbonylmethyluridine","five_methoxyuridine","five_methyl_2_thiouridine","five_methylaminomethyl_two_selenouridine","five_methylaminomethyl_two_thiouridine","five_methylaminomethyluridine","five_methylcytidine","five_methyldihydrouridine","five_methyluridine","five_prime_D_heptamer","five_prime_D_nonamer","five_prime_D_recombination_signal_sequence","five_prime_D_spacer","five_prime_EST","five_prime_LTR","five_prime_LTR_component","five_prime_RST","five_prime_UST","five_prime_UTR","five_prime_UTR_intron","five_prime_cis_splice_site","five_prime_clip","five_prime_coding_exon","five_prime_coding_exon_coding_region","five_prime_coding_exon_noncoding_region","five_prime_flanking_region","five_prime_intron","five_prime_noncoding_exon","five_prime_open_reading_frame","five_prime_recoding_site","five_prime_restriction_enzyme_junction","five_prime_sticky_end_restriction_enzyme_cleavage_site","five_prime_terminal_inverted_repeat","five_taurinomethyl_two_thiouridine","five_taurinomethyluridine","five_two_prime_O_dimethylcytidine","five_two_prime_O_dimethyluridine","flanking_region","flanking_repeat","flanking_three_prime_quadruplet_recoding_signal","floxed_gene","foldback_element","foreign_gene","foreign_transposable_element","forkhead_motif","forward_primer","fosmid","four_bp_start_codon","four_demethylwyosine","four_thiouridine","fragile_site","fragment_assembly","functional_candidate_gene","functional_gene_region","fusion_gene","gRNA_gene","galactosyl_queuosine","gamma_turn","gamma_turn_classic","gamma_turn_inverse","gap","gene","gene_array","gene_cassette","gene_cassette_array","gene_component_region","gene_fragment","gene_group","gene_member_region","gene_rearranged_at_DNA_level","gene_segment","gene_silenced_by_DNA_methylation","gene_silenced_by_DNA_modification","gene_silenced_by_RNA_interference","gene_silenced_by_histone_deacetylation","gene_silenced_by_histone_methylation","gene_silenced_by_histone_modification","gene_subarray","gene_trap_construct","gene_with_dicistronic_mRNA","gene_with_dicistronic_primary_transcript","gene_with_dicistronic_transcript","gene_with_edited_transcript","gene_with_mRNA_recoded_by_translational_bypass","gene_with_mRNA_with_frameshift","gene_with_non_canonical_start_codon","gene_with_polyadenylated_mRNA","gene_with_polycistronic_transcript","gene_with_recoded_mRNA","gene_with_start_codon_CUG","gene_with_stop_codon_read_through","gene_with_stop_codon_redefined_as_pyrrolysine","gene_with_stop_codon_redefined_as_selenocysteine","gene_with_trans_spliced_transcript","gene_with_transcript_with_translational_frameshift","genetic_marker","genomic_DNA_contig","genomic_DNA_read","genomic_clone","genomic_island","genomically_contaminated_cDNA_clone","glutamic_acid","glutamic_acid_tRNA_primary_transcript","glutamine","glutamine_tRNA_primary_transcript","glutaminyl_tRNA","glutamyl_tRNA","glycine","glycine_tRNA_primary_transcript","glycyl_tRNA","golden_path","golden_path_fragment","group_1_intron_homing_endonuclease_target_region","group_IIA_intron","group_IIB_intron","group_IIC_intron","group_III_intron","group_II_intron","group_I_intron","guide_RNA","guide_RNA_region","hAT_TIR_transposon","hammerhead_ribozyme","haplotype_block","helitron","helix_turn_helix","heptamer_of_recombination_feature_of_vertebrate_immune_system_gene","heritable_phenotypic_marker","high_identity_region","histidine","histidine_tRNA_primary_transcript","histidyl_tRNA","histone_2AZ_acetylation_site","histone_2A_acetylation_site","histone_2B_acetylation_site","histone_3_acetylation_site","histone_4_acetylation_site","histone_acetylation_site","histone_acylation_region","histone_binding_site","histone_methylation_site","histone_modification","histone_ubiqitination_site","homing_endonuclease_binding_site","homol_D_box","homol_E_box","homologous_chromosome_recognition_and_pairing_locus","homologous_region","hpRNA","hpRNA_gene","hydrophobic_region_of_peptide","hydroxywybutosine","iDNA","i_motif","immature_peptide_region","immunoglobulin_gene","immunoglobulin_pseudogene","immunoglobulin_region","imprinting_control_region","indel_artifact","inducible_promoter","inert_DNA_spacer","inosine","insertion","insertion_artifact","insertion_breakpoint","insertion_sequence","insertion_site","insulator","insulator_binding_site","integrated_mobile_genetic_element","integrated_plasmid","integration_excision_site","integron","intein","intein_encoding_region","interband","interchromosomal_breakpoint","interchromosomal_translocation","intergenic_region","interior_coding_exon","interior_exon","interior_intron","intermediate_element","internal_Shine_Dalgarno_sequence","internal_UTR","internal_eliminated_sequence","internal_guide_sequence","internal_ribosome_entry_site","internal_transcribed_spacer_region","intrachromosomal_breakpoint","intrachromosomal_translocation","intramembrane_polypeptide_region","intrinsically_unstructured_polypeptide_region","introgressed_chromosome_region","intron","intron_base_5","intron_domain","intronic_regulatory_region","intronic_splice_enhancer","intronic_splicing_silencer","invalidated_cDNA_clone","inversion","inversion_breakpoint","inversion_cum_translocation","inversion_site","inversion_site_part","inverted_intrachromosomal_transposition","inverted_repeat","inverted_tandem_duplication","iron_repressed_GATA_element","iron_responsive_element","isoleucine","isoleucine_tRNA_primary_transcript","isoleucyl_tRNA","isomiR","isowyosine","junction","kinetoplast_gene","knob","kozak_sequence","lambda_vector","lariat_intron","late_origin_of_replication","left_handed_peptide_helix","leucine","leucine_tRNA_primary_transcript","leucoplast_chromosome","leucoplast_gene","leucyl_tRNA","ligand_binding_site","ligation_based_read","lincRNA","lincRNA_gene","linear_double_stranded_DNA_chromosome","linear_double_stranded_RNA_chromosome","linear_plasmid","linear_single_stranded_DNA_chromosome","linear_single_stranded_RNA_chromosome","linkage_group","lipoprotein_signal_peptide","lncRNA","lncRNA_gene","lncRNA_primary_transcript","lncRNA_with_retained_intron","loR","locus_control_region","long_terminal_repeat","long_terminal_repeat_transcript","loop","low_complexity_region","loxP_site","lysidine","lysine","lysine_tRNA_primary_transcript","lysosomal_localization_signal","lysyl_tRNA","mRNA","mRNA_contig","mRNA_read","mRNA_recoded_by_codon_redefinition","mRNA_recoded_by_translational_bypass","mRNA_region","mRNA_with_frameshift","mRNA_with_minus_1_frameshift","mRNA_with_minus_2_frameshift","mRNA_with_plus_1_frameshift","mRNA_with_plus_2_frameshift","macronuclear_chromosome","macronucleus_destined_segment","major_TSS","mannosyl_queuosine","match","match_part","maternal_uniparental_disomy","maternally_imprinted_gene","mathematically_defined_repeat","mating_type_M_box","mating_type_region","mating_type_region_motif","mating_type_region_replication_fork_barrier","matrix_attachment_site","mature_protein_region","mature_protein_region_of_CDS","mature_transcript","mature_transcript_region","maxicircle","maxicircle_gene","meiotic_recombination_region","membrane_peptide_loop","membrane_structure","metabolic_island","metal_binding_site","methionine","methionine_tRNA_primary_transcript","methionyl_tRNA","methylated_DNA_base_feature","methylated_adenine","methylated_cytosine","methylation_guide_snoRNA","methylation_guide_snoRNA_gene","methylation_guide_snoRNA_primary_transcript","methylinosine","methylwyosine","miRNA","miRNA_antiguide","miRNA_gene","miRNA_loop","miRNA_primary_transcript","miRNA_primary_transcript_region","miRNA_stem","miRNA_target_site","miR_encoding_Y_RNA_primary_transcript","miR_encoding_lncRNA_primary_transcript","miR_encoding_shRNA_primary_transcript","miR_encoding_snoRNA_primary_transcript","miR_encoding_tRNA_primary_transcript","miR_encoding_vaultRNA_primary_transcript","miRtron","microarray_oligo","micronuclear_chromosome","microsatellite","mini_exon_donor_RNA","mini_gene","minicircle","minicircle_gene","minisatellite","minor_TSS","minus_10_signal","minus_12_signal","minus_1_translational_frameshift","minus_24_signal","minus_2_translational_frameshift","minus_35_signal","mitochondrial_DNA_read","mitochondrial_D_loop","mitochondrial_chromosome","mitochondrial_contig","mitochondrial_control_region","mitochondrial_supercontig","mitochondrial_targeting_signal","mitotic_recombination_region","moR","mobile_element_deletion","mobile_element_insertion","mobile_genetic_element","mobile_intron","modified_DNA_base","modified_L_alanine","modified_L_arginine","modified_L_asparagine","modified_L_aspartic_acid","modified_L_cysteine","modified_L_glutamic_acid","modified_L_glutamine","modified_L_histidine","modified_L_isoleucine","modified_L_leucine","modified_L_lysine","modified_L_methionine","modified_L_phenylalanine","modified_L_proline","modified_L_selenocysteine","modified_L_serine","modified_L_threonine","modified_L_tryptophan","modified_L_tyrosine","modified_L_valine","modified_RNA_base_feature","modified_adenine","modified_adenosine","modified_amino_acid_feature","modified_cytidine","modified_cytosine","modified_glycine","modified_guanine","modified_guanosine","modified_inosine","modified_uridine","molecular_contact_region","monocistronic_mRNA","monocistronic_primary_transcript","monocistronic_transcript","monomeric_repeat","morpholino_oligo","mt_LSU_rRNA","mt_LSU_rRNA_gene","mt_SSU_rRNA","mt_SSU_rRNA_gene","mt_gene","mt_rRNA","mt_rRNA_gene","mt_tRNA","multiplexing_sequence_identifier","mutated_variant_site","mutational_hotspot","n_terminal_region","natural_plasmid","natural_transposable_element","natural_variant_site","ncRNA","ncRNA_gene","nc_conserved_region","nc_primary_transcript","negative_sense_ssRNA_viral_sequence","negatively_autoregulated_gene","nested_repeat","nested_tandem_repeat","nested_transposon","no_output","no_sequence_alteration","non_AUG_initiated_uORF","non_LTR_retrotransposon","non_LTR_retrotransposon_polymeric_tract","non_adjacent_residues","non_allelic_homologous_recombination_region","non_canonical_five_prime_splice_site","non_canonical_start_codon","non_canonical_three_prime_splice_site","non_complimentary_stem","non_cytoplasmic_polypeptide_region","non_processed_pseudogene","non_terminal_residue","non_transcribed_region","nonamer_of_recombination_feature_of_vertebrate_immune_system_gene","noncoding_exon","noncoding_region_of_exon","novel_sequence_insertion","nuclear_chromosome","nuclear_export_signal","nuclear_gene","nuclear_localization_signal","nuclear_mt_pseudogene","nuclear_rim_localization_signal","nuclease_binding_site","nuclease_hypersensitive_site","nuclease_sensitive_site","nucleomorph_gene","nucleomorphic_chromosome","nucleotide_binding_site","nucleotide_cleavage_site","nucleotide_match","nucleotide_motif","nucleotide_to_protein_binding_site","ochre_stop_codon","octamer_motif","oligo","oligo_U_tail","one_methyl_three_three_amino_three_carboxypropyl_pseudouridine","one_methyladenosine","one_methylguanosine","one_methylinosine","one_methylpseudouridine","one_two_prime_O_dimethyladenosine","one_two_prime_O_dimethylguanosine","one_two_prime_O_dimethylinosine","opal_stop_codon","open_chromatin_region","operator","operon","oriC","oriT","oriV","origin_of_replication","orphan_CDS","orthologous_region","outron","overlapping_EST_set","overlapping_feature_set","paired_end_fragment","parallel_beta_strand","paralogous_region","partial_genomic_sequence_assembly","partially_processed_cDNA_clone","paternal_uniparental_disomy","paternally_imprinted_gene","pathogenic_island","peptide_coil","peptide_helix","peptide_localization_signal","peroxywybutosine","phage_sequence","phagemid","phenylalanine","phenylalanine_tRNA_primary_transcript","phenylalanyl_tRNA","pheromone_response_element","phosphorylation_site","piRNA","piRNA_gene","pi_helix","piggyBac_TIR_transposon","plasmid","plasmid_gene","plasmid_vector","plastid_LSU_rRNA","plastid_LSU_rRNA_gene","plastid_SSU_rRNA","plastid_SSU_rRNA_gene","plastid_gene","plastid_rRNA","plastid_rRNA_gene","plus_1_translational_frameshift","plus_2_translational_frameshift","point_centromere","point_mutation","polinton","polyA_primed_cDNA_clone","polyA_sequence","polyA_signal_sequence","polyA_site","polyA_site_cluster","polyadenylated_mRNA","polycistronic_mRNA","polycistronic_primary_transcript","polycistronic_transcript","polymerase_synthesis_read","polymorphic_pseudogene","polymorphic_pseudogene_processed_transcript","polymorphic_pseudogene_with_retained_intron","polypeptide","polypeptide_DNA_contact","polypeptide_binding_motif","polypeptide_calcium_ion_contact_site","polypeptide_catalytic_motif","polypeptide_cobalt_ion_contact_site","polypeptide_conserved_motif","polypeptide_conserved_region","polypeptide_copper_ion_contact_site","polypeptide_domain","polypeptide_iron_ion_contact_site","polypeptide_ligand_contact","polypeptide_magnesium_ion_contact_site","polypeptide_manganese_ion_contact_site","polypeptide_metal_contact","polypeptide_molybdenum_ion_contact_site","polypeptide_motif","polypeptide_nest_left_right_motif","polypeptide_nest_motif","polypeptide_nest_right_left_motif","polypeptide_nickel_ion_contact_site","polypeptide_region","polypeptide_repeat","polypeptide_secondary_structure","polypeptide_sequencing_information","polypeptide_structural_motif","polypeptide_structural_region","polypeptide_tungsten_ion_contact_site","polypeptide_turn_motif","polypeptide_variation_site","polypeptide_zinc_ion_contact_site","polypyrimidine_tract","positional_candidate_gene","positive_sense_ssRNA_viral_sequence","positively_autoregulated_gene","possible_assembly_error","possible_base_call_error","post_translationally_modified_region","post_translationally_regulated_gene","pre_edited_mRNA","pre_edited_region","pre_miRNA","predicted_gene","predicted_transcript","presence_absence_variation","priRNA","primary_transcript","primary_transcript_region","primer","primer_binding_site","primer_match","probe","processed_pseudogene","processed_pseudogenic_rRNA","processed_pseudogenic_tRNA","processed_transcript","prokaryotic_promoter","proline","proline_tRNA_primary_transcript","prolyl_tRNA","promoter","promoter_element","promoter_flanking_region","promoter_targeting_sequence","promoter_trap_construct","propeptide","propeptide_cleavage_site","propeptide_region_of_CDS","prophage","proplastid_gene","protease_site","protein_binding_site","protein_coding_gene","protein_coding_primary_transcript","protein_hmm_match","protein_match","protein_protein_contact","protein_stability_element","proviral_gene","proviral_region","proximal_promoter_element","pseudogene","pseudogene_by_unequal_crossing_over","pseudogene_processed_transcript","pseudogenic_CDS","pseudogenic_exon","pseudogenic_gene_segment","pseudogenic_rRNA","pseudogenic_region","pseudogenic_tRNA","pseudogenic_transcript","pseudogenic_transcript_with_retained_intron","pseudoknot","pseudouridine","pseudouridylation_guide_snoRNA","pseudouridylation_guide_snoRNA_gene","pumilio_response_element","purine_to_pyrimidine_transversion","purine_transition","pyrimidine_to_purine_transversion","pyrimidine_transition","pyrosequenced_read","pyrrolysine","pyrrolysine_tRNA_primary_transcript","pyrrolysyl_tRNA","queuosine","rDNA_intergenic_spacer_element","rDNA_replication_fork_barrier","rRNA","rRNA_21S_gene","rRNA_cleavage_RNA","rRNA_cleavage_snoRNA_primary_transcript","rRNA_gene","rRNA_large_subunit_primary_transcript","rRNA_primary_transcript","rRNA_primary_transcript_region","rRNA_small_subunit_primary_transcript","rare_fragile_site","rasiRNA","read","read_pair","reading_frame","reagent","rearrangement_region","reciprocal_chromosomal_translocation","recoded_codon","recoded_mRNA","recoding_pseudoknot","recoding_stimulatory_region","recombination_enhancer","recombination_feature","recombination_feature_of_rearranged_gene","recombination_hotspot","recombination_regulatory_region","recombination_signal_sequence","recombinationally_inverted_gene","recombinationally_rearranged_gene","recombinationally_rearranged_vertebrate_immune_system_gene","recursive_splice_site","ref_miRNA","region","regional_centromere","regional_centromere_central_core","regional_centromere_inner_repeat_region","regional_centromere_outer_repeat_region","regional_centromere_outer_repeat_transcript","regulatory_promoter_element","regulatory_region","regulon","remark","repeat_component","repeat_fragment","repeat_instability_region","repeat_region","repeat_unit","replication_regulatory_region","replication_start_site","replicon","rescue_gene","rescue_mini_gene","rescue_region","resolution_site","response_element","restriction_enzyme_assembly_scar","restriction_enzyme_binding_site","restriction_enzyme_cleavage_junction","restriction_enzyme_five_prime_single_strand_overhang","restriction_enzyme_recognition_site","restriction_enzyme_region","restriction_enzyme_single_strand_overhang","restriction_enzyme_three_prime_single_strand_overhang","restriction_fragment","retinoic_acid_responsive_element","retrogene","retron","retrotransposon","reverse_Hoogsteen_base_pair","reverse_primer","rho_dependent_bacterial_terminator","rho_independent_bacterial_terminator","ribonuclease_site","ribosome_entry_site","riboswitch","ribothymidine","ribozyme","ribozyme_gene","right_handed_peptide_helix","sORF","sarcin_like_RNA_motif","satellite_DNA","sbRNA","sbRNA_gene","scRNA","scRNA_gene","scRNA_primary_transcript","scaRNA","scaRNA_gene","schellmann_loop","schellmann_loop_seven","schellmann_loop_six","selection_marker","selenocysteine","selenocysteine_tRNA_primary_transcript","selenocysteinyl_tRNA","self_cleaving_ribozyme","sense_intronic_ncRNA","sense_intronic_ncRNA_gene","sense_overlap_ncRNA","sense_overlap_ncRNA_gene","sequence_alteration","sequence_alteration_artifact","sequence_assembly","sequence_comparison","sequence_conflict","sequence_difference","sequence_feature","sequence_length_alteration","sequence_motif","sequence_rearrangement_feature","sequence_secondary_structure","sequence_uncertainty","sequencing_primer","serine","serine_tRNA_primary_transcript","serine_threonine_motif","serine_threonine_staple_motif","serine_threonine_turn","seryl_tRNA","seven_aminomethyl_seven_deazaguanosine","seven_cyano_seven_deazaguanosine","seven_deazaguanosine","seven_methylguanine","seven_methylguanosine","sgRNA","shRNA","shRNA_primary_transcript","shadow_enhancer","short_tandem_repeat_variation","siRNA","signal_anchor","signal_peptide","signal_peptide_region_of_CDS","signature","silenced_gene","silencer","silent_mating_type_cassette_array","simple_operon","simple_regulon","simple_sequence_length_variation","single_strand_restriction_enzyme_cleavage_site","single_stranded_DNA_chromosome","single_stranded_RNA_chromosome","sisRNA","site_specific_recombination_target_region","smFISH_probe","small_regulatory_ncRNA","snRNA","snRNA_gene","snRNA_primary_transcript","sncRNA","sncRNA_gene","snoRNA","snoRNA_gene","snoRNA_primary_transcript","solo_LTR","sonicate_fragment","specific_recombination_site","splice_enhancer","splice_junction","splice_region","splice_site","spliced_leader_RNA","spliceosomal_intron","spliceosomal_intron_region","splicing_regulatory_region","spot_42_RNA","spurious_protein","ss_RNA_viral_sequence","ss_oligo","st_turn_left_handed_type_one","st_turn_left_handed_type_two","st_turn_right_handed_type_one","st_turn_right_handed_type_two","start_codon","stem","stem_loop","stem_loop_region","sterol_regulatory_element","sticky_end_restriction_enzyme_cleavage_site","stop_codon","stop_codon_read_through","stop_codon_redefined_as_pyrrolysine","stop_codon_redefined_as_selenocysteine","stop_codon_signal","structural_alteration","substitution","substitution_artifact","subtelomere","sugar_edge_base_pair","supercontig","symbiosis_island","symmetric_RNA_internal_loop","syntenic_region","synthetic_oligo","tRNA","tRNA_SINE_retrotransposon","tRNA_gene","tRNA_intron","tRNA_primary_transcript","tRNA_region","tag","tandem_duplication","tandem_repeat","target_site_duplication","targeting_vector","tasiRNA","tasiRNA_primary_transcript","teb1_recognition_motif","telomerase_RNA","telomerase_RNA_gene","telomere","telomeric_D_loop","telomeric_repeat","telomeric_transcript","template_region","terminal_inverted_repeat","terminal_inverted_repeat_element","terminal_repeat","terminator","terminator_of_type_2_RNApol_III_promoter","tetraloop","tetranucleotide_repeat_microsatellite_feature","three_methylcytidine","three_methylpseudouridine","three_methyluridine","three_prime_D_heptamer","three_prime_D_nonamer","three_prime_D_recombination_signal_sequence","three_prime_D_spacer","three_prime_EST","three_prime_LTR","three_prime_LTR_component","three_prime_RACE_clone","three_prime_RST","three_prime_UST","three_prime_UTR","three_prime_UTR_intron","three_prime_cis_splice_site","three_prime_clip","three_prime_coding_exon","three_prime_coding_exon_coding_region","three_prime_coding_exon_noncoding_region","three_prime_flanking_region","three_prime_intron","three_prime_noncoding_exon","three_prime_overlapping_ncrna","three_prime_recoding_site","three_prime_repeat_recoding_signal","three_prime_restriction_enzyme_junction","three_prime_stem_loop_structure","three_prime_sticky_end_restriction_enzyme_cleavage_site","three_prime_terminal_inverted_repeat","three_ten_helix","three_three_amino_three_carboxypropyl_uridine","three_two_prime_O_dimethyluridine","threonine","threonine_tRNA_primary_transcript","threonyl_tRNA","tiling_path","tiling_path_clone","tiling_path_fragment","tmRNA","tmRNA_acceptor_piece","tmRNA_coding_piece","tmRNA_gene","tmRNA_primary_transcript","tmRNA_region","tnaORF","topologically_associated_domain","topologically_associated_domain_boundary","topologically_defined_region","trans_splice_acceptor_site","trans_splice_donor_site","trans_splice_junction","trans_splice_site","trans_spliced_mRNA","trans_spliced_transcript","transcribed_cluster","transcribed_fragment","transcribed_processed_pseudogene","transcribed_spacer_region","transcribed_unitary_pseudogene","transcribed_unprocessed_pseudogene","transcript","transcript_bound_by_nucleic_acid","transcript_bound_by_protein","transcript_region","transcript_with_translational_frameshift","transcription_end_site","transcription_factor_regulatory_site","transcription_pause_site","transcription_start_cluster","transcription_termination_signal","transcription_unit","transcriptional_cis_regulatory_region","transgene","transgenic_insertion","transgenic_transposable_element","transit_peptide","transit_peptide_region_of_CDS","transition","translated_nucleotide_match","translated_processed_pseudogene","translated_unprocessed_pseudogene","translation_regulatory_region","translational_frameshift","translationally_regulated_gene","translocation","translocation_breakpoint","translocation_element","transmembrane_helix","transmembrane_polypeptide_region","transposable_element","transposable_element_CDS","transposable_element_flanking_region","transposable_element_gene","transposable_element_insertion_site","transposable_element_pseudogene","transposon_fragment","transversion","trinucleotide_repeat_microsatellite_feature","tryptophan","tryptophan_tRNA_primary_transcript","tryptophanyl_tRNA","twintron","two_methyladenosine","two_methylthio_N6_cis_hydroxyisopentenyl_adenosine","two_methylthio_N6_hydroxynorvalyl_carbamoyladenosine","two_methylthio_N6_isopentenyladenosine","two_methylthio_N6_methyladenosine","two_methylthio_N6_threonyl_carbamoyladenosine","two_prime_O_methyladenosine","two_prime_O_methylcytidine","two_prime_O_methylguanosine","two_prime_O_methylinosine","two_prime_O_methylpseudouridine","two_prime_O_methyluridine","two_prime_O_ribosyladenosine_phosphate","two_prime_O_ribosylguanosine_phosphate","two_thio_two_prime_O_methyluridine","two_thiocytidine","two_thiouridine","tyrosine","tyrosine_tRNA_primary_transcript","tyrosyl_tRNA","uORF","ultracontig","unassigned_supercontig","unconfirmed_transcript","undermodified_hydroxywybutosine","unedited_region","unigene_cluster","unit_of_gene_expression","unitary_pseudogene","unitary_pseudogenic_rRNA","unitary_pseudogenic_tRNA","unprocessed_pseudogenic_rRNA","unprocessed_pseudogenic_tRNA","unspecified_indel","untranslated_region_polycistronic_mRNA","upstream_AUG_codon","uridine_five_oxyacetic_acid","uridine_five_oxyacetic_acid_methyl_ester","vacuolar_sorting_signal","validated_cDNA_clone","valine","valine_tRNA_primary_transcript","valyl_tRNA","vaultRNA_primary_transcript","vault_RNA","vault_RNA_gene","vector_replicon","vertebrate_immune_system_gene","vertebrate_immune_system_gene_recombination_feature","vertebrate_immune_system_gene_recombination_signal_feature","vertebrate_immune_system_gene_recombination_spacer","vertebrate_immune_system_pseudogene","vertebrate_immunoglobulin_T_cell_receptor_gene_cluster","vertebrate_immunoglobulin_T_cell_receptor_rearranged_gene_cluster","vertebrate_immunoglobulin_T_cell_receptor_rearranged_segment","vertebrate_immunoglobulin_T_cell_receptor_segment","viral_promoter","viral_sequence","virtual_sequence","wild_type_rescue_gene","wobble_base_pair","wybutosine","wyosine","zinc_finger_binding_site","zinc_repressed_element"],Object.defineProperty(uu,"__esModule",{value:!0}),uu.CoreValidation=void 0,uu.isTypeChange=fu;var lu=et.__importDefault(cu);function fu(e){return"oldType"in e&&"newType"in e}var du=function(e){oe(o,e);var t,n,r=fe(o);function o(){var e;ee(this,o);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return re(le(e=r.call.apply(r,[this].concat(n))),"name","Core"),e}return ne(o,[{key:"frontendPreValidate",value:(n=Q(Y().mark((function e(t){var n,r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!fu(t)){e.next=18;break}n=we(t.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=10;break}if(lu.default.includes((o=r.value).newType)){e.next=8;break}return e.abrupt("return",{validationName:this.name,error:{message:'"'.concat(o.newType,'" is not a valid SO sequence_feature term')}});case 8:e.next=4;break;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(2),n.e(e.t0);case 15:return e.prev=15,n.f(),e.finish(15);case 18:return e.abrupt("return",{validationName:this.name});case 19:case"end":return e.stop()}}),e,this,[[2,12,15,18]])}))),function(e){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("type"!==t){e.next=2;break}return e.abrupt("return",lu.default);case 2:return e.abrupt("return");case 3:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),o}(ru.Validation);uu.CoreValidation=du;var hu={};Object.defineProperty(hu,"__esModule",{value:!0}),hu.ParentChildValidation=void 0;var pu=rr,mu=function(e){oe(o,e);var t,n,r=fe(o);function o(){var e;ee(this,o);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return re(le(e=r.call.apply(r,[this].concat(n))),"name","ParentChildValidation"),e}return ne(o,[{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){var r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.session,!(0,pu.isLocationEndChange)(t)&&!(0,pu.isLocationStartChange)(t)){e.next=3;break}return e.abrupt("return",this.validateParentChildRelationships(t,{session:o,featureModel:r}));case 3:return e.abrupt("return",{validationName:this.name});case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"validateParentChildRelationships",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,i=[],a=we(t.changes),e.prev=3,u=Y().mark((function e(){var t,n,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.value.featureId,e.next=4,r.findOne({allIds:t}).session(o).exec();case 4:if(n=e.sent){e.next=8;break}throw a="ERROR: The following featureId was not found in database ='".concat(t,"'"),new Error(a);case 8:i.some((function(e){return e._id===n._id}))||i.push(n);case 9:case"end":return e.stop()}}),e)})),a.s();case 6:if((s=a.n()).done){e.next=10;break}return e.delegateYield(u(),"t0",8);case 8:e.next=6;break;case 10:e.next=15;break;case 12:e.prev=12,e.t1=e.catch(3),a.e(e.t1);case 15:return e.prev=15,a.f(),e.finish(15);case 18:c=0,l=i;case 19:if(!(c<l.length)){e.next=31;break}f=l[c],e.prev=21,this.checkChildFeatureBoundaries(f),e.next=28;break;case 25:return e.prev=25,e.t2=e.catch(21),e.abrupt("return",{validationName:this.name,error:{message:String(e.t2)}});case 28:c++,e.next=19;break;case 31:return e.abrupt("return",{validationName:this.name});case 32:case"end":return e.stop()}}),e,this,[[3,12,15,18],[21,25]])}))),function(e,n){return t.apply(this,arguments)})},{key:"checkChildFeatureBoundaries",value:function(e){if(e.children){var t,n=we(e.children||new Map);try{for(n.s();!(t=n.n()).done;){var r=he(t.value,2)[1];if(null!==e.min&&null!==e.max&&null!==r.min&&null!==r.max&&(r.max>e.max||r.min<e.min))throw new Error('Feature "'.concat(r._id,'" exceeds the bounds of its parent, "').concat(e._id,'"'));this.checkChildFeatureBoundaries(r)}}catch(e){n.e(e)}finally{n.f()}}}}]),o}(ru.Validation);hu.ParentChildValidation=mu,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(ru,e),t.__exportStar(iu,e),t.__exportStar(uu,e),t.__exportStar(hu,e)}(nu);var gu={},yu={};function vu(e){this.message=e}(vu.prototype=new Error).name="InvalidCharacterError";var _u="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new vu("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,i=0,a="";r=t.charAt(i++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a};function bu(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(_u(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return _u(t)}}function wu(e){this.message=e}(wu.prototype=new Error).name="InvalidTokenError";var Su={__proto__:null,default:function(e,t){if("string"!=typeof e)throw new wu("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(bu(e.split(".")[n]))}catch(e){throw new wu("Invalid token specified: "+e.message)}},InvalidTokenError:wu},xu=B(Su);Object.defineProperty(yu,"__esModule",{value:!0}),yu.makeUserSessionId=function(e){var t="string"==typeof e?(0,ku.default)(e):e;return"".concat(t.id,"-").concat(t.iat)},yu.getDecodedToken=function(e){return(0,ku.default)(e)};var ku=et.__importDefault(xu);!function(e){Object.defineProperty(e,"__esModule",{value:!0}),et.__exportStar(yu,e)}(gu);var Eu={},Au={};Object.defineProperty(Au,"__esModule",{value:!0}),Au.CDSCheck=void 0;var Cu,Ou=ar,Ru=O.default,Nu=et.__importDefault(Jn);!function(e){e[e.TAG=0]="TAG",e[e.TAA=1]="TAA",e[e.TGA=2]="TGA"}(Cu||(Cu={}));var Iu={G:"C",A:"T",T:"A",C:"G",R:"Y",Y:"R",M:"K",K:"M",S:"S",W:"W",H:"D",B:"V",V:"B",D:"H",N:"N"};function Pu(e){var t,n=[],r=we(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,i=Iu[o.toUpperCase()];if(void 0===i)throw new TypeError('Cannot complement nucleotide: "'.concat(o,'"'));o===o.toLowerCase()?n.push(i.toLowerCase()):n.push(i)}}catch(e){r.e(e)}finally{r.f()}return n.reverse().join("")}function Tu(e,t,n){return Mu.apply(this,arguments)}function Mu(){return(Mu=Q(Y().mark((function e(t,n,r){var o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return r(e.min,e.max)})));case 2:if(o=e.sent,-1!==n){e.next=5;break}return e.abrupt("return",o.map((function(e){return Pu(e)})).join(""));case 5:return e.abrupt("return",o.join(""));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ju(e){for(var t=[],n=0;n<=e.length-3;n+=3)t.push(e.slice(n,n+3));return t}function Fu(e,t,n){var r,o=3*n,i=o+3,a=void 0,s=void 0,u=we(e);try{for(u.s();!(r=u.n()).done;){var c=r.value,l=c.max-c.min;if(void 0===a&&l>o?a=c.min+o:o-=l,void 0===s&&l>i?s=c.min+i:i-=l,void 0!==a&&void 0!==s)return[a,s]}}catch(e){u.e(e)}finally{u.f()}}function Lu(e,t){return Du.apply(this,arguments)}function Du(){return Du=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=[],o=t._id,i=t.max,a=t.min,s=t.refSeq,u=t.strand,c=qu(t)){e.next=5;break}return e.abrupt("return",r);case 5:l=[o],f=we(c),e.prev=7,f.s();case 9:if((d=f.n()).done){e.next=20;break}return h=d.value,e.next=13,Tu(h,u,n);case 13:m=ju(p=e.sent),p.length%3==0?(g=m.pop())&&!(g.toUpperCase()in Cu)&&r.push({_id:(new Nu.default).toHexString(),name:"MissingStopCodonCheck",ids:l,refSeq:s.toString(),start:i,end:i,message:'Feature "'.concat(o,'" is missing a stop codon')}):r.push({_id:(new Nu.default).toHexString(),name:"MultipleOfThreeCheck",ids:l,refSeq:s.toString(),start:a,end:i,message:'The coding sequence for feature "'.concat(o,'" is not a multiple of three')}),y=we(m.entries());try{for(y.s();!(v=y.n()).done;)_=he(v.value,2),b=_[1],(w=Fu(h,0,_[0]))&&b.toUpperCase()in Cu&&(S=he(w,2),x=S[0],k=S[1],r.push({_id:(new Nu.default).toHexString(),name:"InternalStopCodonCheck",ids:l,refSeq:s.toString(),start:x,end:k,message:'The coding sequence for feature "'.concat(o,'" has an internal stop codon')}))}catch(e){y.e(e)}finally{y.f()}case 18:e.next=9;break;case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(7),f.e(e.t0);case 25:return e.prev=25,f.f(),e.finish(25);case 28:return e.abrupt("return",r);case 29:case"end":return e.stop()}}),e,null,[[7,22,25,28]])}))),Du.apply(this,arguments)}function qu(e){if("mRNA"===e.type){var t=e.children,n=e.strand;if(t){var r=Object.values(t).filter((function(e){return"CDS"===e.type}));if(0!==r.length){var o,i=[],a=we(r);try{var s=function(){for(var e=o.value,r=e.max,a=e.min,s=[],u=0,c=Object.values(t);u<c.length;u++){var l=c[u];if("exon"===l.type){var f=he((0,Ru.intersection2)(a,r,l.min,l.max),2),d=f[0],h=f[1];void 0!==d&&void 0!==h&&s.push({min:d,max:h})}}s.sort((function(e,t){return e.min-t.min})),-1===n&&s.reverse();var p=0,m=s.map((function(e){var t=p;return p=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));i.push(m)};for(a.s();!(o=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}return i}}}}var Bu=function(e){oe(r,e);var t,n=fe(r);function r(){var e;ee(this,r);for(var t=arguments.length,o=new Array(t),i=0;i<t;i++)o[i]=arguments[i];return re(le(e=n.call.apply(n,[this].concat(o))),"name","CDSCheck"),re(le(e),"version",1),re(le(e),"default",!0),e}return ne(r,[{key:"checkFeature",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("mRNA"!==t.type){e.next=2;break}return e.abrupt("return",Lu(t,n));case 2:if(t.children){e.next=4;break}return e.abrupt("return",[]);case 4:r=[],o=0,i=Object.values(t.children);case 6:if(!(o<i.length)){e.next=19;break}return a=i[o],e.t0=r.push,e.t1=r,e.t2=me,e.next=13,this.checkFeature(a,n);case 13:e.t3=e.sent,e.t4=(0,e.t2)(e.t3),e.t0.apply.call(e.t0,e.t1,e.t4);case 16:o++,e.next=6;break;case 19:return e.abrupt("return",r);case 20:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),r}(Ou.Check);Au.CDSCheck=Bu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),et.__exportStar(Au,e)}(Eu);var Uu={};Object.defineProperty(Uu,"__esModule",{value:!0}),Uu.makeGFF3Feature=function e(t,n,r){var o,i,a=[{start:t.min,end:t.max}],s=JSON.parse(JSON.stringify(t.attributes)),u=[],c=null!==(o=null===(i=t.attributes)||void 0===i||null===(i=i.source)||void 0===i?void 0:i[0])&&void 0!==o?o:null;return delete s.source,n&&(s.Parent=[n]),s._id&&(s.ID=s._id,delete s._id),s.gff_name&&(s.Name=s.gff_name,delete s.gff_name),s.gff_alias&&(s.Alias=s.gff_alias,delete s.gff_alias),s.gff_target&&(s.Target=s.gff_target,delete s.gff_target),s.gff_gap&&(s.Gap=s.gff_gap,delete s.gff_gap),s.gff_derives_from&&(s.Derives_from=s.gff_derives_from,delete s.gff_derives_from),s.gff_note&&(s.Note=s.gff_note,delete s.gff_note),s.gff_dbxref&&(s.Dbxref=s.gff_dbxref,delete s.gff_dbxref),s.gff_is_circular&&(s.Is_circular=s.gff_is_circular,delete s.gff_is_circular),s.gff_ontology_term&&(u.push.apply(u,me(s.gff_ontology_term)),delete s.gff_ontology_term),s["Gene Ontology"]&&(u.push.apply(u,me(s["Gene Ontology"])),delete s["Gene Ontology"]),s["Sequence Ontology"]&&(u.push.apply(u,me(s["Sequence Ontology"])),delete s["Sequence Ontology"]),u.length>0&&(s.Ontology_term=u),a.map((function(n){var o;return{start:n.start+1,end:n.end,seq_id:r?null!==(o=r[t.refSeq])&&void 0!==o?o:null:t.refSeq,source:c,type:t.type,score:null,strand:t.strand?1===t.strand?"+":"-":null,phase:null,attributes:Object.keys(s).length>0?s:null,derived_features:[],child_features:t.children?Object.values(t.children).map((function(t){var n;return e(t,null===(n=s.ID)||void 0===n?void 0:n[0],r)})):[]}}))},Uu.splitStringIntoChunks=function(e,t){for(var n=[],r=0;r<e.length;r+=t){var o=e.slice(r,r+t);n.push(o)}return n};var zu={};Object.defineProperty(zu,"__esModule",{value:!0}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(rr,e),t.__exportStar(Zs,e),t.__exportStar(nu,e),t.__exportStar(gu,e),t.__exportStar(Eu,e),t.__exportStar(Uu,e),t.__exportStar(zu,e),t.__exportStar(Ar,e)}(nr);var Gu={},Hu={exports:{}};!function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}(Hu);var Wu={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=R.default}(Wu);var Vu=Hu.exports;Object.defineProperty(Gu,"__esModule",{value:!0});var $u=Gu.default=void 0;$u=Gu.default=(0,Vu(Wu).default)((0,N.default.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");const Ju=r.ConfigurationSchema("ApolloInternetAccount",{baseURL:{description:"Location of Apollo server",type:"string",defaultValue:""},tokenType:{description:"A custom name for a token to include in the header",type:"string",defaultValue:"Bearer"}},{baseConfiguration:o.BaseInternetAccountConfig,explicitlyTyped:!0});var Ku=Object.create(null);Ku.open="0",Ku.close="1",Ku.ping="2",Ku.pong="3",Ku.message="4",Ku.upgrade="5",Ku.noop="6";var Yu=Object.create(null);Object.keys(Ku).forEach((function(e){Yu[Ku[e]]=e}));var Zu,Xu={type:"error",data:"parser error"},Qu="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),ec="function"==typeof ArrayBuffer,tc=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer},nc=function(e,t,n){var r=e.type,o=e.data;return Qu&&o instanceof Blob?t?n(o):rc(o,n):ec&&(o instanceof ArrayBuffer||tc(o))?t?n(o):rc(new Blob([o]),n):n(Ku[r]+(o||""))},rc=function(e,t){var n=new FileReader;return n.onload=function(){var e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function oc(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}for(var ic="undefined"==typeof Uint8Array?[]:new Uint8Array(256),ac=0;ac<64;ac++)ic["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(ac)]=ac;var sc,uc="function"==typeof ArrayBuffer,cc=function(e,t){if("string"!=typeof e)return{type:"message",data:fc(e,t)};var n=e.charAt(0);return"b"===n?{type:"message",data:lc(e.substring(1),t)}:Yu[n]?e.length>1?{type:Yu[n],data:e.substring(1)}:{type:Yu[n]}:Xu},lc=function(e,t){if(uc){var n=function(e){var t,n,r,o,i,a=.75*e.length,s=e.length,u=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);var c=new ArrayBuffer(a),l=new Uint8Array(c);for(t=0;t<s;t+=4)n=ic[e.charCodeAt(t)],r=ic[e.charCodeAt(t+1)],o=ic[e.charCodeAt(t+2)],i=ic[e.charCodeAt(t+3)],l[u++]=n<<2|r>>4,l[u++]=(15&r)<<4|o>>2,l[u++]=(3&o)<<6|63&i;return c}(e);return fc(n,t)}return{base64:!0,data:e}},fc=function(e,t){return"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer},dc=String.fromCharCode(30);function hc(e){return e.reduce((function(e,t){return e+t.length}),0)}function pc(e,t){if(e[0].length===t)return e.shift();for(var n=new Uint8Array(t),r=0,o=0;o<t;o++)n[o]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function mc(e){if(e)return function(e){for(var t in mc.prototype)e[t]=mc.prototype[t];return e}(e)}mc.prototype.on=mc.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},mc.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},mc.prototype.off=mc.prototype.removeListener=mc.prototype.removeAllListeners=mc.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<r.length;o++)if((n=r[o])===t||n.fn===t){r.splice(o,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},mc.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var o=(n=n.slice(0)).length;r<o;++r)n[r].apply(this,t)}return this},mc.prototype.emitReserved=mc.prototype.emit,mc.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},mc.prototype.hasListeners=function(e){return!!this.listeners(e).length};var gc=function(){return"undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")()}();function yc(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce((function(t,n){return e.hasOwnProperty(n)&&(t[n]=e[n]),t}),{})}var vc=gc.setTimeout,_c=gc.clearTimeout;function bc(e,t){t.useNativeTimers?(e.setTimeoutFn=vc.bind(gc),e.clearTimeoutFn=_c.bind(gc)):(e.setTimeoutFn=gc.setTimeout.bind(gc),e.clearTimeoutFn=gc.clearTimeout.bind(gc))}var wc,Sc=function(e){oe(n,e);var t=fe(n);function n(e,r,o){var i;return ee(this,n),(i=t.call(this,e)).description=r,i.context=o,i.type="TransportError",i}return ne(n)}(ce(Error)),xc=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this)).writable=!1,bc(le(r),e),r.opts=e,r.query=e.query,r.socket=e.socket,r}return ne(n,[{key:"onError",value:function(e,t,r){return de(ie(n.prototype),"emitReserved",this).call(this,"error",new Sc(e,t,r)),this}},{key:"open",value:function(){return this.readyState="opening",this.doOpen(),this}},{key:"close",value:function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}},{key:"send",value:function(e){"open"===this.readyState&&this.write(e)}},{key:"onOpen",value:function(){this.readyState="open",this.writable=!0,de(ie(n.prototype),"emitReserved",this).call(this,"open")}},{key:"onData",value:function(e){var t=cc(e,this.socket.binaryType);this.onPacket(t)}},{key:"onPacket",value:function(e){de(ie(n.prototype),"emitReserved",this).call(this,"packet",e)}},{key:"onClose",value:function(e){this.readyState="closed",de(ie(n.prototype),"emitReserved",this).call(this,"close",e)}},{key:"pause",value:function(e){}},{key:"createUri",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}},{key:"_hostname",value:function(){var e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}},{key:"_port",value:function(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}},{key:"_query",value:function(e){var t=function(e){var t="";for(var n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}(e);return t.length?"?"+t:""}}]),n}(mc),kc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Ec=64,Ac=0;function Cc(e){var t="";do{t=kc[e%Ec]+t,e=Math.floor(e/Ec)}while(e>0);return t}function Oc(){var e=Cc(+new Date);return e!==wc?(Ac=0,wc=e):e+"."+Cc(Ac++)}var Rc=!1;try{Rc="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(ri){}var Nc=Rc;function Ic(e){var t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||Nc))return new XMLHttpRequest}catch(e){}if(!t)try{return new(gc[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function Pc(){}var Tc=function(){return null!=new Ic({xdomain:!1}).responseType}(),Mc=function(e){oe(n,e);var t=fe(n);function n(e){var r;if(ee(this,n),(r=t.call(this,e)).polling=!1,"undefined"!=typeof location){var o="https:"===location.protocol,i=location.port;i||(i=o?"443":"80"),r.xd="undefined"!=typeof location&&e.hostname!==location.hostname||i!==e.port}return r.supportsBinary=Tc&&!(e&&e.forceBase64),r.opts.withCredentials&&(r.cookieJar=void 0),r}return ne(n,[{key:"name",get:function(){return"polling"}},{key:"doOpen",value:function(){this.poll()}},{key:"pause",value:function(e){var t=this;this.readyState="pausing";var n=function(){t.readyState="paused",e()};if(this.polling||!this.writable){var r=0;this.polling&&(r++,this.once("pollComplete",(function(){--r||n()}))),this.writable||(r++,this.once("drain",(function(){--r||n()})))}else n()}},{key:"poll",value:function(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}},{key:"onData",value:function(e){var t=this;(function(e,t){for(var n=e.split(dc),r=[],o=0;o<n.length;o++){var i=cc(n[o],t);if(r.push(i),"error"===i.type)break}return r})(e,this.socket.binaryType).forEach((function(e){if("opening"===t.readyState&&"open"===e.type&&t.onOpen(),"close"===e.type)return t.onClose({description:"transport closed by the server"}),!1;t.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}},{key:"doClose",value:function(){var e=this,t=function(){e.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}},{key:"write",value:function(e){var t=this;this.writable=!1,function(e,n){var r=e.length,o=new Array(r),i=0;e.forEach((function(e,n){nc(e,!1,(function(e){var a;o[n]=e,++i===r&&(a=o.join(dc),t.doWrite(a,(function(){t.writable=!0,t.emitReserved("drain")})))}))}))}(e)}},{key:"uri",value:function(){var e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=Oc()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}},{key:"request",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new jc(this.uri(),e)}},{key:"doWrite",value:function(e,t){var n=this,r=this.request({method:"POST",data:e});r.on("success",t),r.on("error",(function(e,t){n.onError("xhr post error",e,t)}))}},{key:"doPoll",value:function(){var e=this,t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(function(t,n){e.onError("xhr poll error",t,n)})),this.pollXhr=t}}]),n}(xc),jc=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),bc(le(o=t.call(this)),r),o.opts=r,o.method=r.method||"GET",o.uri=e,o.data=void 0!==r.data?r.data:null,o.create(),o}return ne(n,[{key:"create",value:function(){var e,t=this,r=yc(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this.opts.xd;var o=this.xhr=new Ic(r);try{o.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders)for(var i in o.setDisableHeaderCheck&&o.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&o.setRequestHeader(i,this.opts.extraHeaders[i])}catch(e){}if("POST"===this.method)try{o.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{o.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(o),"withCredentials"in o&&(o.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(o.timeout=this.opts.requestTimeout),o.onreadystatechange=function(){var e;3===o.readyState&&(null===(e=t.opts.cookieJar)||void 0===e||e.parseCookies(o)),4===o.readyState&&(200===o.status||1223===o.status?t.onLoad():t.setTimeoutFn((function(){t.onError("number"==typeof o.status?o.status:0)}),0))},o.send(this.data)}catch(e){return void this.setTimeoutFn((function(){t.onError(e)}),0)}"undefined"!=typeof document&&(this.index=n.requestsCount++,n.requests[this.index]=this)}},{key:"onError",value:function(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(e){if(null!=this.xhr){if(this.xhr.onreadystatechange=Pc,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete n.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),n}(mc);function Fc(){for(var e in jc.requests)jc.requests.hasOwnProperty(e)&&jc.requests[e].abort()}jc.requestsCount=0,jc.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",Fc):"function"==typeof addEventListener&&addEventListener("onpagehide"in gc?"pagehide":"unload",Fc,!1));var Lc=function(){return"function"==typeof Promise&&"function"==typeof Promise.resolve?function(e){return Promise.resolve().then(e)}:function(e,t){return t(e,0)}}(),Dc=gc.WebSocket||gc.MozWebSocket,qc="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),Bc=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this,e)).supportsBinary=!e.forceBase64,r}return ne(n,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var e=this.uri(),t=this.opts.protocols,n=qc?{}:yc(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=qc?new Dc(e,t,n):t?new Dc(e,t):new Dc(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}}},{key:"addEventListeners",value:function(){var e=this;this.ws.onopen=function(){e.opts.autoUnref&&e.ws._socket.unref(),e.onOpen()},this.ws.onclose=function(t){return e.onClose({description:"websocket connection closed",context:t})},this.ws.onmessage=function(t){return e.onData(t.data)},this.ws.onerror=function(t){return e.onError("websocket error",t)}}},{key:"write",value:function(e){var t=this;this.writable=!1;for(var n=function(){var n=r===e.length-1;nc(e[r],t.supportsBinary,(function(e){try{t.ws.send(e)}catch(e){}n&&Lc((function(){t.writable=!0,t.emitReserved("drain")}),t.setTimeoutFn)}))},r=0;r<e.length;r++)n()}},{key:"doClose",value:function(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}},{key:"uri",value:function(){var e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=Oc()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},{key:"check",value:function(){return!!Dc}}]),n}(xc),Uc=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"name",get:function(){return"webtransport"}},{key:"doOpen",value:function(){var e=this;"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((function(){e.onClose()})).catch((function(t){e.onError("webtransport error",t)})),this.transport.ready.then((function(){e.transport.createBidirectionalStream().then((function(t){var n=function(e,t){sc||(sc=new TextDecoder);var n=[],r=0,o=-1,i=!1;return new TransformStream({transform:function(a,s){for(n.push(a);;){if(0===r){if(hc(n)<1)break;var u=pc(n,1);i=128==(128&u[0]),r=(o=127&u[0])<126?3:126===o?1:2}else if(1===r){if(hc(n)<2)break;var c=pc(n,2);o=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),r=3}else if(2===r){if(hc(n)<8)break;var l=pc(n,8),f=new DataView(l.buffer,l.byteOffset,l.length),d=f.getUint32(0);if(d>Math.pow(2,21)-1){s.enqueue(Xu);break}o=d*Math.pow(2,32)+f.getUint32(4),r=3}else{if(hc(n)<o)break;var h=pc(n,o);s.enqueue(cc(i?h:sc.decode(h),t)),r=0}if(0===o||o>e){s.enqueue(Xu);break}}}})}(Number.MAX_SAFE_INTEGER,e.socket.binaryType),r=t.readable.pipeThrough(n).getReader(),o=new TransformStream({transform:function(e,t){!function(e,t){Qu&&e.data instanceof Blob?e.data.arrayBuffer().then(oc).then(t):ec&&(e.data instanceof ArrayBuffer||tc(e.data))?t(oc(e.data)):nc(e,!1,(function(e){Zu||(Zu=new TextEncoder),t(Zu.encode(e))}))}(e,(function(n){var r,o=n.length;if(o<126)r=new Uint8Array(1),new DataView(r.buffer).setUint8(0,o);else if(o<65536){r=new Uint8Array(3);var i=new DataView(r.buffer);i.setUint8(0,126),i.setUint16(1,o)}else{r=new Uint8Array(9);var a=new DataView(r.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(o))}e.data&&"string"!=typeof e.data&&(r[0]|=128),t.enqueue(r),t.enqueue(n)}))}});o.readable.pipeTo(t.writable),e.writer=o.writable.getWriter(),function t(){r.read().then((function(n){n.done||(e.onPacket(n.value),t())})).catch((function(e){}))}();var i={type:"open"};e.query.sid&&(i.data='{"sid":"'.concat(e.query.sid,'"}')),e.writer.write(i).then((function(){return e.onOpen()}))}))})))}},{key:"write",value:function(e){var t=this;this.writable=!1;for(var n=function(){var n=r===e.length-1;t.writer.write(e[r]).then((function(){n&&Lc((function(){t.writable=!0,t.emitReserved("drain")}),t.setTimeoutFn)}))},r=0;r<e.length;r++)n()}},{key:"doClose",value:function(){var e;null===(e=this.transport)||void 0===e||e.close()}}]),n}(xc),zc={websocket:Bc,webtransport:Uc,polling:Mc},Gc=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Hc=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Wc(e){var t,n,r=e,o=e.indexOf("["),i=e.indexOf("]");-1!=o&&-1!=i&&(e=e.substring(0,o)+e.substring(o,i).replace(/:/g,";")+e.substring(i,e.length));for(var a,s=Gc.exec(e||""),u={},c=14;c--;)u[Hc[c]]=s[c]||"";return-1!=o&&-1!=i&&(u.source=r,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=(n=(t=u.path).replace(/\/{2,9}/g,"/").split("/"),"/"!=t.slice(0,1)&&0!==t.length||n.splice(0,1),"/"==t.slice(-1)&&n.splice(n.length-1,1),n),u.queryKey=(a={},u.query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(a[t]=n)})),a),u}var Vc=function(e){oe(n,e);var t=fe(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ee(this,n),(r=t.call(this)).binaryType="arraybuffer",r.writeBuffer=[],e&&"object"===Z(e)&&(o=e,e=null),e?(e=Wc(e),o.hostname=e.host,o.secure="https"===e.protocol||"wss"===e.protocol,o.port=e.port,e.query&&(o.query=e.query)):o.host&&(o.hostname=Wc(o.host).host),bc(le(r),o),r.secure=null!=o.secure?o.secure:"undefined"!=typeof location&&"https:"===location.protocol,o.hostname&&!o.port&&(o.port=r.secure?"443":"80"),r.hostname=o.hostname||("undefined"!=typeof location?location.hostname:"localhost"),r.port=o.port||("undefined"!=typeof location&&location.port?location.port:r.secure?"443":"80"),r.transports=o.transports||["polling","websocket","webtransport"],r.writeBuffer=[],r.prevBufferLen=0,r.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},o),r.opts.path=r.opts.path.replace(/\/$/,"")+(r.opts.addTrailingSlash?"/":""),"string"==typeof r.opts.query&&(r.opts.query=function(e){for(var t={},n=e.split("&"),r=0,o=n.length;r<o;r++){var i=n[r].split("=");t[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return t}(r.opts.query)),r.id=null,r.upgrades=null,r.pingInterval=null,r.pingTimeout=null,r.pingTimeoutTimer=null,"function"==typeof addEventListener&&(r.opts.closeOnBeforeunload&&(r.beforeunloadEventListener=function(){r.transport&&(r.transport.removeAllListeners(),r.transport.close())},addEventListener("beforeunload",r.beforeunloadEventListener,!1)),"localhost"!==r.hostname&&(r.offlineEventListener=function(){r.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",r.offlineEventListener,!1))),r.open(),r}return ne(n,[{key:"createTransport",value:function(e){var t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);var n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new zc[e](n)}},{key:"open",value:function(){var e,t=this;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((function(){t.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}},{key:"setTransport",value:function(e){var t=this;this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(function(e){return t.onClose("transport close",e)}))}},{key:"probe",value:function(e){var t=this,r=this.createTransport(e),o=!1;n.priorWebsocketSuccess=!1;var i=function(){o||(r.send([{type:"ping",data:"probe"}]),r.once("packet",(function(e){if(!o)if("pong"===e.type&&"probe"===e.data){if(t.upgrading=!0,t.emitReserved("upgrading",r),!r)return;n.priorWebsocketSuccess="websocket"===r.name,t.transport.pause((function(){o||"closed"!==t.readyState&&(f(),t.setTransport(r),r.send([{type:"upgrade"}]),t.emitReserved("upgrade",r),r=null,t.upgrading=!1,t.flush())}))}else{var i=new Error("probe error");i.transport=r.name,t.emitReserved("upgradeError",i)}})))};function a(){o||(o=!0,f(),r.close(),r=null)}var s=function(e){var n=new Error("probe error: "+e);n.transport=r.name,a(),t.emitReserved("upgradeError",n)};function u(){s("transport closed")}function c(){s("socket closed")}function l(e){r&&e.name!==r.name&&a()}var f=function(){r.removeListener("open",i),r.removeListener("error",s),r.removeListener("close",u),t.off("close",c),t.off("upgrading",l)};r.once("open",i),r.once("error",s),r.once("close",u),this.once("close",c),this.once("upgrading",l),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((function(){o||r.open()}),200):r.open()}},{key:"onOpen",value:function(){if(this.readyState="open",n.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade)for(var e=0,t=this.upgrades.length;e<t;e++)this.probe(this.upgrades[e])}},{key:"onPacket",value:function(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":var t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}},{key:"onHandshake",value:function(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}},{key:"resetPingTimeout",value:function(){var e=this;this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((function(){e.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}},{key:"onDrain",value:function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}},{key:"flush",value:function(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){var e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}},{key:"getWritablePackets",value:function(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;for(var e,t=1,n=0;n<this.writeBuffer.length;n++){var r=this.writeBuffer[n].data;if(r&&(t+="string"==typeof(e=r)?function(e){for(var t=0,n=0,r=0,o=e.length;r<o;r++)(t=e.charCodeAt(r))<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(e):Math.ceil(1.33*(e.byteLength||e.size))),n>0&&t>this.maxPayload)return this.writeBuffer.slice(0,n);t+=2}return this.writeBuffer}},{key:"write",value:function(e,t,n){return this.sendPacket("message",e,t,n),this}},{key:"send",value:function(e,t,n){return this.sendPacket("message",e,t,n),this}},{key:"sendPacket",value:function(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"!==this.readyState&&"closed"!==this.readyState){(n=n||{}).compress=!1!==n.compress;var o={type:e,data:t,options:n};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),r&&this.once("flush",r),this.flush()}}},{key:"close",value:function(){var e=this,t=function(){e.onClose("forced close"),e.transport.close()},n=function n(){e.off("upgrade",n),e.off("upgradeError",n),t()},r=function(){e.once("upgrade",n),e.once("upgradeError",n)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){e.upgrading?r():t()})):this.upgrading?r():t()),this}},{key:"onError",value:function(e){n.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}},{key:"onClose",value:function(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(e){for(var t=[],n=0,r=e.length;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}]),n}(mc);Vc.protocol=4;var $c="function"==typeof ArrayBuffer,Jc=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer},Kc=Object.prototype.toString,Yc="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Kc.call(Blob),Zc="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===Kc.call(File);function Xc(e){return $c&&(e instanceof ArrayBuffer||Jc(e))||Yc&&e instanceof Blob||Zc&&e instanceof File}function Qc(e,t){if(!e||"object"!==Z(e))return!1;if(Array.isArray(e)){for(var n=0,r=e.length;n<r;n++)if(Qc(e[n]))return!0;return!1}if(Xc(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return Qc(e.toJSON(),!0);for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&Qc(e[o]))return!0;return!1}function el(e){var t=[],n=e;return n.data=tl(e.data,t),n.attachments=t.length,{packet:n,buffers:t}}function tl(e,t){if(!e)return e;if(Xc(e)){var n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){for(var r=new Array(e.length),o=0;o<e.length;o++)r[o]=tl(e[o],t);return r}if("object"===Z(e)&&!(e instanceof Date)){var i={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(i[a]=tl(e[a],t));return i}return e}function nl(e,t){return e.data=rl(e.data,t),delete e.attachments,e}function rl(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]=rl(e[n],t);else if("object"===Z(e))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=rl(e[r],t));return e}var ol,il=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(ol||(ol={}));var al=function(){function e(t){ee(this,e),this.replacer=t}return ne(e,[{key:"encode",value:function(e){return e.type!==ol.EVENT&&e.type!==ol.ACK||!Qc(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===ol.EVENT?ol.BINARY_EVENT:ol.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}},{key:"encodeAsString",value:function(e){var t=""+e.type;return e.type!==ol.BINARY_EVENT&&e.type!==ol.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}},{key:"encodeAsBinary",value:function(e){var t=el(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}]),e}();function sl(e){return"[object Object]"===Object.prototype.toString.call(e)}var ul=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this)).reviver=e,r}return ne(n,[{key:"add",value:function(e){var t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");var r=(t=this.decodeString(e)).type===ol.BINARY_EVENT;r||t.type===ol.BINARY_ACK?(t.type=r?ol.EVENT:ol.ACK,this.reconstructor=new cl(t),0===t.attachments&&de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t)):de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t)}else{if(!Xc(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");(t=this.reconstructor.takeBinaryData(e))&&(this.reconstructor=null,de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t))}}},{key:"decodeString",value:function(e){var t=0,r={type:Number(e.charAt(0))};if(void 0===ol[r.type])throw new Error("unknown packet type "+r.type);if(r.type===ol.BINARY_EVENT||r.type===ol.BINARY_ACK){for(var o=t+1;"-"!==e.charAt(++t)&&t!=e.length;);var i=e.substring(o,t);if(i!=Number(i)||"-"!==e.charAt(t))throw new Error("Illegal attachments");r.attachments=Number(i)}if("/"===e.charAt(t+1)){for(var a=t+1;++t&&","!==e.charAt(t)&&t!==e.length;);r.nsp=e.substring(a,t)}else r.nsp="/";var s=e.charAt(t+1);if(""!==s&&Number(s)==s){for(var u=t+1;++t;){var c=e.charAt(t);if(null==c||Number(c)!=c){--t;break}if(t===e.length)break}r.id=Number(e.substring(u,t+1))}if(e.charAt(++t)){var l=this.tryParse(e.substr(t));if(!n.isPayloadValid(r.type,l))throw new Error("invalid payload");r.data=l}return r}},{key:"tryParse",value:function(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}},{key:"destroy",value:function(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}],[{key:"isPayloadValid",value:function(e,t){switch(e){case ol.CONNECT:return sl(t);case ol.DISCONNECT:return void 0===t;case ol.CONNECT_ERROR:return"string"==typeof t||sl(t);case ol.EVENT:case ol.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===il.indexOf(t[0]));case ol.ACK:case ol.BINARY_ACK:return Array.isArray(t)}}}]),n}(mc),cl=function(){function e(t){ee(this,e),this.packet=t,this.buffers=[],this.reconPack=t}return ne(e,[{key:"takeBinaryData",value:function(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){var t=nl(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),e}(),ll={__proto__:null,protocol:5,get PacketType(){return ol},Encoder:al,Decoder:ul};function fl(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var dl=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),hl=function(e){oe(n,e);var t=fe(n);function n(e,r,o){var i;return ee(this,n),(i=t.call(this)).connected=!1,i.recovered=!1,i.receiveBuffer=[],i.sendBuffer=[],i._queue=[],i._queueSeq=0,i.ids=0,i.acks={},i.flags={},i.io=e,i.nsp=r,o&&o.auth&&(i.auth=o.auth),i._opts=Object.assign({},o),i.io._autoConnect&&i.open(),i}return ne(n,[{key:"disconnected",get:function(){return!this.connected}},{key:"subEvents",value:function(){if(!this.subs){var e=this.io;this.subs=[fl(e,"open",this.onopen.bind(this)),fl(e,"packet",this.onpacket.bind(this)),fl(e,"error",this.onerror.bind(this)),fl(e,"close",this.onclose.bind(this))]}}},{key:"active",get:function(){return!!this.subs}},{key:"connect",value:function(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}},{key:"open",value:function(){return this.connect()}},{key:"send",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.unshift("message"),this.emit.apply(this,t),this}},{key:"emit",value:function(e){if(dl.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(n.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;var o={type:ol.EVENT,data:n,options:{}};if(o.options.compress=!1!==this.flags.compress,"function"==typeof n[n.length-1]){var i=this.ids++,a=n.pop();this._registerAckCallback(i,a),o.id=i}return this.flags.volatile&&(!(this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable)||!this.connected)||(this.connected?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}},{key:"_registerAckCallback",value:function(e,t){var n,r=this,o=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0!==o){var i=this.io.setTimeoutFn((function(){delete r.acks[e];for(var n=0;n<r.sendBuffer.length;n++)r.sendBuffer[n].id===e&&r.sendBuffer.splice(n,1);t.call(r,new Error("operation has timed out"))}),o);this.acks[e]=function(){r.io.clearTimeoutFn(i);for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];t.apply(r,[null].concat(n))}}else this.acks[e]=t}},{key:"emitWithAck",value:function(e){for(var t=this,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise((function(n,o){r.push((function(e,t){return i?e?o(e):n(t):n(e)})),t.emit.apply(t,[e].concat(r))}))}},{key:"_addToQueue",value:function(e){var t,n=this;"function"==typeof e[e.length-1]&&(t=e.pop());var r={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((function(e){if(r===n._queue[0]){if(null!==e)r.tryCount>n._opts.retries&&(n._queue.shift(),t&&t(e));else if(n._queue.shift(),t){for(var o=arguments.length,i=new Array(o>1?o-1:0),a=1;a<o;a++)i[a-1]=arguments[a];t.apply(void 0,[null].concat(i))}return r.pending=!1,n._drainQueue()}})),this._queue.push(r),this._drainQueue()}},{key:"_drainQueue",value:function(){if(this.connected&&0!==this._queue.length){var e=this._queue[0];e.pending&&!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}}},{key:"packet",value:function(e){e.nsp=this.nsp,this.io._packet(e)}},{key:"onopen",value:function(){var e=this;"function"==typeof this.auth?this.auth((function(t){e._sendConnectPacket(t)})):this._sendConnectPacket(this.auth)}},{key:"_sendConnectPacket",value:function(e){this.packet({type:ol.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}},{key:"onerror",value:function(e){this.connected||this.emitReserved("connect_error",e)}},{key:"onclose",value:function(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}},{key:"onpacket",value:function(e){if(e.nsp===this.nsp)switch(e.type){case ol.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case ol.EVENT:case ol.BINARY_EVENT:this.onevent(e);break;case ol.ACK:case ol.BINARY_ACK:this.onack(e);break;case ol.DISCONNECT:this.ondisconnect();break;case ol.CONNECT_ERROR:this.destroy();var t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}},{key:"onevent",value:function(e){var t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}},{key:"emitEvent",value:function(e){if(this._anyListeners&&this._anyListeners.length){var t,r=we(this._anyListeners.slice());try{for(r.s();!(t=r.n()).done;)t.value.apply(this,e)}catch(e){r.e(e)}finally{r.f()}}de(ie(n.prototype),"emit",this).apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}},{key:"ack",value:function(e){var t=this,n=!1;return function(){if(!n){n=!0;for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];t.packet({type:ol.ACK,id:e,data:o})}}}},{key:"onack",value:function(e){var t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}},{key:"onconnect",value:function(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}},{key:"emitBuffered",value:function(){var e=this;this.receiveBuffer.forEach((function(t){return e.emitEvent(t)})),this.receiveBuffer=[],this.sendBuffer.forEach((function(t){e.notifyOutgoingListeners(t),e.packet(t)})),this.sendBuffer=[]}},{key:"ondisconnect",value:function(){this.destroy(),this.onclose("io server disconnect")}},{key:"destroy",value:function(){this.subs&&(this.subs.forEach((function(e){return e()})),this.subs=void 0),this.io._destroy(this)}},{key:"disconnect",value:function(){return this.connected&&this.packet({type:ol.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}},{key:"close",value:function(){return this.disconnect()}},{key:"compress",value:function(e){return this.flags.compress=e,this}},{key:"volatile",get:function(){return this.flags.volatile=!0,this}},{key:"timeout",value:function(e){return this.flags.timeout=e,this}},{key:"onAny",value:function(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}},{key:"prependAny",value:function(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}},{key:"offAny",value:function(e){if(!this._anyListeners)return this;if(e){for(var t=this._anyListeners,n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}},{key:"listenersAny",value:function(){return this._anyListeners||[]}},{key:"onAnyOutgoing",value:function(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}},{key:"prependAnyOutgoing",value:function(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}},{key:"offAnyOutgoing",value:function(e){if(!this._anyOutgoingListeners)return this;if(e){for(var t=this._anyOutgoingListeners,n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}},{key:"listenersAnyOutgoing",value:function(){return this._anyOutgoingListeners||[]}},{key:"notifyOutgoingListeners",value:function(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){var t,n=we(this._anyOutgoingListeners.slice());try{for(n.s();!(t=n.n()).done;)t.value.apply(this,e.data)}catch(e){n.e(e)}finally{n.f()}}}}]),n}(mc);function pl(e){this.ms=(e=e||{}).min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}pl.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-n:e+n}return 0|Math.min(e,this.max)},pl.prototype.reset=function(){this.attempts=0},pl.prototype.setMin=function(e){this.ms=e},pl.prototype.setMax=function(e){this.max=e},pl.prototype.setJitter=function(e){this.jitter=e};var ml=function(e){oe(n,e);var t=fe(n);function n(e,r){var o,i;ee(this,n),(o=t.call(this)).nsps={},o.subs=[],e&&"object"===Z(e)&&(r=e,e=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,bc(le(o),r),o.reconnection(!1!==r.reconnection),o.reconnectionAttempts(r.reconnectionAttempts||Infinity),o.reconnectionDelay(r.reconnectionDelay||1e3),o.reconnectionDelayMax(r.reconnectionDelayMax||5e3),o.randomizationFactor(null!==(i=r.randomizationFactor)&&void 0!==i?i:.5),o.backoff=new pl({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=e;var a=r.parser||ll;return o.encoder=new a.Encoder,o.decoder=new a.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return ne(n,[{key:"reconnection",value:function(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}},{key:"reconnectionAttempts",value:function(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}},{key:"reconnectionDelay",value:function(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}},{key:"randomizationFactor",value:function(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}},{key:"reconnectionDelayMax",value:function(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}},{key:"timeout",value:function(e){return arguments.length?(this._timeout=e,this):this._timeout}},{key:"maybeReconnectOnOpen",value:function(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}},{key:"open",value:function(e){var t=this;if(~this._readyState.indexOf("open"))return this;this.engine=new Vc(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var o=fl(n,"open",(function(){r.onopen(),e&&e()})),i=function(n){t.cleanup(),t._readyState="closed",t.emitReserved("error",n),e?e(n):t.maybeReconnectOnOpen()},a=fl(n,"error",i);if(!1!==this._timeout){var s=this.setTimeoutFn((function(){o(),i(new Error("timeout")),n.close()}),this._timeout);this.opts.autoUnref&&s.unref(),this.subs.push((function(){t.clearTimeoutFn(s)}))}return this.subs.push(o),this.subs.push(a),this}},{key:"connect",value:function(e){return this.open(e)}},{key:"onopen",value:function(){this.cleanup(),this._readyState="open",this.emitReserved("open");var e=this.engine;this.subs.push(fl(e,"ping",this.onping.bind(this)),fl(e,"data",this.ondata.bind(this)),fl(e,"error",this.onerror.bind(this)),fl(e,"close",this.onclose.bind(this)),fl(this.decoder,"decoded",this.ondecoded.bind(this)))}},{key:"onping",value:function(){this.emitReserved("ping")}},{key:"ondata",value:function(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}},{key:"ondecoded",value:function(e){var t=this;Lc((function(){t.emitReserved("packet",e)}),this.setTimeoutFn)}},{key:"onerror",value:function(e){this.emitReserved("error",e)}},{key:"socket",value:function(e,t){var n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new hl(this,e,t),this.nsps[e]=n),n}},{key:"_destroy",value:function(e){for(var t=0,n=Object.keys(this.nsps);t<n.length;t++)if(this.nsps[n[t]].active)return;this._close()}},{key:"_packet",value:function(e){for(var t=this.encoder.encode(e),n=0;n<t.length;n++)this.engine.write(t[n],e.options)}},{key:"cleanup",value:function(){this.subs.forEach((function(e){return e()})),this.subs.length=0,this.decoder.destroy()}},{key:"_close",value:function(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}},{key:"disconnect",value:function(){return this._close()}},{key:"onclose",value:function(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}},{key:"reconnect",value:function(){var e=this;if(this._reconnecting||this.skipReconnect)return this;var t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{var n=this.backoff.duration();this._reconnecting=!0;var r=this.setTimeoutFn((function(){t.skipReconnect||(e.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open((function(n){n?(t._reconnecting=!1,t.reconnect(),e.emitReserved("reconnect_error",n)):t.onreconnect()})))}),n);this.opts.autoUnref&&r.unref(),this.subs.push((function(){e.clearTimeoutFn(r)}))}}},{key:"onreconnect",value:function(){var e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}]),n}(mc),gl={};function yl(e,t){"object"===Z(e)&&(t=e,e=void 0);var n,r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,r=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==n?n.protocol+"//"+e:"https://"+e),r=Wc(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";var o=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+o+":"+r.port+t,r.href=r.protocol+"://"+o+(n&&n.port===r.port?"":":"+r.port),r}(e,(t=t||{}).path||"/socket.io"),o=r.source,i=r.id;return t.forceNew||t["force new connection"]||!1===t.multiplex||gl[i]&&r.path in gl[i].nsps?n=new ml(o,t):(gl[i]||(gl[i]=new ml(o,t)),n=gl[i]),r.query&&!t.query&&(t.query=r.queryKey),n.socket(r.path,t)}function vl(){}function _l(){_l.init.call(this)}function bl(e){return void 0===e._maxListeners?_l.defaultMaxListeners:e._maxListeners}function wl(e,t,n,r){var o,i,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((i=e._events)?(i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),a=i[t]):(i=e._events=new vl,e._eventsCount=0),a){if("function"==typeof a?a=i[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(o=bl(e))&&o>0&&a.length>o){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(s)}}else a=i[t]=n,++e._eventsCount;return e}function Sl(e,t,n){var r=!1;function o(){e.removeListener(t,o),r||(r=!0,n.apply(e,arguments))}return o.listener=n,o}function xl(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function kl(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Object.assign(yl,{Manager:ml,Socket:hl,io:yl,connect:yl}),vl.prototype=Object.create(null),_l.EventEmitter=_l,_l.usingDomains=!1,_l.prototype.domain=void 0,_l.prototype._events=void 0,_l.prototype._maxListeners=void 0,_l.defaultMaxListeners=10,_l.init=function(){this.domain=null,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new vl,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},_l.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},_l.prototype.getMaxListeners=function(){return bl(this)},_l.prototype.emit=function(e){var t,n,r,o,i,a,s,u="error"===e;if(a=this._events)u=u&&null==a.error;else if(!u)return!1;if(s=this.domain,u){if(t=arguments[1],!s){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(n=a[e]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,o=kl(e,r),i=0;i<r;++i)o[i].call(n)}(n,l,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var o=e.length,i=kl(e,o),a=0;a<o;++a)i[a].call(n,r)}(n,l,this,arguments[1]);break;case 3:!function(e,t,n,r,o){if(t)e.call(n,r,o);else for(var i=e.length,a=kl(e,i),s=0;s<i;++s)a[s].call(n,r,o)}(n,l,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,o,i){if(t)e.call(n,r,o,i);else for(var a=e.length,s=kl(e,a),u=0;u<a;++u)s[u].call(n,r,o,i)}(n,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(o=new Array(r-1),i=1;i<r;i++)o[i-1]=arguments[i];!function(e,t,n,r){if(t)e.apply(n,r);else for(var o=e.length,i=kl(e,o),a=0;a<o;++a)i[a].apply(n,r)}(n,l,this,o)}return!0},_l.prototype.on=_l.prototype.addListener=function(e,t){return wl(this,e,t,!1)},_l.prototype.prependListener=function(e,t){return wl(this,e,t,!0)},_l.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,Sl(this,e,t)),this},_l.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,Sl(this,e,t)),this},_l.prototype.removeListener=function(e,t){var n,r,o,i,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new vl:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,i=n.length;i-- >0;)if(n[i]===t||n[i].listener&&n[i].listener===t){a=n[i].listener,o=i;break}if(o<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new vl,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}(n,o);r.removeListener&&this.emit("removeListener",e,a||t)}return this},_l.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new vl,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new vl:delete n[e]),this;if(0===arguments.length){for(var r,o=Object.keys(n),i=0;i<o.length;++i)"removeListener"!==(r=o[i])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new vl,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},_l.prototype.listeners=function(e){var t,n,r=this._events;return n=r&&(t=r[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[],n},_l.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):xl.call(e,t)},_l.prototype.listenerCount=xl,_l.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var El="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e},Al=/%[sdj%]/g;function Cl(e){if(!Bl(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(Pl(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,o=r.length,i=String(e).replace(Al,(function(e){if("%%"===e)return"%";if(n>=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),a=r[n];n<o;a=r[++n])ql(a)||!Gl(a)?i+=" "+a:i+=" "+Pl(a);return i}function Ol(e,t){if(Ul(pt.process))return function(){return Ol(e,t).apply(this,arguments)};if(!0===qt.noDeprecation)return e;var n=!1;return function(){if(!n){if(qt.throwDeprecation)throw new Error(t);qt.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var Rl,Nl={};function Il(e){return Ul(Rl)&&(Rl=qt.env.NODE_DEBUG||""),e=e.toUpperCase(),Nl[e]||(Nl[e]=new RegExp("\\b"+e+"\\b","i").test(Rl)?function(){var t=Cl.apply(null,arguments);console.error("%s %d: %s",e,0,t)}:function(){}),Nl[e]}function Pl(e,t){var n={seen:[],stylize:Ml};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),Dl(t)?n.showHidden=t:t&&function(e,t){if(!t||!Gl(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]]}(n,t),Ul(n.showHidden)&&(n.showHidden=!1),Ul(n.depth)&&(n.depth=2),Ul(n.colors)&&(n.colors=!1),Ul(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Tl),jl(n,e,n.depth)}function Tl(e,t){var n=Pl.styles[t];return n?"["+Pl.colors[n][0]+"m"+e+"["+Pl.colors[n][1]+"m":e}function Ml(e,t){return e}function jl(e,t,n){if(e.customInspect&&t&&Vl(t.inspect)&&t.inspect!==Pl&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Bl(r)||(r=jl(e,r,n)),r}var o=function(e,t){if(Ul(t))return e.stylize("undefined","undefined");if(Bl(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return"number"==typeof t?e.stylize(""+t,"number"):Dl(t)?e.stylize(""+t,"boolean"):ql(t)?e.stylize("null","null"):void 0}(e,t);if(o)return o;var i=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),Wl(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Fl(t);if(0===i.length){if(Vl(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(zl(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Hl(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Wl(t))return Fl(t)}var s,u="",c=!1,l=["{","}"];return Array.isArray(t)&&(c=!0,l=["[","]"]),Vl(t)&&(u=" [Function"+(t.name?": "+t.name:"")+"]"),zl(t)&&(u=" "+RegExp.prototype.toString.call(t)),Hl(t)&&(u=" "+Date.prototype.toUTCString.call(t)),Wl(t)&&(u=" "+Fl(t)),0!==i.length||c&&0!=t.length?n<0?zl(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),s=c?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)Jl(t,String(a))?i.push(Ll(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(Ll(e,t,n,r,o,!0))})),i}(e,t,n,a,i):i.map((function(r){return Ll(e,t,n,a,r,c)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(s,u,l)):l[0]+u+l[1]}function Fl(e){return"["+Error.prototype.toString.call(e)+"]"}function Ll(e,t,n,r,o,i){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(u.set?"[Getter/Setter]":"[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),Jl(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(u.value)<0?(s=ql(n)?jl(e,u.value,null):jl(e,u.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),Ul(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function Dl(e){return"boolean"==typeof e}function ql(e){return null===e}function Bl(e){return"string"==typeof e}function Ul(e){return void 0===e}function zl(e){return Gl(e)&&"[object RegExp]"===$l(e)}function Gl(e){return"object"===Z(e)&&null!==e}function Hl(e){return Gl(e)&&"[object Date]"===$l(e)}function Wl(e){return Gl(e)&&("[object Error]"===$l(e)||e instanceof Error)}function Vl(e){return"function"==typeof e}function $l(e){return Object.prototype.toString.call(e)}function Jl(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Kl(){this.head=null,this.tail=null,this.length=0}Pl.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Pl.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Kl.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Kl.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},Kl.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,e}},Kl.prototype.clear=function(){this.head=this.tail=null,this.length=0},Kl.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},Kl.prototype.concat=function(e){if(0===this.length)return Xt.alloc(0);if(1===this.length)return this.head.data;for(var t=Xt.allocUnsafe(e>>>0),n=this.head,r=0;n;)n.data.copy(t,r),r+=n.data.length,n=n.next;return t};var Yl=Xt.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Zl(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!Yl(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Ql;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=ef;break;default:return void(this.write=Xl)}this.charBuffer=new Xt(6),this.charReceived=0,this.charLength=0}function Xl(e){return e.toString(this.encoding)}function Ql(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function ef(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}Zl.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return"";if(e=e.slice(n,e.length),!((r=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&r<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var r,o=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,o),o-=this.charReceived),(r=(t+=e.toString(this.encoding,0,o)).charCodeAt(o=t.length-1))>=55296&&r<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,o)}return t},Zl.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},Zl.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.encoding;t+=this.charBuffer.slice(0,this.charReceived).toString(n)}return t},rf.ReadableState=nf;var tf=Il("stream");function nf(e,t){this.objectMode=!!(e=e||{}).objectMode,t instanceof Pf&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var n=e.highWaterMark;this.highWaterMark=n||0===n?n:this.objectMode?16:16384,this.highWaterMark=~~this.highWaterMark,this.buffer=new Kl,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new Zl(e.encoding),this.encoding=e.encoding)}function rf(e){if(!(this instanceof rf))return new rf(e);this._readableState=new nf(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),_l.call(this)}function of(e,t,n,r,o){var i=function(e,t){var n=null;return Fn(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(i)e.emit("error",i);else if(null===n)t.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,uf(e)}}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!o){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&o){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var u;!t.decoder||o||r||(n=t.decoder.write(n),u=!t.objectMode&&0===n.length),o||(t.reading=!1),u||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,o?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&uf(e))),function(e,t){t.readingMore||(t.readingMore=!0,At(lf,e,t))}(e,t)}else o||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(t)}El(rf,_l),rf.prototype.push=function(e,t){var n=this._readableState;return n.objectMode||"string"!=typeof e||(t=t||n.defaultEncoding)!==n.encoding&&(e=Xt.from(e,t),t=""),of(this,n,e,t,!1)},rf.prototype.unshift=function(e){return of(this,this._readableState,e,"",!0)},rf.prototype.isPaused=function(){return!1===this._readableState.flowing},rf.prototype.setEncoding=function(e){return this._readableState.decoder=new Zl(e),this._readableState.encoding=e,this};var af=8388608;function sf(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=af?e=af:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function uf(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(tf("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?At(cf,e):cf(e))}function cf(e){tf("emit readable"),e.emit("readable"),hf(e)}function lf(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(tf("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function ff(e){tf("readable nexttick read 0"),e.read(0)}function df(e,t){t.reading||(tf("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),hf(e),t.flowing&&!t.reading&&e.read(0)}function hf(e){var t=e._readableState;for(tf("flow",t.flowing);t.flowing&&null!==e.read(););}function pf(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,r=1,o=n.data;for(e-=o.length;n=n.next;){var i=n.data,a=e>i.length?i.length:e;if(o+=a===i.length?i:i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.head=n.next?n.next:t.tail=null):(t.head=n,n.data=i.slice(a));break}++r}return t.length-=r,o}(e,t):function(e,t){var n=Xt.allocUnsafe(e),r=t.head,o=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var i=r.data,a=e>i.length?i.length:e;if(i.copy(n,n.length-e,0,a),0==(e-=a)){a===i.length?(++o,t.head=r.next?r.next:t.tail=null):(t.head=r,r.data=i.slice(a));break}++o}return t.length-=o,n}(e,t),r}(e,t.buffer,t.decoder),n);var n}function mf(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,At(gf,t,e))}function gf(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function yf(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function vf(){}function _f(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function bf(e,t){Object.defineProperty(this,"buffer",{get:Ol((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),this.objectMode=!!(e=e||{}).objectMode,t instanceof Pf&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var n=e.highWaterMark;this.highWaterMark=n||0===n?n:this.objectMode?16:16384,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.decodeStrings=!(!1===e.decodeStrings),this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,o=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,o){--t.pendingcb,n?At(o,r):o(r),e._writableState.errorEmitted=!0,e.emit("error",r)}(e,n,r,t,o);else{var i=Ef(n);i||n.corked||n.bufferProcessing||!n.bufferedRequest||kf(e,n),r?At(xf,e,n,i,o):xf(e,n,i,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new Of(this)}function wf(e){if(!(this instanceof wf||this instanceof Pf))return new wf(e);this._writableState=new bf(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),_l.call(this)}function Sf(e,t,n,r,o,i,a){t.writelen=r,t.writecb=a,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,i,t.onwrite),t.sync=!1}function xf(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),Cf(e,t)}function kf(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=new Array(t.bufferedRequestCount),o=t.corkedRequestsFree;o.entry=n;for(var i=0;n;)r[i]=n,n=n.next,i+=1;Sf(e,t,!0,t.length,r,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new Of(t)}else{for(;n;){var a=n.chunk;if(Sf(e,t,!1,t.objectMode?1:a.length,a,n.encoding,n.callback),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function Ef(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function Af(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function Cf(e,t){var n=Ef(t);return n&&(0===t.pendingcb?(Af(e,t),t.finished=!0,e.emit("finish")):Af(e,t)),n}function Of(e){var t=this;this.next=null,this.entry=null,this.finish=function(n){var r=t.entry;for(t.entry=null;r;){var o=r.callback;e.pendingcb--,o(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}rf.prototype.read=function(e){tf("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return tf("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?mf(this):uf(this),null;if(0===(e=sf(e,t))&&t.ended)return 0===t.length&&mf(this),null;var r,o=t.needReadable;return tf("need readable",o),(0===t.length||t.length-e<t.highWaterMark)&&tf("length less than watermark",o=!0),t.ended||t.reading?tf("reading or ended",o=!1):o&&(tf("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=sf(n,t))),null===(r=e>0?pf(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&mf(this)),null!==r&&this.emit("data",r),r},rf.prototype._read=function(e){this.emit("error",new Error("not implemented"))},rf.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,tf("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end?c:a;function i(e){tf("onunpipe"),e===n&&c()}function a(){tf("onend"),e.end()}r.endEmitted?At(o):n.once("end",o),e.on("unpipe",i);var s=function(e){return function(){var t=e._readableState;tf("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,hf(e))}}(n);e.on("drain",s);var u=!1;function c(){tf("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",i),n.removeListener("end",a),n.removeListener("end",c),n.removeListener("data",f),u=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var l=!1;function f(t){tf("ondata"),l=!1,!1!==e.write(t)||l||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==yf(r.pipes,e))&&!u&&(tf("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,l=!0),n.pause())}function d(t){tf("onerror",t),m(),e.removeListener("error",d),0===e.listeners("error").length&&e.emit("error",t)}function h(){e.removeListener("finish",p),m()}function p(){tf("onfinish"),e.removeListener("close",h),m()}function m(){tf("unpipe"),n.unpipe(e)}return n.on("data",f),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",d),e.once("close",h),e.once("finish",p),e.emit("pipe",n),r.flowing||(tf("pipe resume"),n.resume()),e},rf.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<r;o++)n[o].emit("unpipe",this);return this}var i=yf(t.pipes,e);return-1===i||(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this)),this},rf.prototype.addListener=rf.prototype.on=function(e,t){var n=_l.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&uf(this):At(ff,this))}return n},rf.prototype.resume=function(){var e=this._readableState;return e.flowing||(tf("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,At(df,e,t))}(this,e)),this},rf.prototype.pause=function(){return tf("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(tf("pause"),this._readableState.flowing=!1,this.emit("pause")),this},rf.prototype.wrap=function(e){var t=this._readableState,n=!1,r=this;for(var o in e.on("end",(function(){if(tf("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&r.push(e)}r.push(null)})),e.on("data",(function(o){tf("wrapped data"),t.decoder&&(o=t.decoder.write(o)),t.objectMode&&null==o||(t.objectMode||o&&o.length)&&(r.push(o)||(n=!0,e.pause()))})),e)void 0===this[o]&&"function"==typeof e[o]&&(this[o]=function(t){return function(){return e[t].apply(e,arguments)}}(o));return function(t,n){for(var o=0,i=t.length;o<i;o++)e.on(a=t[o],r.emit.bind(r,a));var a}(["error","close","destroy","pause","resume"]),r._read=function(t){tf("wrapped _read",t),n&&(n=!1,e.resume())},r},rf._fromList=pf,wf.WritableState=bf,El(wf,_l),bf.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},wf.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},wf.prototype.write=function(e,t,n){var r=this._writableState,o=!1;return"function"==typeof t&&(n=t,t=null),Xt.isBuffer(e)?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=vf),r.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),At(t,n)}(this,n):function(e,t,n,r){var o=!0,i=!1;return null===n?i=new TypeError("May not write null values to stream"):Xt.isBuffer(n)||"string"==typeof n||void 0===n||t.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i&&(e.emit("error",i),At(r,i),o=!1),o}(this,r,e,n)&&(r.pendingcb++,o=function(e,t,n,r,o){n=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=Xt.from(t,n)),t}(t,n,r),Xt.isBuffer(n)&&(r="buffer");var i=t.objectMode?1:n.length;t.length+=i;var a=t.length<t.highWaterMark;if(a||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new _f(n,r,o),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Sf(e,t,!1,i,n,r,o);return a}(this,r,e,t,n)),o},wf.prototype.cork=function(){this._writableState.corked++},wf.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||kf(this,e))},wf.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},wf.prototype._write=function(e,t,n){n(new Error("not implemented"))},wf.prototype._writev=null,wf.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,Cf(e,t),n&&(t.finished?At(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,r,n)},El(Pf,rf);for(var Rf=Object.keys(wf.prototype),Nf=0;Nf<Rf.length;Nf++){var If=Rf[Nf];Pf.prototype[If]||(Pf.prototype[If]=wf.prototype[If])}function Pf(e){if(!(this instanceof Pf))return new Pf(e);rf.call(this,e),wf.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",Tf)}function Tf(){this.allowHalfOpen||this._writableState.ended||At(Mf,this)}function Mf(e){e.end()}function jf(e){this.afterTransform=function(t,n){return function(e,t,n){var r=e._transformState;r.transforming=!1;var o=r.writecb;if(!o)return e.emit("error",new Error("no writecb in Transform class"));r.writechunk=null,r.writecb=null,null!=n&&e.push(n),o(t);var i=e._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&e._read(i.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Ff(e){if(!(this instanceof Ff))return new Ff(e);Pf.call(this,e),this._transformState=new jf(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",(function(){"function"==typeof this._flush?this._flush((function(e){Lf(t,e)})):Lf(t)}))}function Lf(e,t){if(t)return e.emit("error",t);var n=e._transformState;if(e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(n.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}function Df(e){if(!(this instanceof Df))return new Df(e);Ff.call(this,e)}function qf(){_l.call(this)}function Bf(e){return e.replace(/%([0-9A-Fa-f]{2})/g,(function(e,t){return String.fromCharCode(parseInt(t,16))}))}function Uf(e,t){return String(t).replace(e,(function(e){var t=e.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0");return"%".concat(t)}))}function zf(e){return Uf(/[\n;\r\t=%&,\x00-\x1f\x7f-\xff]/g,e)}function Gf(e){return Uf(/[\n\r\t%\x00-\x1f\x7f-\xff]/g,e)}function Hf(e){if(!e||!e.length||"."===e)return{};var t={};return e.replace(/\r?\n$/,"").split(";").forEach((function(e){var n,r=e.split("=",2);if(r[1]&&r[1].length){r[0]=r[0].trim();var o=t[r[0].trim()];o||(t[r[0]]=o=[]),(n=o).push.apply(n,me(r[1].split(",").map((function(e){return e.trim()})).map(Bf)))}})),t}function Wf(e){var t=e.split("\t").map((function(e){return"."===e||""===e?null:e}));return{seq_id:t[0]&&Bf(t[0]),source:t[1]&&Bf(t[1]),type:t[2]&&Bf(t[2]),start:null===t[3]?null:parseInt(t[3],10),end:null===t[4]?null:parseInt(t[4],10),score:null===t[5]?null:parseFloat(t[5]),strand:t[6],phase:t[7],attributes:null===t[8]?null:Hf(t[8])}}function Vf(e){var t=/^\s*##\s*(\S+)\s*(.*)/.exec(e);if(!t)return null;var n=he(t,2)[1],r=he(t,3)[2],o={directive:n};if(r.length&&(r=r.replace(/\r?\n$/,""),o.value=r),"sequence-region"===n){var i=r.split(/\s+/,3);return K(K({},o),{},{seq_id:i[0],start:i[1]&&i[1].replace(/\D/g,""),end:i[2]&&i[2].replace(/\D/g,"")})}if("genome-build"===n){var a=he(r.split(/\s+/,2),2),s=a[0],u=a[1];return K(K({},o),{},{source:s,buildName:u})}return o}function $f(e){var t=[];return Object.entries(e).forEach((function(e){var n,r=he(e,2),o=r[0],i=r[1];i&&(n=i.hasOwnProperty("toString")?zf(i.toString()):Array.isArray(i)?i.map(zf).join(","):zf(i),t.push("".concat(zf(o),"=").concat(n)))})),t.length?t.join(";"):"."}function Jf(e,t){var n=null==e.attributes?".":$f(e.attributes),r=[null===e.seq_id?".":Gf(e.seq_id),null===e.source?".":Gf(e.source),null===e.type?".":Gf(e.type),null===e.start?".":Gf(e.start),null===e.end?".":Gf(e.end),null===e.score?".":Gf(e.score),null===e.strand?".":Gf(e.strand),null===e.phase?".":Gf(e.phase),n],o="".concat(r.join("\t"),"\n");return t[o]?"":(t[o]=!0,o)}function Kf(e,t){if(Array.isArray(e))return e.map((function(e){return Kf(e,t)})).join("");var n,r=[Jf(e,t)];return void 0!==(n=e).child_features&&void 0!==n.derived_features&&r.push.apply(r,me(e.child_features.map((function(e){return Kf(e,t)}))).concat(me(e.derived_features.map((function(e){return Kf(e,t)}))))),r.join("")}function Yf(e){return Kf(e,{})}function Zf(e){var t="##".concat(e.directive);return e.value&&(t+=" ".concat(e.value)),t+"\n"}function Xf(e){return"# ".concat(e.comment,"\n")}function Qf(e){return">".concat(e.id).concat(e.description?" ".concat(e.description):"","\n").concat(e.sequence,"\n")}function ed(e){function t(e){return"attributes"in e?Yf(e):"directive"in e?Zf(e):"sequence"in e?Qf(e):"comment"in e?Xf(e):"# (invalid item found during format)\n"}return Array.isArray(e)?e.map(t):t(e)}El(Ff,Pf),Ff.prototype.push=function(e,t){return this._transformState.needTransform=!1,Pf.prototype.push.call(this,e,t)},Ff.prototype._transform=function(e,t,n){throw new Error("Not implemented")},Ff.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var o=this._readableState;(r.needTransform||o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}},Ff.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},El(Df,Ff),Df.prototype._transform=function(e,t,n){n(null,e)},El(qf,_l),qf.Readable=rf,qf.Writable=wf,qf.Duplex=Pf,qf.Transform=Ff,qf.PassThrough=Df,qf.Stream=qf,qf.prototype.pipe=function(e,t){var n=this;function r(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",r),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",a),n.on("close",s));var i=!1;function a(){i||(i=!0,e.end())}function s(){i||(i=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===_l.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",r),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",s),n.removeListener("error",u),e.removeListener("error",u),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",u),e.on("error",u),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e};var td={__proto__:null,unescape:Bf,escape:zf,escapeColumn:Gf,parseAttributes:Hf,parseFeature:Wf,parseDirective:Vf,formatAttributes:$f,formatFeature:Yf,formatDirective:Zf,formatComment:Xf,formatSequence:Qf,formatItem:ed},nd=function(){function e(t){ee(this,e),this.seqCallback=t,this.currentSequence=void 0}return ne(e,[{key:"addLine",value:function(e){var t=/^>\s*(\S+)\s*(.*)/.exec(e);t?(this._flush(),this.currentSequence={id:t[1],sequence:""},t[2]&&(this.currentSequence.description=t[2].trim())):this.currentSequence&&/\S/.test(e)&&(this.currentSequence.sequence+=e.replace(/\s/g,""))}},{key:"_flush",value:function(){this.currentSequence&&this.seqCallback(this.currentSequence)}},{key:"finish",value:function(){this._flush()}}]),e}(),rd=function(){function e(t){ee(this,e),this.fastaParser=void 0,this.eof=!1,this.lineNumber=0,this._underConstructionTopLevel=[],this._underConstructionById={},this._completedReferences={},this._underConstructionOrphans={};var n=function(){};this.featureCallback=t.featureCallback||n,this.endCallback=t.endCallback||n,this.commentCallback=t.commentCallback||n,this.errorCallback=t.errorCallback||n,this.directiveCallback=t.directiveCallback||n,this.sequenceCallback=t.sequenceCallback||n,this.bufferSize=void 0===t.bufferSize?1e3:t.bufferSize}return ne(e,[{key:"addLine",value:function(e){if(this.fastaParser)this.fastaParser.addLine(e);else if(!this.eof)if(this.lineNumber+=1,/^\s*[^#\s>]/.test(e))this._bufferLine(e);else{var t=/^\s*(#+)(.*)/.exec(e);if(t){var n=he(t,2)[1],r=he(t,3)[2];if(3===n.length)this._emitAllUnderConstructionFeatures();else if(2===n.length){var o=Vf(e);o&&("FASTA"===o.directive?(this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new nd(this.sequenceCallback)):this._emitItem(o))}else r=r.replace(/\s*/,""),this._emitItem({comment:r})}else if(/^\s*$/.test(e));else{if(!/^\s*>/.test(e)){var i=e.replace(/\r?\n?$/g,"");throw new Error("GFF3 parse error. Cannot parse '".concat(i,"'."))}this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new nd(this.sequenceCallback),this.fastaParser.addLine(e)}}}},{key:"finish",value:function(){this._emitAllUnderConstructionFeatures(),this.fastaParser&&this.fastaParser.finish(),this.endCallback()}},{key:"_emitItem",value:function(e){Array.isArray(e)?this.featureCallback(e):"directive"in e?this.directiveCallback(e):"comment"in e&&this.commentCallback(e)}},{key:"_enforceBufferSizeLimit",value:function(){for(var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=function t(n){n&&Array.isArray(n)&&n[0].attributes&&n[0].attributes.ID&&n[0].attributes.ID[0]&&(n[0].attributes.ID.forEach((function(t){delete e._underConstructionById[t],delete e._completedReferences[t]})),n.forEach((function(e){e.child_features&&e.child_features.forEach((function(e){return t(e)})),e.derived_features&&e.derived_features.forEach((function(e){return t(e)}))})))};this._underConstructionTopLevel.length+t>this.bufferSize;){var r=this._underConstructionTopLevel.shift();r&&(this._emitItem(r),n(r))}}},{key:"_emitAllUnderConstructionFeatures",value:function(){if(this._underConstructionTopLevel.forEach(this._emitItem.bind(this)),this._underConstructionTopLevel=[],this._underConstructionById={},this._completedReferences={},Array.from(Object.values(this._underConstructionOrphans)).length)throw new Error("some features reference other features that do not exist in the file (or in the same '###' scope). ".concat(JSON.stringify(this._underConstructionOrphans)))}},{key:"_bufferLine",value:function(e){var t,n,r,o=this,i=K(K({},Wf(e)),{},{child_features:[],derived_features:[]}),a=(null===(t=i.attributes)||void 0===t?void 0:t.ID)||[],s=(null===(n=i.attributes)||void 0===n?void 0:n.Parent)||[],u=(null===(r=i.attributes)||void 0===r?void 0:r.Derives_from)||[];if(a.length||s.length||u.length){var c=void 0;a.forEach((function(e){var t=o._underConstructionById[e];t?(t[t.length-1].type!==i.type&&o._parseError('multi-line feature "'.concat(e,'" has inconsistent types: "').concat(i.type,'", "').concat(t[t.length-1].type,'"')),t.push(i),c=t):(c=[i],o._enforceBufferSizeLimit(1),s.length||u.length||o._underConstructionTopLevel.push(c),o._underConstructionById[e]=c,o._resolveReferencesTo(c,e))})),this._resolveReferencesFrom(c||[i],{Parent:s,Derives_from:u},a)}else this._emitItem([i])}},{key:"_resolveReferencesTo",value:function(e,t){var n=this._underConstructionOrphans[t];n&&(e.forEach((function(e){var t;(t=e.child_features).push.apply(t,me(n.Parent))})),e.forEach((function(e){var t;(t=e.derived_features).push.apply(t,me(n.Derives_from))})),delete this._underConstructionOrphans[t])}},{key:"_parseError",value:function(e){this.eof=!0,this.errorCallback("".concat(this.lineNumber,": ").concat(e))}},{key:"_resolveReferencesFrom",value:function(e,t,n){var r=this;function o(e,t,n){var r=e[t];r||(e[t]=r={});var o=r[n]||!1;return r[n]=!0,o}t.Parent.forEach((function(t){var i=r._underConstructionById[t];if(i)n.filter((function(e){return o(r._completedReferences,e,"Parent,".concat(t))})).length||i.forEach((function(t){t.child_features.push(e)}));else{var a=r._underConstructionOrphans[t];a||(r._underConstructionOrphans[t]=a={Parent:[],Derives_from:[]}),a.Parent.push(e)}})),t.Derives_from.forEach((function(t){var i=r._underConstructionById[t];if(i)n.filter((function(e){return o(r._completedReferences,e,"Derives_from,".concat(t))})).length||i.forEach((function(t){t.derived_features.push(e)}));else{var a=r._underConstructionOrphans[t];a||(r._underConstructionOrphans[t]=a={Parent:[],Derives_from:[]}),a.Derives_from.push(e)}}))}}]),e}();function od(e){qt&&At?At(e):e()}function id(e){var t=K({encoding:"utf8",parseFeatures:!0,parseDirectives:!1,parseSequences:!0,parseComments:!1,bufferSize:1e3},e);return e.parseAll&&(t.parseFeatures=!0,t.parseDirectives=!0,t.parseComments=!0,t.parseSequences=!0),t}var ad=function(e){oe(n,e);var t=fe(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ee(this,n),(e=t.call(this,{objectMode:!0})).textBuffer="";var o=id(r);e.encoding=r.encoding||"utf8",e.decoder=new Zl;var i=e.push.bind(le(e));return e.parser=new rd({featureCallback:o.parseFeatures?i:void 0,directiveCallback:o.parseDirectives?i:void 0,commentCallback:o.parseComments?i:void 0,sequenceCallback:o.parseSequences?i:void 0,errorCallback:function(t){return e.emit("error",t)},bufferSize:o.bufferSize}),e}return ne(n,[{key:"_addLine",value:function(e){e&&this.parser.addLine(e)}},{key:"_nextText",value:function(e){var t=this,n=(this.textBuffer+e).split(/\r?\n/);this.textBuffer=n.pop()||"",n.forEach((function(e){return t._addLine(e)}))}},{key:"_transform",value:function(e,t,n){this._nextText(this.decoder.write(e)),od(n)}},{key:"_flush",value:function(e){this.decoder.end&&this._nextText(this.decoder.end()),null!=this.textBuffer&&this._addLine(this.textBuffer),this.parser.finish(),od(e)}}]),n}(Ff),sd=function(e){oe(n,e);var t=fe(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ee(this,n),(e=t.call(this,Object.assign(r,{objectMode:!0}))).linesSinceLastSyncMark=0,e.haveWeEmittedData=!1,e.fastaMode=!1,e.minLinesBetweenSyncMarks=r.minSyncLines||100,e.insertVersionDirective=r.insertVersionDirective||!1,e}return ne(n,[{key:"_transform",value:function(e,t,n){var r;if(!this.haveWeEmittedData&&this.insertVersionDirective){var o=Array.isArray(e)?e[0]:e;"directive"in o&&"gff-version"!==o.directive&&this.push("##gff-version 3\n")}if("sequence"in e&&!this.fastaMode&&(this.push("##FASTA\n"),this.fastaMode=!0),r=Array.isArray(e)?e.map(ed).join(""):ed(e),this.push(r),this.linesSinceLastSyncMark>=this.minLinesBetweenSyncMarks)this.push("###\n"),this.linesSinceLastSyncMark=0;else{for(var i=0,a=0;a<r.length;a+=1)"\n"===r[a]&&(i+=1);this.linesSinceLastSyncMark+=i}this.haveWeEmittedData=!0,od(n)}}]),n}(Ff),ud={parseStream:function(){return new ad(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},parseStringSync:function(e){if(!e)return[];var t=id(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),n=[],r=n.push.bind(n),o=new rd({featureCallback:t.parseFeatures?r:void 0,directiveCallback:t.parseDirectives?r:void 0,commentCallback:t.parseComments?r:void 0,sequenceCallback:t.parseSequences?r:void 0,bufferSize:Infinity,errorCallback:function(e){throw e}});return e.split(/\r?\n/).forEach(o.addLine.bind(o)),o.finish(),n},formatSync:function(e){var t=[],n=[];e.forEach((function(e){"sequence"in e?n.push(e):t.push(e)}));var r=t.map(ed).join("");return n.length&&(r+="##FASTA\n",r+=n.map(Qf).join("")),r},formatStream:function(){return new sd(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},formatFile:function(e,t){var n=K({insertVersionDirective:!0},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return new Promise((function(r,o){e.pipe(new sd(n)).on("end",(function(){return r(null)})).on("error",o).pipe(t)}))},util:td};async function cd(e,t,n){const r=ud.parseStringSync(t,{parseSequences:!0,parseComments:!0,parseDirectives:!1,parseFeatures:!0});if(0===r.length)throw new Error("No features found in GFF3 file");let o=0,i=n.assemblies.get(e);i||(i=n.addAssembly(e,"InMemoryFileDriver"));for(const e of r)if(Array.isArray(e)){const t=nr.gff3ToAnnotationFeature(e),n=i.refSeqs.get(t.refSeq)??i.addRefSeq(t.refSeq,t.refSeq);n.features.has(t._id)||n.addFeature(t)}else if("comment"in e)i.addComment(e.comment);else{o++;let t=i.refSeqs.get(e.id);t||(t=i.addRefSeq(e.id,e.id,e.description)),e.description&&!t.description&&t.setDescription(e.description),t.addSequence({start:0,stop:e.sequence.length,sequence:e.sequence})}if(0===o)throw new Error("No embedded FASTA section found in GFF3");const a=await ld(i);return n.addCheckResults(a),i}async function ld(e){const t=[];for(const n of e.refSeqs.values())for(const e of n.features.values())for(const r of z.checkRegistry.getChecks().values()){const o=await r.checkFeature(u.getSnapshot(e),((e,t)=>Promise.resolve(n.getSequence(e,t))));t.push(...o)}return t}async function fd(e,t){let n;try{n=await e.text()}catch{n=""}return`${t?`${t} — `:""}${e.status} ${e.statusText}${n?` (${n})`:""}`}var dd={},hd=Hu.exports;Object.defineProperty(dd,"__esModule",{value:!0});var pd=dd.default=void 0;pd=dd.default=(0,hd(Wu).default)((0,N.default.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"}),"Link");var md={},gd=Hu.exports;Object.defineProperty(md,"__esModule",{value:!0});var yd=md.default=void 0;yd=md.default=(0,gd(Wu).default)((0,N.default.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");const vd=m.makeStyles()((e=>({dialogTitle:{background:e.palette.primary.main,color:e.palette.primary.contrastText,padding:e.spacing(2)},closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1.5),color:e.palette.primary.contrastText}}))),_d=p.observer((function(e){const{classes:t}=vd(),{handleClose:n,title:r,...o}=e;return M.default.createElement(h.Dialog,{...o,header:M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogTitle,{className:t.dialogTitle},r),M.default.createElement(c.IconButton,{"aria-label":"close",onClick:n,className:t.closeButton},M.default.createElement(yd,null)))})}));var bd;function wd({changeManager:e,handleClose:t,session:n}){const{internetAccounts:o}=u.getRoot(n),{notify:i}=n,a=o.filter((e=>"ApolloInternetAccount"===e.type));if(0===a.length)throw new Error("No Apollo internet account found");const[s,l]=d.useState(""),[f,h]=d.useState(""),[p,m]=d.useState(!1),[g,y]=d.useState(null),[v,_]=d.useState(bd.GFF3),[b,w]=d.useState(!0),[S,x]=d.useState(!1),[k,E]=d.useState(a[0]),[A,C]=d.useState(""),[O,R]=d.useState(""),[N,I]=d.useState(""),[j,F]=d.useState(!1);let L=!1;try{const e=new URL(A);"http:"!==e.protocol&&"https:"!==e.protocol||(L=!0)}catch{}let D=!1;try{const e=new URL(O);"http:"!==e.protocol&&"https:"!==e.protocol||(D=!0)}catch{}let q=!1;try{const e=new URL(N);"http:"!==e.protocol&&"https:"!==e.protocol||(q=!0)}catch{}return M.default.createElement(_d,{open:!0,maxWidth:!1,"data-testid":"add-assembly-dialog",title:"Add new assembly",handleClose:t},j?M.default.createElement(T.default,null):null,M.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),h(""),x(!0),F(!0),i(`Assembly "${s}" is being added`,"info"),t(),r.preventDefault();const{jobsManager:o}=n,a=new AbortController,u={name:`UploadAssemblyFile for ${s}`,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{a.abort(),o.abortJob(u.name)}};o.runJob(u);let c="";const{baseURL:l,getFetcher:f,internetAccountId:d}=k;if(v!==bd.EXTERNAL&&g){const e=new URL("files",l);e.searchParams.set("type",v);const t=e.href,n=new FormData;n.append("file",g),n.append("fileName",g.name),n.append("type",v);const r=f({locationType:"UriLocation",uri:t});if(r){o.update(u.name,"Uploading file, this may take awhile");const{signal:e}=a,i=await r(t,{method:"POST",body:n,signal:e});if(!i.ok){const e=await fd(i,"Error when inserting new assembly (while uploading file)");return o.abortJob(u.name,e),void h(e)}c=(await i.json())._id}}let p;if(v===bd.EXTERNAL)p=new nr.AddAssemblyFromExternalChange({typeName:"AddAssemblyFromExternalChange",assembly:(new Jn).toHexString(),assemblyName:s,externalLocation:{fa:A,fai:O,...N?{gzi:N}:{}}});else{const e={assembly:(new Jn).toHexString(),assemblyName:s,fileIds:{fa:c}};p=v===bd.GFF3&&b?new nr.AddAssemblyAndFeaturesFromFileChange({typeName:"AddAssemblyAndFeaturesFromFileChange",...e}):new nr.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",...e})}o.done(u),await e.submit(p,{internetAccountId:d,updateJobsManager:!0}),x(!1),F(!1)}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},a.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:k.internetAccountId,onChange:function(e){x(!1);const t=a.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);E(t)},disabled:S&&!f},o.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.TextField,{margin:"dense",id:"name",label:"Assembly name",type:"TextField",fullWidth:!0,variant:"outlined",onChange:e=>{x(!1),l(e.target.value),function(e){const{assemblies:t}=n;t.find((t=>r.readConfObject(t,"displayName")===e))?(m(!1),h(`Assembly ${e} already exists.`)):(m(!0),h(""))}(e.target.value)},disabled:S&&!f}),M.default.createElement(c.FormControl,{style:{marginTop:20}},M.default.createElement(c.FormLabel,null,"Select GFF3, FASTA or EXTERNAL option"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:bd.GFF3,name:"radio-buttons-group",onChange:function(e){_(e.target.value),w(e.target.value===bd.GFF3),C(""),R(""),y(null)},value:v},M.default.createElement(c.FormControlLabel,{value:bd.GFF3,control:M.default.createElement(c.Radio,null),label:"GFF3",disabled:S&&!f}),M.default.createElement(c.FormControlLabel,{value:bd.FASTA,control:M.default.createElement(c.Radio,null),label:"FASTA",disabled:S&&!f}),M.default.createElement(c.FormControlLabel,{value:bd.EXTERNAL,control:M.default.createElement(c.Radio,null),label:"External",disabled:S&&!f}))),v===bd.EXTERNAL?M.default.createElement(c.Box,{style:{marginTop:20}},M.default.createElement(c.Typography,{variant:"caption"},"Enter FASTA and FASTA index(es) URL"),M.default.createElement(c.TextField,{margin:"dense",helperText:"Can be bgz-compressed",id:"fasta",label:"FASTA",type:"TextField",fullWidth:!0,variant:"outlined",error:!L,onChange:e=>{C(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(pd,null))}}),M.default.createElement(c.TextField,{margin:"dense",id:"fasta-index",label:"FASTA Index",helperText:".fai or .gz.fai",type:"TextField",fullWidth:!0,variant:"outlined",error:!D,onChange:e=>{R(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(pd,null))}}),M.default.createElement(c.TextField,{margin:"dense",id:"fasta-gzi-index",label:"FASTA GZI Index",helperText:"Only for bgz-compressed FASTA, .gz.gzi",type:"TextField",fullWidth:!0,variant:"outlined",error:Boolean(N)&&!q,onChange:e=>{I(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(pd,null))}})):M.default.createElement(c.Box,{style:{marginTop:20}},M.default.createElement("input",{type:"file",onChange:function(e){if(!e.target.files)return;const t=e.target.files.item(0);if(y(t),!t)return;const n=t.name.toLowerCase();n.endsWith(".fasta")||n.endsWith(".fna")||n.endsWith(".fa")?_(bd.FASTA):(n.endsWith(".gff3")||n.endsWith(".gff"))&&_(bd.GFF3)},disabled:S&&!f}),M.default.createElement(c.FormGroup,null,M.default.createElement(c.FormControlLabel,{control:M.default.createElement(c.Checkbox,{checked:v===bd.GFF3&&b,onChange:()=>{w(!b)},disabled:v!==bd.GFF3||S&&!f}),label:"Also load features from GFF3 file"})))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!p||!((s&&g)??(s&&A&&O&&L&&D))||S,variant:"contained",type:"submit"},S?"Submitting...":"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),f?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},f)):null)}!function(e){e.GFF3="text/x-gff3",e.FASTA="text/x-fasta",e.EXTERNAL="text/x-external"}(bd||(bd={}));var Sd,xd,kd=function(e,t){return t.some((function(t){return e instanceof t}))},Ed=new WeakMap,Ad=new WeakMap,Cd=new WeakMap,Od=new WeakMap,Rd=new WeakMap,Nd={get:function(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return Ad.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Cd.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Pd(e[t])},set:function(e,t,n){return e[t]=n,!0},has:function(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function Id(e){Nd=e(Nd)}function Pd(e){if(e instanceof IDBRequest)return t=e,(n=new Promise((function(e,n){var r=function(){t.removeEventListener("success",o),t.removeEventListener("error",i)},o=function(){e(Pd(t.result)),r()},i=function(){n(t.error),r()};t.addEventListener("success",o),t.addEventListener("error",i)}))).then((function(e){e instanceof IDBCursor&&Ed.set(e,t)})).catch((function(){})),Rd.set(n,t),n;var t,n;if(Od.has(e))return Od.get(e);var r=function(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(xd||(xd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.apply(Td(this),n),Pd(Ed.get(this))}:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return Pd(t.apply(Td(this),n))}:function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=t.call.apply(t,[Td(this),e].concat(r));return Cd.set(i,e.sort?e.sort():[e]),Pd(i)}:(e instanceof IDBTransaction&&function(e){if(!Ad.has(e)){var t=new Promise((function(t,n){var r=function(){e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=function(){t(),r()},i=function(){n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)}));Ad.set(e,t)}}(e),kd(e,Sd||(Sd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,Nd):e);var t}(e);return r!==e&&(Od.set(e,r),Rd.set(r,e)),r}var Td=function(e){return Rd.get(e)},Md=["get","getKey","getAll","getAllKeys","count"],jd=["put","add","delete","clear"],Fd=new Map;function Ld(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(Fd.get(t))return Fd.get(t);var n=t.replace(/FromIndex$/,""),r=t!==n,o=jd.includes(n);if(n in(r?IDBIndex:IDBObjectStore).prototype&&(o||Md.includes(n))){var i=function(){var e=Q(Y().mark((function e(t){var i,a,s,u,c,l,f=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(a=this.transaction(t,o?"readwrite":"readonly"),s=a.store,u=f.length,c=new Array(u>1?u-1:0),l=1;l<u;l++)c[l-1]=f[l];return r&&(s=s.index(c.shift())),e.next=6,Promise.all([(i=s)[n].apply(i,c),o&&a.done]);case 6:return e.abrupt("return",e.sent[0]);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}();return Fd.set(t,i),i}}}Id((function(e){return K(K({},e),{},{get:function(t,n,r){return Ld(t,n)||e.get(t,n,r)},has:function(t,n){return!!Ld(t,n)||e.has(t,n)}})}));var Dd=["continue","continuePrimaryKey","advance"],qd={},Bd=new WeakMap,Ud=new WeakMap,zd={get:function(e,t){if(!Dd.includes(t))return e[t];var n=qd[t];return n||(n=qd[t]=function(){var e;Bd.set(this,(e=Ud.get(this))[t].apply(e,arguments))}),n}};function Gd(){return Hd.apply(this,arguments)}function Hd(){var e;return e=Y().mark((function e(){var t,n,r,o=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((t=this)instanceof IDBCursor){e.next=5;break}return e.next=4,$((n=t).openCursor.apply(n,o));case 4:t=e.sent;case 5:if(t){e.next=7;break}return e.abrupt("return");case 7:r=new Proxy(t,zd),Ud.set(r,t),Rd.set(r,Td(t));case 11:if(!t){e.next=20;break}return e.next=14,r;case 14:return e.next=16,$(Bd.get(r)||t.continue());case 16:t=e.sent,Bd.delete(r),e.next=11;break;case 20:case"end":return e.stop()}}),e,this)})),Hd=function(){return new G(e.apply(this,arguments))},Hd.apply(this,arguments)}function Wd(e,t){return t===Symbol.asyncIterator&&kd(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&kd(e,[IDBIndex,IDBObjectStore])}Id((function(e){return K(K({},e),{},{get:function(t,n,r){return Wd(t,n)?Gd:e.get(t,n,r)},has:function(t,n){return Wd(t,n)||e.has(t,n)}})}));var Vd={},$d={},Jd={},Kd={},Yd={};Object.defineProperty(Yd,"__esModule",{value:!0}),Yd.isFunction=void 0,Yd.isFunction=function(e){return"function"==typeof e};var Zd={},Xd={},Qd={};Object.defineProperty(Qd,"__esModule",{value:!0}),Qd.createErrorClass=void 0,Qd.createErrorClass=function(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t},Object.defineProperty(Xd,"__esModule",{value:!0}),Xd.UnsubscriptionError=void 0,Xd.UnsubscriptionError=Qd.createErrorClass((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}}));var eh={};Object.defineProperty(eh,"__esModule",{value:!0}),eh.arrRemove=void 0,eh.arrRemove=function(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}};var th=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},nh=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},rh=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Zd,"__esModule",{value:!0}),Zd.isSubscription=Zd.EMPTY_SUBSCRIPTION=Zd.Subscription=void 0;var oh=Yd,ih=Xd,ah=eh,sh=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,o;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var a=th(i),s=a.next();!s.done;s=a.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else i.remove(this);var u=this.initialTeardown;if(oh.isFunction(u))try{u()}catch(e){o=e instanceof ih.UnsubscriptionError?e.errors:[e]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var l=th(c),f=l.next();!f.done;f=l.next()){var d=f.value;try{uh(d)}catch(e){o=null!=o?o:[],e instanceof ih.UnsubscriptionError?o=rh(rh([],nh(o)),nh(e.errors)):o.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}}if(o)throw new ih.UnsubscriptionError(o)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)uh(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&ah.arrRemove(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&ah.arrRemove(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();function uh(e){oh.isFunction(e)?e():e.unsubscribe()}Zd.Subscription=sh,Zd.EMPTY_SUBSCRIPTION=sh.EMPTY,Zd.isSubscription=function(e){return e instanceof sh||e&&"closed"in e&&oh.isFunction(e.remove)&&oh.isFunction(e.add)&&oh.isFunction(e.unsubscribe)};var ch={};Object.defineProperty(ch,"__esModule",{value:!0}),ch.config=void 0,ch.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var lh={},fh={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.timeoutProvider=void 0,e.timeoutProvider={setTimeout:function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(r,o){for(var i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var s=e.timeoutProvider.delegate;return(null==s?void 0:s.setTimeout)?s.setTimeout.apply(s,n([r,o],t(i))):setTimeout.apply(void 0,n([r,o],t(i)))})),clearTimeout:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(t){var n=e.timeoutProvider.delegate;return((null==n?void 0:n.clearTimeout)||clearTimeout)(t)})),delegate:void 0}}(fh),Object.defineProperty(lh,"__esModule",{value:!0}),lh.reportUnhandledError=void 0;var dh=ch,hh=fh;lh.reportUnhandledError=function(e){hh.timeoutProvider.setTimeout((function(){var t=dh.config.onUnhandledError;if(!t)throw e;t(e)}))};var ph={};Object.defineProperty(ph,"__esModule",{value:!0}),ph.noop=void 0,ph.noop=function(){};var mh={};function gh(e,t,n){return{kind:e,value:t,error:n}}Object.defineProperty(mh,"__esModule",{value:!0}),mh.createNotification=mh.nextNotification=mh.errorNotification=mh.COMPLETE_NOTIFICATION=void 0,mh.COMPLETE_NOTIFICATION=function(){return gh("C",void 0,void 0)}(),mh.errorNotification=function(e){return gh("E",void 0,e)},mh.nextNotification=function(e){return gh("N",e,void 0)},mh.createNotification=gh;var yh={};Object.defineProperty(yh,"__esModule",{value:!0}),yh.captureError=yh.errorContext=void 0;var vh=ch,_h=null;yh.errorContext=function(e){if(vh.config.useDeprecatedSynchronousErrorHandling){var t=!_h;if(t&&(_h={errorThrown:!1,error:null}),e(),t){var n=_h;if(_h=null,n.errorThrown)throw n.error}}else e()},yh.captureError=function(e){vh.config.useDeprecatedSynchronousErrorHandling&&_h&&(_h.errorThrown=!0,_h.error=e)},function(e){var t=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.EMPTY_OBSERVER=e.SafeSubscriber=e.Subscriber=void 0;var n=Yd,r=Zd,o=ch,i=lh,a=ph,s=mh,u=fh,c=yh,l=function(n){function o(t){var o=n.call(this)||this;return o.isStopped=!1,t?(o.destination=t,r.isSubscription(t)&&t.add(o)):o.destination=e.EMPTY_OBSERVER,o}return t(o,n),o.create=function(e,t,n){return new p(e,t,n)},o.prototype.next=function(e){this.isStopped?g(s.nextNotification(e),this):this._next(e)},o.prototype.error=function(e){this.isStopped?g(s.errorNotification(e),this):(this.isStopped=!0,this._error(e))},o.prototype.complete=function(){this.isStopped?g(s.COMPLETE_NOTIFICATION,this):(this.isStopped=!0,this._complete())},o.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},o.prototype._next=function(e){this.destination.next(e)},o.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},o.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},o}(r.Subscription);e.Subscriber=l;var f=Function.prototype.bind;function d(e,t){return f.call(e,t)}var h=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){m(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){m(e)}else m(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){m(e)}},e}(),p=function(e){function r(t,r,i){var a,s,u=e.call(this)||this;return n.isFunction(t)||!t?a={next:null!=t?t:void 0,error:null!=r?r:void 0,complete:null!=i?i:void 0}:u&&o.config.useDeprecatedNextContext?((s=Object.create(t)).unsubscribe=function(){return u.unsubscribe()},a={next:t.next&&d(t.next,s),error:t.error&&d(t.error,s),complete:t.complete&&d(t.complete,s)}):a=t,u.destination=new h(a),u}return t(r,e),r}(l);function m(e){o.config.useDeprecatedSynchronousErrorHandling?c.captureError(e):i.reportUnhandledError(e)}function g(e,t){var n=o.config.onStoppedNotification;n&&u.timeoutProvider.setTimeout((function(){return n(e,t)}))}e.SafeSubscriber=p,e.EMPTY_OBSERVER={closed:!0,next:a.noop,error:function(e){throw e},complete:a.noop}}(Kd);var bh={};Object.defineProperty(bh,"__esModule",{value:!0}),bh.observable=void 0,bh.observable=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();var wh={},Sh={};Object.defineProperty(Sh,"__esModule",{value:!0}),Sh.identity=void 0,Sh.identity=function(e){return e},Object.defineProperty(wh,"__esModule",{value:!0}),wh.pipeFromArray=wh.pipe=void 0;var xh=Sh;function kh(e){return 0===e.length?xh.identity:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}wh.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return kh(e)},wh.pipeFromArray=kh,Object.defineProperty(Jd,"__esModule",{value:!0}),Jd.Observable=void 0;var Eh=Kd,Ah=Zd,Ch=bh,Oh=wh,Rh=ch,Nh=Yd,Ih=yh,Ph=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this,o=function(e){return e&&e instanceof Eh.Subscriber||function(e){return e&&Nh.isFunction(e.next)&&Nh.isFunction(e.error)&&Nh.isFunction(e.complete)}(e)&&Ah.isSubscription(e)}(e)?e:new Eh.SafeSubscriber(e,t,n);return Ih.errorContext((function(){var e=r.operator,t=r.source;o.add(e?e.call(o,t):t?r._subscribe(o):r._trySubscribe(o))})),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=Th(t))((function(t,r){var o=new Eh.SafeSubscriber({next:function(t){try{e(t)}catch(e){r(e),o.unsubscribe()}},error:r,complete:t});n.subscribe(o)}))},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[Ch.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Oh.pipeFromArray(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=Th(e))((function(e,n){var r;t.subscribe((function(e){return r=e}),(function(e){return n(e)}),(function(){return e(r)}))}))},e.create=function(t){return new e(t)},e}();function Th(e){var t;return null!==(t=null!=e?e:Rh.config.Promise)&&void 0!==t?t:Promise}Jd.Observable=Ph;var Mh={},jh={},Fh={};Object.defineProperty(Fh,"__esModule",{value:!0}),Fh.operate=Fh.hasLift=void 0;var Lh=Yd;function Dh(e){return Lh.isFunction(null==e?void 0:e.lift)}Fh.hasLift=Dh,Fh.operate=function(e){return function(t){if(Dh(t))return t.lift((function(t){try{return e(t,this)}catch(e){this.error(e)}}));throw new TypeError("Unable to lift unknown Observable type")}};var qh={},Bh=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(qh,"__esModule",{value:!0}),qh.OperatorSubscriber=qh.createOperatorSubscriber=void 0;var Uh=Kd;qh.createOperatorSubscriber=function(e,t,n,r,o){return new zh(e,t,n,r,o)};var zh=function(e){function t(t,n,r,o,i,a){var s=e.call(this,t)||this;return s.onFinalize=i,s.shouldUnsubscribe=a,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=o?function(e){try{o(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return Bh(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Uh.Subscriber);qh.OperatorSubscriber=zh,Object.defineProperty(jh,"__esModule",{value:!0}),jh.refCount=void 0;var Gh=Fh,Hh=qh;jh.refCount=function(){return Gh.operate((function(e,t){var n=null;e._refCount++;var r=Hh.createOperatorSubscriber(t,void 0,void 0,void 0,(function(){if(!e||e._refCount<=0||0<--e._refCount)n=null;else{var r=e._connection,o=n;n=null,!r||o&&r!==o||r.unsubscribe(),t.unsubscribe()}}));e.subscribe(r),r.closed||(n=e.connect())}))};var Wh=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Mh,"__esModule",{value:!0}),Mh.ConnectableObservable=void 0;var Vh=Zd,$h=jh,Jh=qh,Kh=Fh,Yh=function(e){function t(t,n){var r=e.call(this)||this;return r.source=t,r.subjectFactory=n,r._subject=null,r._refCount=0,r._connection=null,Kh.hasLift(t)&&(r.lift=t.lift),r}return Wh(t,e),t.prototype._subscribe=function(e){return this.getSubject().subscribe(e)},t.prototype.getSubject=function(){var e=this._subject;return e&&!e.isStopped||(this._subject=this.subjectFactory()),this._subject},t.prototype._teardown=function(){this._refCount=0;var e=this._connection;this._subject=this._connection=null,null==e||e.unsubscribe()},t.prototype.connect=function(){var e=this,t=this._connection;if(!t){t=this._connection=new Vh.Subscription;var n=this.getSubject();t.add(this.source.subscribe(Jh.createOperatorSubscriber(n,void 0,(function(){e._teardown(),n.complete()}),(function(t){e._teardown(),n.error(t)}),(function(){return e._teardown()})))),t.closed&&(this._connection=null,t=Vh.Subscription.EMPTY)}return t},t.prototype.refCount=function(){return $h.refCount()(this)},t}(Jd.Observable);Mh.ConnectableObservable=Yh;var Zh={},Xh={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.performanceTimestampProvider=void 0,e.performanceTimestampProvider={now:function(){return(e.performanceTimestampProvider.delegate||performance).now()},delegate:void 0}}(Xh);var Qh={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrameProvider=void 0;var r=Zd;e.animationFrameProvider={schedule:function(t){var n=requestAnimationFrame,o=cancelAnimationFrame,i=e.animationFrameProvider.delegate;i&&(n=i.requestAnimationFrame,o=i.cancelAnimationFrame);var a=n((function(e){o=void 0,t(e)}));return new r.Subscription((function(){return null==o?void 0:o(a)}))},requestAnimationFrame:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=e.animationFrameProvider.delegate;return((null==i?void 0:i.requestAnimationFrame)||requestAnimationFrame).apply(void 0,n([],t(r)))})),cancelAnimationFrame:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=e.animationFrameProvider.delegate;return((null==i?void 0:i.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,n([],t(r)))})),delegate:void 0}}(Qh),Object.defineProperty(Zh,"__esModule",{value:!0}),Zh.animationFrames=void 0;var ep=Jd,tp=Xh,np=Qh;function rp(e){return new ep.Observable((function(t){var n=e||tp.performanceTimestampProvider,r=n.now(),o=0;return function i(){t.closed||(o=np.animationFrameProvider.requestAnimationFrame((function(a){o=0;var s=n.now();t.next({timestamp:e?s:a,elapsed:s-r}),i()})))}(),function(){o&&np.animationFrameProvider.cancelAnimationFrame(o)}}))}Zh.animationFrames=function(e){return e?rp(e):op};var op=rp(),ip={},ap={};Object.defineProperty(ap,"__esModule",{value:!0}),ap.ObjectUnsubscribedError=void 0,ap.ObjectUnsubscribedError=Qd.createErrorClass((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}));var sp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),up=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(ip,"__esModule",{value:!0}),ip.AnonymousSubject=ip.Subject=void 0;var cp=Jd,lp=Zd,fp=ap,dp=eh,hp=yh,pp=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return sp(t,e),t.prototype.lift=function(e){var t=new mp(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new fp.ObjectUnsubscribedError},t.prototype.next=function(e){var t=this;hp.errorContext((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var o=up(t.currentObservers),i=o.next();!i.done;i=o.next())i.value.next(e)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;hp.errorContext((function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}}))},t.prototype.complete=function(){var e=this;hp.errorContext((function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}}))},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.observers;return n.hasError||n.isStopped?lp.EMPTY_SUBSCRIPTION:(this.currentObservers=null,r.push(e),new lp.Subscription((function(){t.currentObservers=null,dp.arrRemove(r,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.isStopped;t.hasError?e.error(t.thrownError):n&&e.complete()},t.prototype.asObservable=function(){var e=new cp.Observable;return e.source=this,e},t.create=function(e,t){return new mp(e,t)},t}(cp.Observable);ip.Subject=pp;var mp=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return sp(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:lp.EMPTY_SUBSCRIPTION},t}(pp);ip.AnonymousSubject=mp;var gp={},yp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(gp,"__esModule",{value:!0}),gp.BehaviorSubject=void 0;var vp=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return yp(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e._value;if(e.hasError)throw e.thrownError;return this._throwIfClosed(),t},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(ip.Subject);gp.BehaviorSubject=vp;var _p={},bp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.dateTimestampProvider=void 0,e.dateTimestampProvider={now:function(){return(e.dateTimestampProvider.delegate||Date).now()},delegate:void 0}}(bp);var wp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(_p,"__esModule",{value:!0}),_p.ReplaySubject=void 0;var Sp=bp,xp=function(e){function t(t,n,r){void 0===t&&(t=Infinity),void 0===n&&(n=Infinity),void 0===r&&(r=Sp.dateTimestampProvider);var o=e.call(this)||this;return o._bufferSize=t,o._windowTime=n,o._timestampProvider=r,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=Infinity===n,o._bufferSize=Math.max(1,t),o._windowTime=Math.max(1,n),o}return wp(t,e),t.prototype.next=function(t){var n=this,r=n._buffer,o=n._infiniteTimeWindow,i=n._timestampProvider,a=n._windowTime;n.isStopped||(r.push(t),!o&&r.push(i.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),o=0;o<r.length&&!e.closed;o+=n?1:2)e.next(r[o]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,o=e._infiniteTimeWindow,i=(o?1:2)*t;if(t<Infinity&&i<r.length&&r.splice(0,r.length-i),!o){for(var a=n.now(),s=0,u=1;u<r.length&&r[u]<=a;u+=2)s=u;s&&r.splice(0,s+1)}},t}(ip.Subject);_p.ReplaySubject=xp;var kp={},Ep=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(kp,"__esModule",{value:!0}),kp.AsyncSubject=void 0;var Ap=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._value=null,t._hasValue=!1,t._isComplete=!1,t}return Ep(t,e),t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t._hasValue,r=t._value,o=t.isStopped,i=t._isComplete;t.hasError?e.error(t.thrownError):(o||i)&&(n&&e.next(r),e.complete())},t.prototype.next=function(e){this.isStopped||(this._value=e,this._hasValue=!0)},t.prototype.complete=function(){var t=this,n=t._hasValue,r=t._value;t._isComplete||(this._isComplete=!0,n&&e.prototype.next.call(this,r),e.prototype.complete.call(this))},t}(ip.Subject);kp.AsyncSubject=Ap;var Cp={},Op={},Rp={},Np={},Ip=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Np,"__esModule",{value:!0}),Np.Action=void 0,Np.Action=function(e){function t(t,n){return e.call(this)||this}return Ip(t,e),t.prototype.schedule=function(e,t){return this},t}(Zd.Subscription);var Pp={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.intervalProvider=void 0,e.intervalProvider={setInterval:function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(r,o){for(var i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var s=e.intervalProvider.delegate;return(null==s?void 0:s.setInterval)?s.setInterval.apply(s,n([r,o],t(i))):setInterval.apply(void 0,n([r,o],t(i)))})),clearInterval:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(t){var n=e.intervalProvider.delegate;return((null==n?void 0:n.clearInterval)||clearInterval)(t)})),delegate:void 0}}(Pp);var Tp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Rp,"__esModule",{value:!0}),Rp.AsyncAction=void 0;var Mp=Pp,jp=eh,Fp=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return Tp(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(o,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),Mp.intervalProvider.setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&Mp.intervalProvider.clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,jp.arrRemove(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Np.Action);Rp.AsyncAction=Fp;var Lp={},Dp={};Object.defineProperty(Dp,"__esModule",{value:!0}),Dp.TestTools=Dp.Immediate=void 0;var qp,Bp=1,Up={};function zp(e){return e in Up&&(delete Up[e],!0)}Dp.Immediate={setImmediate:function(e){var t=Bp++;return Up[t]=!0,qp||(qp=Promise.resolve()),qp.then((function(){return zp(t)&&e()})),t},clearImmediate:function(e){zp(e)}},Dp.TestTools={pending:function(){return Object.keys(Up).length}},function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.immediateProvider=void 0;var r=Dp.Immediate.setImmediate,o=Dp.Immediate.clearImmediate;e.immediateProvider={setImmediate:function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=e.immediateProvider.delegate;return((null==a?void 0:a.setImmediate)||r).apply(void 0,n([],t(o)))},clearImmediate:function(t){var n=e.immediateProvider.delegate;return((null==n?void 0:n.clearImmediate)||o)(t)},delegate:void 0}}(Lp);var Gp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Op,"__esModule",{value:!0}),Op.AsapAction=void 0;var Hp=Lp;Op.AsapAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return Gp(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=Hp.immediateProvider.setImmediate(t.flush.bind(t,void 0))))},t.prototype.recycleAsyncId=function(t,n,r){var o;if(void 0===r&&(r=0),null!=r?r>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);var i=t.actions;null!=n&&(null===(o=i[i.length-1])||void 0===o?void 0:o.id)!==n&&(Hp.immediateProvider.clearImmediate(n),t._scheduled===n&&(t._scheduled=void 0))},t}(Rp.AsyncAction);var Wp={},Vp={},$p={};Object.defineProperty($p,"__esModule",{value:!0}),$p.Scheduler=void 0;var Jp=bp;$p.Scheduler=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=Jp.dateTimestampProvider.now,e}();var Kp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Vp,"__esModule",{value:!0}),Vp.AsyncScheduler=void 0;var Yp=$p;Vp.AsyncScheduler=function(e){function t(t,n){void 0===n&&(n=Yp.Scheduler.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return Kp(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(Yp.Scheduler);var Zp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Wp,"__esModule",{value:!0}),Wp.AsapScheduler=void 0;var Xp=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Zp(t,e),t.prototype.flush=function(e){this._active=!0;var t=this._scheduled;this._scheduled=void 0;var n,r=this.actions;e=e||r.shift();do{if(n=e.execute(e.state,e.delay))break}while((e=r[0])&&e.id===t&&r.shift());if(this._active=!1,n){for(;(e=r[0])&&e.id===t&&r.shift();)e.unsubscribe();throw n}},t}(Vp.AsyncScheduler);Wp.AsapScheduler=Xp,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.asap=e.asapScheduler=void 0,e.asapScheduler=new Wp.AsapScheduler(Op.AsapAction),e.asap=e.asapScheduler}(Cp);var Qp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.async=e.asyncScheduler=void 0,e.asyncScheduler=new Vp.AsyncScheduler(Rp.AsyncAction),e.async=e.asyncScheduler}(Qp);var em={},tm={},nm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(tm,"__esModule",{value:!0}),tm.QueueAction=void 0,tm.QueueAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return nm(t,e),t.prototype.schedule=function(t,n){return void 0===n&&(n=0),n>0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.flush(this),0)},t}(Rp.AsyncAction);var rm={},om=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(rm,"__esModule",{value:!0}),rm.QueueScheduler=void 0;var im=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return om(t,e),t}(Vp.AsyncScheduler);rm.QueueScheduler=im,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.queue=e.queueScheduler=void 0,e.queueScheduler=new rm.QueueScheduler(tm.QueueAction),e.queue=e.queueScheduler}(em);var am={},sm={},um=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(sm,"__esModule",{value:!0}),sm.AnimationFrameAction=void 0;var cm=Qh;sm.AnimationFrameAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return um(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=cm.animationFrameProvider.requestAnimationFrame((function(){return t.flush(void 0)}))))},t.prototype.recycleAsyncId=function(t,n,r){var o;if(void 0===r&&(r=0),null!=r?r>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);var i=t.actions;null!=n&&(null===(o=i[i.length-1])||void 0===o?void 0:o.id)!==n&&(cm.animationFrameProvider.cancelAnimationFrame(n),t._scheduled=void 0)},t}(Rp.AsyncAction);var lm={},fm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(lm,"__esModule",{value:!0}),lm.AnimationFrameScheduler=void 0;var dm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return fm(t,e),t.prototype.flush=function(e){this._active=!0;var t=this._scheduled;this._scheduled=void 0;var n,r=this.actions;e=e||r.shift();do{if(n=e.execute(e.state,e.delay))break}while((e=r[0])&&e.id===t&&r.shift());if(this._active=!1,n){for(;(e=r[0])&&e.id===t&&r.shift();)e.unsubscribe();throw n}},t}(Vp.AsyncScheduler);lm.AnimationFrameScheduler=dm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrame=e.animationFrameScheduler=void 0,e.animationFrameScheduler=new lm.AnimationFrameScheduler(sm.AnimationFrameAction),e.animationFrame=e.animationFrameScheduler}(am);var hm={},pm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(hm,"__esModule",{value:!0}),hm.VirtualAction=hm.VirtualTimeScheduler=void 0;var mm=Rp,gm=Zd;hm.VirtualTimeScheduler=function(e){function t(t,n){void 0===t&&(t=ym),void 0===n&&(n=Infinity);var r=e.call(this,t,(function(){return r.frame}))||this;return r.maxFrames=n,r.frame=0,r.index=-1,r}return pm(t,e),t.prototype.flush=function(){for(var e,t,n=this.actions,r=this.maxFrames;(t=n[0])&&t.delay<=r&&(n.shift(),this.frame=t.delay,!(e=t.execute(t.state,t.delay))););if(e){for(;t=n.shift();)t.unsubscribe();throw e}},t.frameTimeFactor=10,t}(Vp.AsyncScheduler);var ym=function(e){function t(t,n,r){void 0===r&&(r=t.index+=1);var o=e.call(this,t,n)||this;return o.scheduler=t,o.work=n,o.index=r,o.active=!0,o.index=t.index=r,o}return pm(t,e),t.prototype.schedule=function(n,r){if(void 0===r&&(r=0),Number.isFinite(r)){if(!this.id)return e.prototype.schedule.call(this,n,r);this.active=!1;var o=new t(this.scheduler,this.work);return this.add(o),o.schedule(n,r)}return gm.Subscription.EMPTY},t.prototype.requestAsyncId=function(e,n,r){void 0===r&&(r=0),this.delay=e.frame+r;var o=e.actions;return o.push(this),o.sort(t.sortActions),1},t.prototype.recycleAsyncId=function(e,t,n){},t.prototype._execute=function(t,n){if(!0===this.active)return e.prototype._execute.call(this,t,n)},t.sortActions=function(e,t){return e.delay===t.delay?e.index===t.index?0:e.index>t.index?1:-1:e.delay>t.delay?1:-1},t}(mm.AsyncAction);hm.VirtualAction=ym;var vm={},_m={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.empty=e.EMPTY=void 0;var t=Jd;e.EMPTY=new t.Observable((function(e){return e.complete()})),e.empty=function(n){return n?function(e){return new t.Observable((function(t){return e.schedule((function(){return t.complete()}))}))}(n):e.EMPTY}}(_m);var bm={},wm={},Sm={};Object.defineProperty(Sm,"__esModule",{value:!0}),Sm.isScheduler=void 0;var xm=Yd;Sm.isScheduler=function(e){return e&&xm.isFunction(e.schedule)},Object.defineProperty(wm,"__esModule",{value:!0}),wm.popNumber=wm.popScheduler=wm.popResultSelector=void 0;var km=Yd,Em=Sm;function Am(e){return e[e.length-1]}wm.popResultSelector=function(e){return km.isFunction(Am(e))?e.pop():void 0},wm.popScheduler=function(e){return Em.isScheduler(Am(e))?e.pop():void 0},wm.popNumber=function(e,t){return"number"==typeof Am(e)?e.pop():t};var Cm={},Om={},Rm={},Nm={},Im={};Object.defineProperty(Im,"__esModule",{value:!0}),Im.isArrayLike=void 0,Im.isArrayLike=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};var Pm={};Object.defineProperty(Pm,"__esModule",{value:!0}),Pm.isPromise=void 0;var Tm=Yd;Pm.isPromise=function(e){return Tm.isFunction(null==e?void 0:e.then)};var Mm={};Object.defineProperty(Mm,"__esModule",{value:!0}),Mm.isInteropObservable=void 0;var jm=bh,Fm=Yd;Mm.isInteropObservable=function(e){return Fm.isFunction(e[jm.observable])};var Lm={};Object.defineProperty(Lm,"__esModule",{value:!0}),Lm.isAsyncIterable=void 0;var Dm=Yd;Lm.isAsyncIterable=function(e){return Symbol.asyncIterator&&Dm.isFunction(null==e?void 0:e[Symbol.asyncIterator])};var qm={};Object.defineProperty(qm,"__esModule",{value:!0}),qm.createInvalidObservableTypeError=void 0,qm.createInvalidObservableTypeError=function(e){return new TypeError("You provided "+(null!==e&&"object"===Z(e)?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")};var Bm={},Um={};function zm(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}Object.defineProperty(Um,"__esModule",{value:!0}),Um.iterator=Um.getSymbolIterator=void 0,Um.getSymbolIterator=zm,Um.iterator=zm(),Object.defineProperty(Bm,"__esModule",{value:!0}),Bm.isIterable=void 0;var Gm=Um,Hm=Yd;Bm.isIterable=function(e){return Hm.isFunction(null==e?void 0:e[Gm.iterator])};var Wm={},Vm=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},$m=q&&q.__await||function(e){return this instanceof $m?(this.v=e,this):new $m(e)},Jm=q&&q.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof $m?Promise.resolve(e.value.v).then(u,c):l(i[0][2],e)}(o[e](t))}catch(e){l(i[0][3],e)}}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}};Object.defineProperty(Wm,"__esModule",{value:!0}),Wm.isReadableStreamLike=Wm.readableStreamLikeToAsyncGenerator=void 0;var Km=Yd;Wm.readableStreamLikeToAsyncGenerator=function(e){return Jm(this,arguments,(function(){var t,n,r;return Vm(this,(function(o){switch(o.label){case 0:t=e.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,$m(t.read())];case 3:return n=o.sent(),r=n.value,n.done?[4,$m(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,$m(r)];case 6:return[4,o.sent()];case 7:return o.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))},Wm.isReadableStreamLike=function(e){return Km.isFunction(null==e?void 0:e.getReader)};var Ym=q&&q.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}u((r=r.apply(e,t||[])).next())}))},Zm=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},Xm=q&&q.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof Qm?Qm(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}},Qm=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Nm,"__esModule",{value:!0}),Nm.fromReadableStreamLike=Nm.fromAsyncIterable=Nm.fromIterable=Nm.fromPromise=Nm.fromArrayLike=Nm.fromInteropObservable=Nm.innerFrom=void 0;var eg=Im,tg=Pm,ng=Jd,rg=Mm,og=Lm,ig=qm,ag=Bm,sg=Wm,ug=Yd,cg=lh,lg=bh;function fg(e){return new ng.Observable((function(t){var n=e[lg.observable]();if(ug.isFunction(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")}))}function dg(e){return new ng.Observable((function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()}))}function hg(e){return new ng.Observable((function(t){e.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,cg.reportUnhandledError)}))}function pg(e){return new ng.Observable((function(t){var n,r;try{for(var o=Qm(e),i=o.next();!i.done;i=o.next())if(t.next(i.value),t.closed)return}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.complete()}))}function mg(e){return new ng.Observable((function(t){(function(e,t){var n,r,o,i;return Ym(this,void 0,void 0,(function(){var a;return Zm(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=Xm(e),s.label=1;case 1:return[4,n.next()];case 2:if((r=s.sent()).done)return[3,4];if(t.next(r.value),t.closed)return[2];s.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=s.sent(),o={error:a},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:s.sent(),s.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(e,t).catch((function(e){return t.error(e)}))}))}function gg(e){return mg(sg.readableStreamLikeToAsyncGenerator(e))}Nm.innerFrom=function(e){if(e instanceof ng.Observable)return e;if(null!=e){if(rg.isInteropObservable(e))return fg(e);if(eg.isArrayLike(e))return dg(e);if(tg.isPromise(e))return hg(e);if(og.isAsyncIterable(e))return mg(e);if(ag.isIterable(e))return pg(e);if(sg.isReadableStreamLike(e))return gg(e)}throw ig.createInvalidObservableTypeError(e)},Nm.fromInteropObservable=fg,Nm.fromArrayLike=dg,Nm.fromPromise=hg,Nm.fromIterable=pg,Nm.fromAsyncIterable=mg,Nm.fromReadableStreamLike=gg;var yg={},vg={};Object.defineProperty(vg,"__esModule",{value:!0}),vg.executeSchedule=void 0,vg.executeSchedule=function(e,t,n,r,o){void 0===r&&(r=0),void 0===o&&(o=!1);var i=t.schedule((function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(i),!o)return i},Object.defineProperty(yg,"__esModule",{value:!0}),yg.observeOn=void 0;var _g=vg,bg=Fh,wg=qh;yg.observeOn=function(e,t){return void 0===t&&(t=0),bg.operate((function(n,r){n.subscribe(wg.createOperatorSubscriber(r,(function(n){return _g.executeSchedule(r,e,(function(){return r.next(n)}),t)}),(function(){return _g.executeSchedule(r,e,(function(){return r.complete()}),t)}),(function(n){return _g.executeSchedule(r,e,(function(){return r.error(n)}),t)})))}))};var Sg={};Object.defineProperty(Sg,"__esModule",{value:!0}),Sg.subscribeOn=void 0;var xg=Fh;Sg.subscribeOn=function(e,t){return void 0===t&&(t=0),xg.operate((function(n,r){r.add(e.schedule((function(){return n.subscribe(r)}),t))}))},Object.defineProperty(Rm,"__esModule",{value:!0}),Rm.scheduleObservable=void 0;var kg=Nm,Eg=yg,Ag=Sg;Rm.scheduleObservable=function(e,t){return kg.innerFrom(e).pipe(Ag.subscribeOn(t),Eg.observeOn(t))};var Cg={};Object.defineProperty(Cg,"__esModule",{value:!0}),Cg.schedulePromise=void 0;var Og=Nm,Rg=yg,Ng=Sg;Cg.schedulePromise=function(e,t){return Og.innerFrom(e).pipe(Ng.subscribeOn(t),Rg.observeOn(t))};var Ig={};Object.defineProperty(Ig,"__esModule",{value:!0}),Ig.scheduleArray=void 0;var Pg=Jd;Ig.scheduleArray=function(e,t){return new Pg.Observable((function(n){var r=0;return t.schedule((function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())}))}))};var Tg={};Object.defineProperty(Tg,"__esModule",{value:!0}),Tg.scheduleIterable=void 0;var Mg=Jd,jg=Um,Fg=Yd,Lg=vg;Tg.scheduleIterable=function(e,t){return new Mg.Observable((function(n){var r;return Lg.executeSchedule(n,t,(function(){r=e[jg.iterator](),Lg.executeSchedule(n,t,(function(){var e,t,o;try{t=(e=r.next()).value,o=e.done}catch(e){return void n.error(e)}o?n.complete():n.next(t)}),0,!0)})),function(){return Fg.isFunction(null==r?void 0:r.return)&&r.return()}}))};var Dg={};Object.defineProperty(Dg,"__esModule",{value:!0}),Dg.scheduleAsyncIterable=void 0;var qg=Jd,Bg=vg;Dg.scheduleAsyncIterable=function(e,t){if(!e)throw new Error("Iterable cannot be null");return new qg.Observable((function(n){Bg.executeSchedule(n,t,(function(){var r=e[Symbol.asyncIterator]();Bg.executeSchedule(n,t,(function(){r.next().then((function(e){e.done?n.complete():n.next(e.value)}))}),0,!0)}))}))};var Ug={};Object.defineProperty(Ug,"__esModule",{value:!0}),Ug.scheduleReadableStreamLike=void 0;var zg=Dg,Gg=Wm;Ug.scheduleReadableStreamLike=function(e,t){return zg.scheduleAsyncIterable(Gg.readableStreamLikeToAsyncGenerator(e),t)},Object.defineProperty(Om,"__esModule",{value:!0}),Om.scheduled=void 0;var Hg=Rm,Wg=Cg,Vg=Ig,$g=Tg,Jg=Dg,Kg=Mm,Yg=Pm,Zg=Im,Xg=Bm,Qg=Lm,ey=qm,ty=Wm,ny=Ug;Om.scheduled=function(e,t){if(null!=e){if(Kg.isInteropObservable(e))return Hg.scheduleObservable(e,t);if(Zg.isArrayLike(e))return Vg.scheduleArray(e,t);if(Yg.isPromise(e))return Wg.schedulePromise(e,t);if(Qg.isAsyncIterable(e))return Jg.scheduleAsyncIterable(e,t);if(Xg.isIterable(e))return $g.scheduleIterable(e,t);if(ty.isReadableStreamLike(e))return ny.scheduleReadableStreamLike(e,t)}throw ey.createInvalidObservableTypeError(e)},Object.defineProperty(Cm,"__esModule",{value:!0}),Cm.from=void 0;var ry=Om,oy=Nm;Cm.from=function(e,t){return t?ry.scheduled(e,t):oy.innerFrom(e)},Object.defineProperty(bm,"__esModule",{value:!0}),bm.of=void 0;var iy=wm,ay=Cm;bm.of=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=iy.popScheduler(e);return ay.from(e,n)};var sy={};Object.defineProperty(sy,"__esModule",{value:!0}),sy.throwError=void 0;var uy=Jd,cy=Yd;sy.throwError=function(e,t){var n=cy.isFunction(e)?e:function(){return e},r=function(e){return e.error(n())};return new uy.Observable(t?function(e){return t.schedule(r,0,e)}:r)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.observeNotification=e.Notification=e.NotificationKind=void 0;var t,n=_m,r=bm,o=sy,i=Yd;(t=e.NotificationKind||(e.NotificationKind={})).NEXT="N",t.ERROR="E",t.COMPLETE="C";var a=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){return s(this,e)},e.prototype.do=function(e,t,n){var r=this,o=r.kind,i=r.error;return"N"===o?null==e?void 0:e(r.value):"E"===o?null==t?void 0:t(i):null==n?void 0:n()},e.prototype.accept=function(e,t,n){var r;return i.isFunction(null===(r=e)||void 0===r?void 0:r.next)?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e=this,t=e.kind,i=e.error,a="N"===t?r.of(e.value):"E"===t?o.throwError((function(){return i})):"C"===t?n.EMPTY:0;if(!a)throw new TypeError("Unexpected notification kind "+t);return a},e.createNext=function(t){return new e("N",t)},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e}();function s(e,t){var n,r,o,i=e.kind,a=e.value,s=e.error;if("string"!=typeof i)throw new TypeError('Invalid notification, missing "kind"');"N"===i?null===(n=t.next)||void 0===n||n.call(t,a):"E"===i?null===(r=t.error)||void 0===r||r.call(t,s):null===(o=t.complete)||void 0===o||o.call(t)}e.Notification=a,e.observeNotification=s}(vm);var ly={};Object.defineProperty(ly,"__esModule",{value:!0}),ly.isObservable=void 0;var fy=Jd,dy=Yd;ly.isObservable=function(e){return!!e&&(e instanceof fy.Observable||dy.isFunction(e.lift)&&dy.isFunction(e.subscribe))};var hy={},py={};Object.defineProperty(py,"__esModule",{value:!0}),py.EmptyError=void 0,py.EmptyError=Qd.createErrorClass((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})),Object.defineProperty(hy,"__esModule",{value:!0}),hy.lastValueFrom=void 0;var my=py;hy.lastValueFrom=function(e,t){var n="object"===Z(t);return new Promise((function(r,o){var i,a=!1;e.subscribe({next:function(e){i=e,a=!0},error:o,complete:function(){a?r(i):n?r(t.defaultValue):o(new my.EmptyError)}})}))};var gy={};Object.defineProperty(gy,"__esModule",{value:!0}),gy.firstValueFrom=void 0;var yy=py,vy=Kd;gy.firstValueFrom=function(e,t){var n="object"===Z(t);return new Promise((function(r,o){var i=new vy.SafeSubscriber({next:function(e){r(e),i.unsubscribe()},error:o,complete:function(){n?r(t.defaultValue):o(new yy.EmptyError)}});e.subscribe(i)}))};var _y={};Object.defineProperty(_y,"__esModule",{value:!0}),_y.ArgumentOutOfRangeError=void 0,_y.ArgumentOutOfRangeError=Qd.createErrorClass((function(e){return function(){e(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}}));var by={};Object.defineProperty(by,"__esModule",{value:!0}),by.NotFoundError=void 0,by.NotFoundError=Qd.createErrorClass((function(e){return function(t){e(this),this.name="NotFoundError",this.message=t}}));var wy={};Object.defineProperty(wy,"__esModule",{value:!0}),wy.SequenceError=void 0,wy.SequenceError=Qd.createErrorClass((function(e){return function(t){e(this),this.name="SequenceError",this.message=t}}));var Sy={},xy={};Object.defineProperty(xy,"__esModule",{value:!0}),xy.isValidDate=void 0,xy.isValidDate=function(e){return e instanceof Date&&!isNaN(e)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.timeout=e.TimeoutError=void 0;var t=Qp,n=xy,r=Fh,o=Nm,i=qh,a=vg;function s(t){throw new e.TimeoutError(t)}e.TimeoutError=Qd.createErrorClass((function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}})),e.timeout=function(e,u){var c=n.isValidDate(e)?{first:e}:"number"==typeof e?{each:e}:e,l=c.first,f=c.each,d=c.with,h=void 0===d?s:d,p=c.scheduler,m=void 0===p?null!=u?u:t.asyncScheduler:p,g=c.meta,y=void 0===g?null:g;if(null==l&&null==f)throw new TypeError("No timeout provided.");return r.operate((function(e,t){var n,r,s=null,u=0,c=function(e){r=a.executeSchedule(t,m,(function(){try{n.unsubscribe(),o.innerFrom(h({meta:y,lastValue:s,seen:u})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(i.createOperatorSubscriber(t,(function(e){null==r||r.unsubscribe(),u++,t.next(s=e),f>0&&c(f)}),void 0,void 0,(function(){(null==r?void 0:r.closed)||null==r||r.unsubscribe(),s=null}))),!u&&c(null!=l?"number"==typeof l?l:+l-m.now():f)}))}}(Sy);var ky={},Ey={},Ay={},Cy={};Object.defineProperty(Cy,"__esModule",{value:!0}),Cy.map=void 0;var Oy=Fh,Ry=qh;Cy.map=function(e,t){return Oy.operate((function(n,r){var o=0;n.subscribe(Ry.createOperatorSubscriber(r,(function(n){r.next(e.call(t,n,o++))})))}))};var Ny=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Iy=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ay,"__esModule",{value:!0}),Ay.mapOneOrManyArgs=void 0;var Py=Cy,Ty=Array.isArray;Ay.mapOneOrManyArgs=function(e){return Py.map((function(t){return function(e,t){return Ty(t)?e.apply(void 0,Iy([],Ny(t))):e(t)}(e,t)}))};var My=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},jy=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ey,"__esModule",{value:!0}),Ey.bindCallbackInternals=void 0;var Fy=Sm,Ly=Jd,Dy=Sg,qy=Ay,By=yg,Uy=kp;Ey.bindCallbackInternals=function e(t,n,r,o){if(r){if(!Fy.isScheduler(r))return function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];return e(t,n,o).apply(this,i).pipe(qy.mapOneOrManyArgs(r))};o=r}return o?function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];return e(t,n).apply(this,r).pipe(Dy.subscribeOn(o),By.observeOn(o))}:function(){for(var e=this,r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=new Uy.AsyncSubject,a=!0;return new Ly.Observable((function(o){var s=i.subscribe(o);if(a){a=!1;var u=!1,c=!1;n.apply(e,jy(jy([],My(r)),[function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];if(t){var r=e.shift();if(null!=r)return void i.error(r)}i.next(1<e.length?e:e[0]),c=!0,u&&i.complete()}])),c&&i.complete(),u=!0}return s}))}},Object.defineProperty(ky,"__esModule",{value:!0}),ky.bindCallback=void 0;var zy=Ey;ky.bindCallback=function(e,t,n){return zy.bindCallbackInternals(!1,e,t,n)};var Gy={};Object.defineProperty(Gy,"__esModule",{value:!0}),Gy.bindNodeCallback=void 0;var Hy=Ey;Gy.bindNodeCallback=function(e,t,n){return Hy.bindCallbackInternals(!0,e,t,n)};var Wy={},Vy={};Object.defineProperty(Vy,"__esModule",{value:!0}),Vy.argsArgArrayOrObject=void 0;var $y=Array.isArray,Jy=Object.getPrototypeOf,Ky=Object.prototype,Yy=Object.keys;Vy.argsArgArrayOrObject=function(e){if(1===e.length){var t=e[0];if($y(t))return{args:t,keys:null};if((r=t)&&"object"===Z(r)&&Jy(r)===Ky){var n=Yy(t);return{args:n.map((function(e){return t[e]})),keys:n}}}var r;return{args:e,keys:null}};var Zy={};Object.defineProperty(Zy,"__esModule",{value:!0}),Zy.createObject=void 0,Zy.createObject=function(e,t){return e.reduce((function(e,n,r){return e[n]=t[r],e}),{})},Object.defineProperty(Wy,"__esModule",{value:!0}),Wy.combineLatestInit=Wy.combineLatest=void 0;var Xy=Jd,Qy=Vy,ev=Cm,tv=Sh,nv=Ay,rv=wm,ov=Zy,iv=qh,av=vg;function sv(e,t,n){return void 0===n&&(n=tv.identity),function(r){uv(t,(function(){for(var o=e.length,i=new Array(o),a=o,s=o,u=function(o){uv(t,(function(){var u=ev.from(e[o],t),c=!1;u.subscribe(iv.createOperatorSubscriber(r,(function(e){i[o]=e,c||(c=!0,s--),s||r.next(n(i.slice()))}),(function(){--a||r.complete()})))}),r)},c=0;c<o;c++)u(c)}),r)}}function uv(e,t,n){e?av.executeSchedule(n,e,t):t()}Wy.combineLatest=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=rv.popScheduler(e),r=rv.popResultSelector(e),o=Qy.argsArgArrayOrObject(e),i=o.args,a=o.keys;if(0===i.length)return ev.from([],n);var s=new Xy.Observable(sv(i,n,a?function(e){return ov.createObject(a,e)}:tv.identity));return r?s.pipe(nv.mapOneOrManyArgs(r)):s},Wy.combineLatestInit=sv;var cv={},lv={},fv={},dv={},hv={};Object.defineProperty(hv,"__esModule",{value:!0}),hv.mergeInternals=void 0;var pv=Nm,mv=vg,gv=qh;hv.mergeInternals=function(e,t,n,r,o,i,a,s){var u=[],c=0,l=0,f=!1,d=function(){!f||u.length||c||t.complete()},h=function(e){return c<r?p(e):u.push(e)},p=function e(s){i&&t.next(s),c++;var f=!1;pv.innerFrom(n(s,l++)).subscribe(gv.createOperatorSubscriber(t,(function(e){null==o||o(e),i?h(e):t.next(e)}),(function(){f=!0}),void 0,(function(){if(f)try{c--;for(var n=function(){var n=u.shift();a?mv.executeSchedule(t,a,(function(){return e(n)})):e(n)};u.length&&c<r;)n();d()}catch(e){t.error(e)}})))};return e.subscribe(gv.createOperatorSubscriber(t,h,(function(){f=!0,d()}))),function(){null==s||s()}},Object.defineProperty(dv,"__esModule",{value:!0}),dv.mergeMap=void 0;var yv=Cy,vv=Nm,_v=Fh,bv=hv,wv=Yd;dv.mergeMap=function e(t,n,r){return void 0===r&&(r=Infinity),wv.isFunction(n)?e((function(e,r){return yv.map((function(t,o){return n(e,t,r,o)}))(vv.innerFrom(t(e,r)))}),r):("number"==typeof n&&(r=n),_v.operate((function(e,n){return bv.mergeInternals(e,n,t,r)})))},Object.defineProperty(fv,"__esModule",{value:!0}),fv.mergeAll=void 0;var Sv=dv,xv=Sh;fv.mergeAll=function(e){return void 0===e&&(e=Infinity),Sv.mergeMap(xv.identity,e)},Object.defineProperty(lv,"__esModule",{value:!0}),lv.concatAll=void 0;var kv=fv;lv.concatAll=function(){return kv.mergeAll(1)},Object.defineProperty(cv,"__esModule",{value:!0}),cv.concat=void 0;var Ev=lv,Av=wm,Cv=Cm;cv.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ev.concatAll()(Cv.from(e,Av.popScheduler(e)))};var Ov={},Rv={};Object.defineProperty(Rv,"__esModule",{value:!0}),Rv.defer=void 0;var Nv=Jd,Iv=Nm;Rv.defer=function(e){return new Nv.Observable((function(t){Iv.innerFrom(e()).subscribe(t)}))},Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.connectable=void 0;var Pv=ip,Tv=Jd,Mv=Rv,jv={connector:function(){return new Pv.Subject},resetOnDisconnect:!0};Ov.connectable=function(e,t){void 0===t&&(t=jv);var n=null,r=t.connector,o=t.resetOnDisconnect,i=void 0===o||o,a=r(),s=new Tv.Observable((function(e){return a.subscribe(e)}));return s.connect=function(){return n&&!n.closed||(n=Mv.defer((function(){return e})).subscribe(a),i&&n.add((function(){return a=r()}))),n},s};var Fv={};Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.forkJoin=void 0;var Lv=Jd,Dv=Vy,qv=Nm,Bv=wm,Uv=qh,zv=Ay,Gv=Zy;Fv.forkJoin=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Bv.popResultSelector(e),r=Dv.argsArgArrayOrObject(e),o=r.args,i=r.keys,a=new Lv.Observable((function(e){var t=o.length;if(t)for(var n=new Array(t),r=t,a=t,s=function(t){var s=!1;qv.innerFrom(o[t]).subscribe(Uv.createOperatorSubscriber(e,(function(e){s||(s=!0,a--),n[t]=e}),(function(){return r--}),void 0,(function(){r&&s||(a||e.next(i?Gv.createObject(i,n):n),e.complete())})))},u=0;u<t;u++)s(u);else e.complete()}));return n?a.pipe(zv.mapOneOrManyArgs(n)):a};var Hv={},Wv=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(Hv,"__esModule",{value:!0}),Hv.fromEvent=void 0;var Vv=Nm,$v=Jd,Jv=dv,Kv=Im,Yv=Yd,Zv=Ay,Xv=["addListener","removeListener"],Qv=["addEventListener","removeEventListener"],e_=["on","off"];function t_(e,t){return function(n){return function(r){return e[n](t,r)}}}Hv.fromEvent=function e(t,n,r,o){if(Yv.isFunction(r)&&(o=r,r=void 0),o)return e(t,n,r).pipe(Zv.mapOneOrManyArgs(o));var i=Wv(function(e){return Yv.isFunction(e.addEventListener)&&Yv.isFunction(e.removeEventListener)}(t)?Qv.map((function(e){return function(o){return t[e](n,o,r)}})):function(e){return Yv.isFunction(e.addListener)&&Yv.isFunction(e.removeListener)}(t)?Xv.map(t_(t,n)):function(e){return Yv.isFunction(e.on)&&Yv.isFunction(e.off)}(t)?e_.map(t_(t,n)):[],2),a=i[0],s=i[1];if(!a&&Kv.isArrayLike(t))return Jv.mergeMap((function(t){return e(t,n,r)}))(Vv.innerFrom(t));if(!a)throw new TypeError("Invalid event target");return new $v.Observable((function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return a(t),function(){return s(t)}}))};var n_={};Object.defineProperty(n_,"__esModule",{value:!0}),n_.fromEventPattern=void 0;var r_=Jd,o_=Yd,i_=Ay;n_.fromEventPattern=function e(t,n,r){return r?e(t,n).pipe(i_.mapOneOrManyArgs(r)):new r_.Observable((function(e){var r=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1===t.length?t[0]:t)},o=t(r);return o_.isFunction(n)?function(){return n(r,o)}:void 0}))};var a_={},s_=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}};Object.defineProperty(a_,"__esModule",{value:!0}),a_.generate=void 0;var u_=Sh,c_=Sm,l_=Rv,f_=Tg;a_.generate=function(e,t,n,r,o){var i,a,s,u;function c(){var e;return s_(this,(function(r){switch(r.label){case 0:e=u,r.label=1;case 1:return t&&!t(e)?[3,4]:[4,s(e)];case 2:r.sent(),r.label=3;case 3:return e=n(e),[3,1];case 4:return[2]}}))}return 1===arguments.length?(u=(i=e).initialState,t=i.condition,n=i.iterate,s=void 0===(a=i.resultSelector)?u_.identity:a,o=i.scheduler):(u=e,!r||c_.isScheduler(r)?(s=u_.identity,o=r):s=r),l_.defer(o?function(){return f_.scheduleIterable(c(),o)}:c)};var d_={};Object.defineProperty(d_,"__esModule",{value:!0}),d_.iif=void 0;var h_=Rv;d_.iif=function(e,t,n){return h_.defer((function(){return e()?t:n}))};var p_={},m_={};Object.defineProperty(m_,"__esModule",{value:!0}),m_.timer=void 0;var g_=Jd,y_=Qp,v_=Sm,__=xy;m_.timer=function(e,t,n){void 0===e&&(e=0),void 0===n&&(n=y_.async);var r=-1;return null!=t&&(v_.isScheduler(t)?n=t:r=t),new g_.Observable((function(t){var o=__.isValidDate(e)?+e-n.now():e;o<0&&(o=0);var i=0;return n.schedule((function(){t.closed||(t.next(i++),0<=r?this.schedule(void 0,r):t.complete())}),o)}))},Object.defineProperty(p_,"__esModule",{value:!0}),p_.interval=void 0;var b_=Qp,w_=m_;p_.interval=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=b_.asyncScheduler),e<0&&(e=0),w_.timer(e,e,t)};var S_={};Object.defineProperty(S_,"__esModule",{value:!0}),S_.merge=void 0;var x_=fv,k_=Nm,E_=_m,A_=wm,C_=Cm;S_.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=A_.popScheduler(e),r=A_.popNumber(e,Infinity),o=e;return o.length?1===o.length?k_.innerFrom(o[0]):x_.mergeAll(r)(C_.from(o,n)):E_.EMPTY};var O_={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.never=e.NEVER=void 0,e.NEVER=new Jd.Observable(ph.noop),e.never=function(){return e.NEVER}}(O_);var R_={},N_={};Object.defineProperty(N_,"__esModule",{value:!0}),N_.argsOrArgArray=void 0;var I_=Array.isArray;N_.argsOrArgArray=function(e){return 1===e.length&&I_(e[0])?e[0]:e},Object.defineProperty(R_,"__esModule",{value:!0}),R_.onErrorResumeNext=void 0;var P_=Jd,T_=N_,M_=qh,j_=ph,F_=Nm;R_.onErrorResumeNext=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=T_.argsOrArgArray(e);return new P_.Observable((function(e){var t=0;!function r(){if(t<n.length){var o=void 0;try{o=F_.innerFrom(n[t++])}catch(e){return void r()}var i=new M_.OperatorSubscriber(e,void 0,j_.noop,j_.noop);o.subscribe(i),i.add(r)}else e.complete()}()}))};var L_={};Object.defineProperty(L_,"__esModule",{value:!0}),L_.pairs=void 0;var D_=Cm;L_.pairs=function(e,t){return D_.from(Object.entries(e),t)};var q_={},B_={};Object.defineProperty(B_,"__esModule",{value:!0}),B_.not=void 0,B_.not=function(e,t){return function(n,r){return!e.call(t,n,r)}};var U_={};Object.defineProperty(U_,"__esModule",{value:!0}),U_.filter=void 0;var z_=Fh,G_=qh;U_.filter=function(e,t){return z_.operate((function(n,r){var o=0;n.subscribe(G_.createOperatorSubscriber(r,(function(n){return e.call(t,n,o++)&&r.next(n)})))}))},Object.defineProperty(q_,"__esModule",{value:!0}),q_.partition=void 0;var H_=B_,W_=U_,V_=Nm;q_.partition=function(e,t,n){return[W_.filter(t,n)(V_.innerFrom(e)),W_.filter(H_.not(t,n))(V_.innerFrom(e))]};var $_={};Object.defineProperty($_,"__esModule",{value:!0}),$_.raceInit=$_.race=void 0;var J_=Jd,K_=Nm,Y_=N_,Z_=qh;function X_(e){return function(t){for(var n=[],r=function(r){n.push(K_.innerFrom(e[r]).subscribe(Z_.createOperatorSubscriber(t,(function(e){if(n){for(var o=0;o<n.length;o++)o!==r&&n[o].unsubscribe();n=null}t.next(e)}))))},o=0;n&&!t.closed&&o<e.length;o++)r(o)}}$_.race=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=Y_.argsOrArgArray(e)).length?K_.innerFrom(e[0]):new J_.Observable(X_(e))},$_.raceInit=X_;var Q_={};Object.defineProperty(Q_,"__esModule",{value:!0}),Q_.range=void 0;var eb=Jd,tb=_m;Q_.range=function(e,t,n){if(null==t&&(t=e,e=0),t<=0)return tb.EMPTY;var r=t+e;return new eb.Observable(n?function(t){var o=e;return n.schedule((function(){o<r?(t.next(o++),this.schedule()):t.complete()}))}:function(t){for(var n=e;n<r&&!t.closed;)t.next(n++);t.complete()})};var nb={};Object.defineProperty(nb,"__esModule",{value:!0}),nb.using=void 0;var rb=Jd,ob=Nm,ib=_m;nb.using=function(e,t){return new rb.Observable((function(n){var r=e(),o=t(r);return(o?ob.innerFrom(o):ib.EMPTY).subscribe(n),function(){r&&r.unsubscribe()}}))};var ab={},sb=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},ub=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(ab,"__esModule",{value:!0}),ab.zip=void 0;var cb=Jd,lb=Nm,fb=N_,db=_m,hb=qh,pb=wm;ab.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=pb.popResultSelector(e),r=fb.argsOrArgArray(e);return r.length?new cb.Observable((function(e){var t=r.map((function(){return[]})),o=r.map((function(){return!1}));e.add((function(){t=o=null}));for(var i=function(i){lb.innerFrom(r[i]).subscribe(hb.createOperatorSubscriber(e,(function(r){if(t[i].push(r),t.every((function(e){return e.length}))){var a=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,ub([],sb(a))):a),t.some((function(e,t){return!e.length&&o[t]}))&&e.complete()}}),(function(){o[i]=!0,!t[i].length&&e.complete()})))},a=0;!e.closed&&a<r.length;a++)i(a);return function(){t=o=null}})):db.EMPTY};var mb={};Object.defineProperty(mb,"__esModule",{value:!0});var gb={};Object.defineProperty(gb,"__esModule",{value:!0}),gb.audit=void 0;var yb=Fh,vb=Nm,_b=qh;gb.audit=function(e){return yb.operate((function(t,n){var r=!1,o=null,i=null,a=!1,s=function(){if(null==i||i.unsubscribe(),i=null,r){r=!1;var e=o;o=null,n.next(e)}a&&n.complete()},u=function(){i=null,a&&n.complete()};t.subscribe(_b.createOperatorSubscriber(n,(function(t){r=!0,o=t,i||vb.innerFrom(e(t)).subscribe(i=_b.createOperatorSubscriber(n,s,u))}),(function(){a=!0,(!r||!i||i.closed)&&n.complete()})))}))};var bb={};Object.defineProperty(bb,"__esModule",{value:!0}),bb.auditTime=void 0;var wb=Qp,Sb=gb,xb=m_;bb.auditTime=function(e,t){return void 0===t&&(t=wb.asyncScheduler),Sb.audit((function(){return xb.timer(e,t)}))};var kb={};Object.defineProperty(kb,"__esModule",{value:!0}),kb.buffer=void 0;var Eb=Fh,Ab=ph,Cb=qh,Ob=Nm;kb.buffer=function(e){return Eb.operate((function(t,n){var r=[];return t.subscribe(Cb.createOperatorSubscriber(n,(function(e){return r.push(e)}),(function(){n.next(r),n.complete()}))),Ob.innerFrom(e).subscribe(Cb.createOperatorSubscriber(n,(function(){var e=r;r=[],n.next(e)}),Ab.noop)),function(){r=null}}))};var Rb={},Nb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Rb,"__esModule",{value:!0}),Rb.bufferCount=void 0;var Ib=Fh,Pb=qh,Tb=eh;Rb.bufferCount=function(e,t){return void 0===t&&(t=null),t=null!=t?t:e,Ib.operate((function(n,r){var o=[],i=0;n.subscribe(Pb.createOperatorSubscriber(r,(function(n){var a,s,u,c,l=null;i++%t==0&&o.push([]);try{for(var f=Nb(o),d=f.next();!d.done;d=f.next())(m=d.value).push(n),e<=m.length&&(l=null!=l?l:[]).push(m)}catch(e){a={error:e}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(a)throw a.error}}if(l)try{for(var h=Nb(l),p=h.next();!p.done;p=h.next()){var m;Tb.arrRemove(o,m=p.value),r.next(m)}}catch(e){u={error:e}}finally{try{p&&!p.done&&(c=h.return)&&c.call(h)}finally{if(u)throw u.error}}}),(function(){var e,t;try{for(var n=Nb(o),i=n.next();!i.done;i=n.next())r.next(i.value)}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}r.complete()}),void 0,(function(){o=null})))}))};var Mb={},jb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Mb,"__esModule",{value:!0}),Mb.bufferTime=void 0;var Fb=Zd,Lb=Fh,Db=qh,qb=eh,Bb=Qp,Ub=wm,zb=vg;Mb.bufferTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var i=null!==(t=Ub.popScheduler(r))&&void 0!==t?t:Bb.asyncScheduler,a=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return Lb.operate((function(t,n){var r=[],o=!1,u=function(e){var t=e.buffer;e.subs.unsubscribe(),qb.arrRemove(r,e),n.next(t),o&&c()},c=function(){if(r){var t=new Fb.Subscription;n.add(t);var o={buffer:[],subs:t};r.push(o),zb.executeSchedule(t,i,(function(){return u(o)}),e)}};null!==a&&a>=0?zb.executeSchedule(n,i,c,a,!0):o=!0,c();var l=Db.createOperatorSubscriber(n,(function(e){var t,n,o=r.slice();try{for(var i=jb(o),a=i.next();!a.done;a=i.next()){var c=a.value,l=c.buffer;l.push(e),s<=l.length&&u(c)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}}),(function(){for(;null==r?void 0:r.length;)n.next(r.shift().buffer);null==l||l.unsubscribe(),n.complete(),n.unsubscribe()}),void 0,(function(){return r=null}));t.subscribe(l)}))};var Gb={},Hb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Gb,"__esModule",{value:!0}),Gb.bufferToggle=void 0;var Wb=Zd,Vb=Fh,$b=Nm,Jb=qh,Kb=ph,Yb=eh;Gb.bufferToggle=function(e,t){return Vb.operate((function(n,r){var o=[];$b.innerFrom(e).subscribe(Jb.createOperatorSubscriber(r,(function(e){var n=[];o.push(n);var i=new Wb.Subscription;i.add($b.innerFrom(t(e)).subscribe(Jb.createOperatorSubscriber(r,(function(){Yb.arrRemove(o,n),r.next(n),i.unsubscribe()}),Kb.noop)))}),Kb.noop)),n.subscribe(Jb.createOperatorSubscriber(r,(function(e){var t,n;try{for(var r=Hb(o),i=r.next();!i.done;i=r.next())i.value.push(e)}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}}),(function(){for(;o.length>0;)r.next(o.shift());r.complete()})))}))};var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0}),Zb.bufferWhen=void 0;var Xb=Fh,Qb=ph,ew=qh,tw=Nm;Zb.bufferWhen=function(e){return Xb.operate((function(t,n){var r=null,o=null;!function t(){null==o||o.unsubscribe();var i=r;r=[],i&&n.next(i),tw.innerFrom(e()).subscribe(o=ew.createOperatorSubscriber(n,t,Qb.noop))}(),t.subscribe(ew.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.push(e)}),(function(){r&&n.next(r),n.complete()}),void 0,(function(){return r=o=null})))}))};var nw={};Object.defineProperty(nw,"__esModule",{value:!0}),nw.catchError=void 0;var rw=Nm,ow=qh,iw=Fh;nw.catchError=function e(t){return iw.operate((function(n,r){var o,i=null,a=!1;i=n.subscribe(ow.createOperatorSubscriber(r,void 0,void 0,(function(s){o=rw.innerFrom(t(s,e(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(r)):a=!0}))),a&&(i.unsubscribe(),i=null,o.subscribe(r))}))};var aw={},sw={},uw={},cw={},lw={},fw={};Object.defineProperty(fw,"__esModule",{value:!0}),fw.scanInternals=void 0;var dw=qh;fw.scanInternals=function(e,t,n,r,o){return function(i,a){var s=n,u=t,c=0;i.subscribe(dw.createOperatorSubscriber(a,(function(t){var n=c++;u=s?e(u,t,n):(s=!0,t),r&&a.next(u)}),o&&function(){s&&a.next(u),a.complete()}))}},Object.defineProperty(lw,"__esModule",{value:!0}),lw.reduce=void 0;var hw=fw,pw=Fh;lw.reduce=function(e,t){return pw.operate(hw.scanInternals(e,t,arguments.length>=2,!1,!0))},Object.defineProperty(cw,"__esModule",{value:!0}),cw.toArray=void 0;var mw=lw,gw=Fh,yw=function(e,t){return e.push(t),e};cw.toArray=function(){return gw.operate((function(e,t){mw.reduce(yw,[])(e).subscribe(t)}))},Object.defineProperty(uw,"__esModule",{value:!0}),uw.joinAllInternals=void 0;var vw=Sh,_w=Ay,bw=wh,ww=dv,Sw=cw;uw.joinAllInternals=function(e,t){return bw.pipe(Sw.toArray(),ww.mergeMap((function(t){return e(t)})),t?_w.mapOneOrManyArgs(t):vw.identity)},Object.defineProperty(sw,"__esModule",{value:!0}),sw.combineLatestAll=void 0;var xw=Wy,kw=uw;sw.combineLatestAll=function(e){return kw.joinAllInternals(xw.combineLatest,e)},Object.defineProperty(aw,"__esModule",{value:!0}),aw.combineAll=void 0,aw.combineAll=sw.combineLatestAll;var Ew={},Aw={},Cw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Ow=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Aw,"__esModule",{value:!0}),Aw.combineLatest=void 0;var Rw=Wy,Nw=Fh,Iw=N_,Pw=Ay,Tw=wh,Mw=wm;Aw.combineLatest=function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=Mw.popResultSelector(t);return r?Tw.pipe(e.apply(void 0,Ow([],Cw(t))),Pw.mapOneOrManyArgs(r)):Nw.operate((function(e,n){Rw.combineLatestInit(Ow([e],Cw(Iw.argsOrArgArray(t))))(n)}))};var jw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Fw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ew,"__esModule",{value:!0}),Ew.combineLatestWith=void 0;var Lw=Aw;Ew.combineLatestWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Lw.combineLatest.apply(void 0,Fw([],jw(e)))};var Dw={};Object.defineProperty(Dw,"__esModule",{value:!0}),Dw.concatMap=void 0;var qw=dv,Bw=Yd;Dw.concatMap=function(e,t){return Bw.isFunction(t)?qw.mergeMap(e,t,1):qw.mergeMap(e,1)};var Uw={};Object.defineProperty(Uw,"__esModule",{value:!0}),Uw.concatMapTo=void 0;var zw=Dw,Gw=Yd;Uw.concatMapTo=function(e,t){return Gw.isFunction(t)?zw.concatMap((function(){return e}),t):zw.concatMap((function(){return e}))};var Hw={},Ww={},Vw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},$w=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ww,"__esModule",{value:!0}),Ww.concat=void 0;var Jw=Fh,Kw=lv,Yw=wm,Zw=Cm;Ww.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Yw.popScheduler(e);return Jw.operate((function(t,r){Kw.concatAll()(Zw.from($w([t],Vw(e)),n)).subscribe(r)}))};var Xw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Qw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Hw,"__esModule",{value:!0}),Hw.concatWith=void 0;var eS=Ww;Hw.concatWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return eS.concat.apply(void 0,Qw([],Xw(e)))};var tS={},nS={};Object.defineProperty(nS,"__esModule",{value:!0}),nS.fromSubscribable=void 0;var rS=Jd;nS.fromSubscribable=function(e){return new rS.Observable((function(t){return e.subscribe(t)}))},Object.defineProperty(tS,"__esModule",{value:!0}),tS.connect=void 0;var oS=ip,iS=Nm,aS=Fh,sS=nS,uS={connector:function(){return new oS.Subject}};tS.connect=function(e,t){void 0===t&&(t=uS);var n=t.connector;return aS.operate((function(t,r){var o=n();iS.innerFrom(e(sS.fromSubscribable(o))).subscribe(r),r.add(t.subscribe(o))}))};var cS={};Object.defineProperty(cS,"__esModule",{value:!0}),cS.count=void 0;var lS=lw;cS.count=function(e){return lS.reduce((function(t,n,r){return!e||e(n,r)?t+1:t}),0)};var fS={};Object.defineProperty(fS,"__esModule",{value:!0}),fS.debounce=void 0;var dS=Fh,hS=ph,pS=qh,mS=Nm;fS.debounce=function(e){return dS.operate((function(t,n){var r=!1,o=null,i=null,a=function(){if(null==i||i.unsubscribe(),i=null,r){r=!1;var e=o;o=null,n.next(e)}};t.subscribe(pS.createOperatorSubscriber(n,(function(t){null==i||i.unsubscribe(),r=!0,o=t,i=pS.createOperatorSubscriber(n,a,hS.noop),mS.innerFrom(e(t)).subscribe(i)}),(function(){a(),n.complete()}),void 0,(function(){o=i=null})))}))};var gS={};Object.defineProperty(gS,"__esModule",{value:!0}),gS.debounceTime=void 0;var yS=Qp,vS=Fh,_S=qh;gS.debounceTime=function(e,t){return void 0===t&&(t=yS.asyncScheduler),vS.operate((function(n,r){var o=null,i=null,a=null,s=function(){if(o){o.unsubscribe(),o=null;var e=i;i=null,r.next(e)}};function u(){var n=a+e,i=t.now();if(i<n)return o=this.schedule(void 0,n-i),void r.add(o);s()}n.subscribe(_S.createOperatorSubscriber(r,(function(n){i=n,a=t.now(),o||(o=t.schedule(u,e),r.add(o))}),(function(){s(),r.complete()}),void 0,(function(){i=o=null})))}))};var bS={};Object.defineProperty(bS,"__esModule",{value:!0}),bS.defaultIfEmpty=void 0;var wS=Fh,SS=qh;bS.defaultIfEmpty=function(e){return wS.operate((function(t,n){var r=!1;t.subscribe(SS.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))};var xS={},kS={},ES={};Object.defineProperty(ES,"__esModule",{value:!0}),ES.take=void 0;var AS=_m,CS=Fh,OS=qh;ES.take=function(e){return e<=0?function(){return AS.EMPTY}:CS.operate((function(t,n){var r=0;t.subscribe(OS.createOperatorSubscriber(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))};var RS={};Object.defineProperty(RS,"__esModule",{value:!0}),RS.ignoreElements=void 0;var NS=Fh,IS=qh,PS=ph;RS.ignoreElements=function(){return NS.operate((function(e,t){e.subscribe(IS.createOperatorSubscriber(t,PS.noop))}))};var TS={};Object.defineProperty(TS,"__esModule",{value:!0}),TS.mapTo=void 0;var MS=Cy;TS.mapTo=function(e){return MS.map((function(){return e}))},Object.defineProperty(kS,"__esModule",{value:!0}),kS.delayWhen=void 0;var jS=cv,FS=ES,LS=RS,DS=TS,qS=dv,BS=Nm;kS.delayWhen=function e(t,n){return n?function(r){return jS.concat(n.pipe(FS.take(1),LS.ignoreElements()),r.pipe(e(t)))}:qS.mergeMap((function(e,n){return BS.innerFrom(t(e,n)).pipe(FS.take(1),DS.mapTo(e))}))},Object.defineProperty(xS,"__esModule",{value:!0}),xS.delay=void 0;var US=Qp,zS=kS,GS=m_;xS.delay=function(e,t){void 0===t&&(t=US.asyncScheduler);var n=GS.timer(e,t);return zS.delayWhen((function(){return n}))};var HS={};Object.defineProperty(HS,"__esModule",{value:!0}),HS.dematerialize=void 0;var WS=vm,VS=Fh,$S=qh;HS.dematerialize=function(){return VS.operate((function(e,t){e.subscribe($S.createOperatorSubscriber(t,(function(e){return WS.observeNotification(e,t)})))}))};var JS={};Object.defineProperty(JS,"__esModule",{value:!0}),JS.distinct=void 0;var KS=Fh,YS=qh,ZS=ph,XS=Nm;JS.distinct=function(e,t){return KS.operate((function(n,r){var o=new Set;n.subscribe(YS.createOperatorSubscriber(r,(function(t){var n=e?e(t):t;o.has(n)||(o.add(n),r.next(t))}))),t&&XS.innerFrom(t).subscribe(YS.createOperatorSubscriber(r,(function(){return o.clear()}),ZS.noop))}))};var QS={};Object.defineProperty(QS,"__esModule",{value:!0}),QS.distinctUntilChanged=void 0;var ex=Sh,tx=Fh,nx=qh;function rx(e,t){return e===t}QS.distinctUntilChanged=function(e,t){return void 0===t&&(t=ex.identity),e=null!=e?e:rx,tx.operate((function(n,r){var o,i=!0;n.subscribe(nx.createOperatorSubscriber(r,(function(n){var a=t(n);!i&&e(o,a)||(i=!1,o=a,r.next(n))})))}))};var ox={};Object.defineProperty(ox,"__esModule",{value:!0}),ox.distinctUntilKeyChanged=void 0;var ix=QS;ox.distinctUntilKeyChanged=function(e,t){return ix.distinctUntilChanged((function(n,r){return t?t(n[e],r[e]):n[e]===r[e]}))};var ax={},sx={};Object.defineProperty(sx,"__esModule",{value:!0}),sx.throwIfEmpty=void 0;var ux=py,cx=Fh,lx=qh;function fx(){return new ux.EmptyError}sx.throwIfEmpty=function(e){return void 0===e&&(e=fx),cx.operate((function(t,n){var r=!1;t.subscribe(lx.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))},Object.defineProperty(ax,"__esModule",{value:!0}),ax.elementAt=void 0;var dx=_y,hx=U_,px=sx,mx=bS,gx=ES;ax.elementAt=function(e,t){if(e<0)throw new dx.ArgumentOutOfRangeError;var n=arguments.length>=2;return function(r){return r.pipe(hx.filter((function(t,n){return n===e})),gx.take(1),n?mx.defaultIfEmpty(t):px.throwIfEmpty((function(){return new dx.ArgumentOutOfRangeError})))}};var yx={},vx=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},_x=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(yx,"__esModule",{value:!0}),yx.endWith=void 0;var bx=cv,wx=bm;yx.endWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return bx.concat(t,wx.of.apply(void 0,_x([],vx(e))))}};var Sx={};Object.defineProperty(Sx,"__esModule",{value:!0}),Sx.every=void 0;var xx=Fh,kx=qh;Sx.every=function(e,t){return xx.operate((function(n,r){var o=0;n.subscribe(kx.createOperatorSubscriber(r,(function(i){e.call(t,i,o++,n)||(r.next(!1),r.complete())}),(function(){r.next(!0),r.complete()})))}))};var Ex={},Ax={},Cx={};Object.defineProperty(Cx,"__esModule",{value:!0}),Cx.exhaustMap=void 0;var Ox=Cy,Rx=Nm,Nx=Fh,Ix=qh;Cx.exhaustMap=function e(t,n){return n?function(r){return r.pipe(e((function(e,r){return Rx.innerFrom(t(e,r)).pipe(Ox.map((function(t,o){return n(e,t,r,o)})))})))}:Nx.operate((function(e,n){var r=0,o=null,i=!1;e.subscribe(Ix.createOperatorSubscriber(n,(function(e){o||(o=Ix.createOperatorSubscriber(n,void 0,(function(){o=null,i&&n.complete()})),Rx.innerFrom(t(e,r++)).subscribe(o))}),(function(){i=!0,!o&&n.complete()})))}))},Object.defineProperty(Ax,"__esModule",{value:!0}),Ax.exhaustAll=void 0;var Px=Cx,Tx=Sh;Ax.exhaustAll=function(){return Px.exhaustMap(Tx.identity)},Object.defineProperty(Ex,"__esModule",{value:!0}),Ex.exhaust=void 0,Ex.exhaust=Ax.exhaustAll;var Mx={};Object.defineProperty(Mx,"__esModule",{value:!0}),Mx.expand=void 0;var jx=Fh,Fx=hv;Mx.expand=function(e,t,n){return void 0===t&&(t=Infinity),t=(t||0)<1?Infinity:t,jx.operate((function(r,o){return Fx.mergeInternals(r,o,e,t,void 0,!0,n)}))};var Lx={};Object.defineProperty(Lx,"__esModule",{value:!0}),Lx.finalize=void 0;var Dx=Fh;Lx.finalize=function(e){return Dx.operate((function(t,n){try{t.subscribe(n)}finally{n.add(e)}}))};var qx={};Object.defineProperty(qx,"__esModule",{value:!0}),qx.createFind=qx.find=void 0;var Bx=Fh,Ux=qh;function zx(e,t,n){var r="index"===n;return function(n,o){var i=0;n.subscribe(Ux.createOperatorSubscriber(o,(function(a){var s=i++;e.call(t,a,s,n)&&(o.next(r?s:a),o.complete())}),(function(){o.next(r?-1:void 0),o.complete()})))}}qx.find=function(e,t){return Bx.operate(zx(e,t,"value"))},qx.createFind=zx;var Gx={};Object.defineProperty(Gx,"__esModule",{value:!0}),Gx.findIndex=void 0;var Hx=Fh,Wx=qx;Gx.findIndex=function(e,t){return Hx.operate(Wx.createFind(e,t,"index"))};var Vx={};Object.defineProperty(Vx,"__esModule",{value:!0}),Vx.first=void 0;var $x=py,Jx=U_,Kx=ES,Yx=bS,Zx=sx,Xx=Sh;Vx.first=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Jx.filter((function(t,n){return e(t,n,r)})):Xx.identity,Kx.take(1),n?Yx.defaultIfEmpty(t):Zx.throwIfEmpty((function(){return new $x.EmptyError})))}};var Qx={};Object.defineProperty(Qx,"__esModule",{value:!0}),Qx.groupBy=void 0;var ek=Jd,tk=Nm,nk=ip,rk=Fh,ok=qh;Qx.groupBy=function(e,t,n,r){return rk.operate((function(o,i){var a;t&&"function"!=typeof t?(n=t.duration,a=t.element,r=t.connector):a=t;var s=new Map,u=function(e){s.forEach(e),e(i)},c=function(e){return u((function(t){return t.error(e)}))},l=0,f=!1,d=new ok.OperatorSubscriber(i,(function(t){try{var o=e(t),u=s.get(o);if(!u){s.set(o,u=r?r():new nk.Subject);var h=(m=o,g=u,(y=new ek.Observable((function(e){l++;var t=g.subscribe(e);return function(){t.unsubscribe(),0==--l&&f&&d.unsubscribe()}}))).key=m,y);if(i.next(h),n){var p=ok.createOperatorSubscriber(u,(function(){u.complete(),null==p||p.unsubscribe()}),void 0,void 0,(function(){return s.delete(o)}));d.add(tk.innerFrom(n(h)).subscribe(p))}}u.next(a?a(t):t)}catch(e){c(e)}var m,g,y}),(function(){return u((function(e){return e.complete()}))}),c,(function(){return s.clear()}),(function(){return f=!0,0===l}));o.subscribe(d)}))};var ik={};Object.defineProperty(ik,"__esModule",{value:!0}),ik.isEmpty=void 0;var ak=Fh,sk=qh;ik.isEmpty=function(){return ak.operate((function(e,t){e.subscribe(sk.createOperatorSubscriber(t,(function(){t.next(!1),t.complete()}),(function(){t.next(!0),t.complete()})))}))};var uk={},ck={},lk=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(ck,"__esModule",{value:!0}),ck.takeLast=void 0;var fk=_m,dk=Fh,hk=qh;ck.takeLast=function(e){return e<=0?function(){return fk.EMPTY}:dk.operate((function(t,n){var r=[];t.subscribe(hk.createOperatorSubscriber(n,(function(t){r.push(t),e<r.length&&r.shift()}),(function(){var e,t;try{for(var o=lk(r),i=o.next();!i.done;i=o.next())n.next(i.value)}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}n.complete()}),void 0,(function(){r=null})))}))},Object.defineProperty(uk,"__esModule",{value:!0}),uk.last=void 0;var pk=py,mk=U_,gk=ck,yk=sx,vk=bS,_k=Sh;uk.last=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?mk.filter((function(t,n){return e(t,n,r)})):_k.identity,gk.takeLast(1),n?vk.defaultIfEmpty(t):yk.throwIfEmpty((function(){return new pk.EmptyError})))}};var bk={};Object.defineProperty(bk,"__esModule",{value:!0}),bk.materialize=void 0;var wk=vm,Sk=Fh,xk=qh;bk.materialize=function(){return Sk.operate((function(e,t){e.subscribe(xk.createOperatorSubscriber(t,(function(e){t.next(wk.Notification.createNext(e))}),(function(){t.next(wk.Notification.createComplete()),t.complete()}),(function(e){t.next(wk.Notification.createError(e)),t.complete()})))}))};var kk={};Object.defineProperty(kk,"__esModule",{value:!0}),kk.max=void 0;var Ek=lw,Ak=Yd;kk.max=function(e){return Ek.reduce(Ak.isFunction(e)?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})};var Ck={};Object.defineProperty(Ck,"__esModule",{value:!0}),Ck.flatMap=void 0,Ck.flatMap=dv.mergeMap;var Ok={};Object.defineProperty(Ok,"__esModule",{value:!0}),Ok.mergeMapTo=void 0;var Rk=dv,Nk=Yd;Ok.mergeMapTo=function(e,t,n){return void 0===n&&(n=Infinity),Nk.isFunction(t)?Rk.mergeMap((function(){return e}),t,n):("number"==typeof t&&(n=t),Rk.mergeMap((function(){return e}),n))};var Ik={};Object.defineProperty(Ik,"__esModule",{value:!0}),Ik.mergeScan=void 0;var Pk=Fh,Tk=hv;Ik.mergeScan=function(e,t,n){return void 0===n&&(n=Infinity),Pk.operate((function(r,o){var i=t;return Tk.mergeInternals(r,o,(function(t,n){return e(i,t,n)}),n,(function(e){i=e}),!1,void 0,(function(){return i=null}))}))};var Mk={},jk={},Fk=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Lk=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(jk,"__esModule",{value:!0}),jk.merge=void 0;var Dk=Fh,qk=N_,Bk=fv,Uk=wm,zk=Cm;jk.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Uk.popScheduler(e),r=Uk.popNumber(e,Infinity);return e=qk.argsOrArgArray(e),Dk.operate((function(t,o){Bk.mergeAll(r)(zk.from(Lk([t],Fk(e)),n)).subscribe(o)}))};var Gk=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Hk=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Mk,"__esModule",{value:!0}),Mk.mergeWith=void 0;var Wk=jk;Mk.mergeWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Wk.merge.apply(void 0,Hk([],Gk(e)))};var Vk={};Object.defineProperty(Vk,"__esModule",{value:!0}),Vk.min=void 0;var $k=lw,Jk=Yd;Vk.min=function(e){return $k.reduce(Jk.isFunction(e)?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e<t?e:t})};var Kk={};Object.defineProperty(Kk,"__esModule",{value:!0}),Kk.multicast=void 0;var Yk=Mh,Zk=Yd,Xk=tS;Kk.multicast=function(e,t){var n=Zk.isFunction(e)?e:function(){return e};return Zk.isFunction(t)?Xk.connect(t,{connector:n}):function(e){return new Yk.ConnectableObservable(e,n)}};var Qk={},eE=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},tE=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Qk,"__esModule",{value:!0}),Qk.onErrorResumeNext=Qk.onErrorResumeNextWith=void 0;var nE=N_,rE=R_;function oE(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=nE.argsOrArgArray(e);return function(e){return rE.onErrorResumeNext.apply(void 0,tE([e],eE(n)))}}Qk.onErrorResumeNextWith=oE,Qk.onErrorResumeNext=oE;var iE={};Object.defineProperty(iE,"__esModule",{value:!0}),iE.pairwise=void 0;var aE=Fh,sE=qh;iE.pairwise=function(){return aE.operate((function(e,t){var n,r=!1;e.subscribe(sE.createOperatorSubscriber(t,(function(e){var o=n;n=e,r&&t.next([o,e]),r=!0})))}))};var uE={};Object.defineProperty(uE,"__esModule",{value:!0}),uE.pluck=void 0;var cE=Cy;uE.pluck=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e.length;if(0===n)throw new Error("list of properties cannot be empty.");return cE.map((function(t){for(var r=t,o=0;o<n;o++){var i=null==r?void 0:r[e[o]];if(void 0===i)return;r=i}return r}))};var lE={};Object.defineProperty(lE,"__esModule",{value:!0}),lE.publish=void 0;var fE=ip,dE=Kk,hE=tS;lE.publish=function(e){return e?function(t){return hE.connect(e)(t)}:function(e){return dE.multicast(new fE.Subject)(e)}};var pE={};Object.defineProperty(pE,"__esModule",{value:!0}),pE.publishBehavior=void 0;var mE=gp,gE=Mh;pE.publishBehavior=function(e){return function(t){var n=new mE.BehaviorSubject(e);return new gE.ConnectableObservable(t,(function(){return n}))}};var yE={};Object.defineProperty(yE,"__esModule",{value:!0}),yE.publishLast=void 0;var vE=kp,_E=Mh;yE.publishLast=function(){return function(e){var t=new vE.AsyncSubject;return new _E.ConnectableObservable(e,(function(){return t}))}};var bE={};Object.defineProperty(bE,"__esModule",{value:!0}),bE.publishReplay=void 0;var wE=_p,SE=Kk,xE=Yd;bE.publishReplay=function(e,t,n,r){n&&!xE.isFunction(n)&&(r=n);var o=xE.isFunction(n)?n:void 0;return function(n){return SE.multicast(new wE.ReplaySubject(e,t,r),o)(n)}};var kE={},EE=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},AE=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(kE,"__esModule",{value:!0}),kE.raceWith=void 0;var CE=$_,OE=Fh,RE=Sh;kE.raceWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length?OE.operate((function(t,n){CE.raceInit(AE([t],EE(e)))(n)})):RE.identity};var NE={};Object.defineProperty(NE,"__esModule",{value:!0}),NE.repeat=void 0;var IE=_m,PE=Fh,TE=qh,ME=Nm,jE=m_;NE.repeat=function(e){var t,n,r=Infinity;return null!=e&&("object"===Z(e)?(r=void 0===(t=e.count)?Infinity:t,n=e.delay):r=e),r<=0?function(){return IE.EMPTY}:PE.operate((function(e,t){var o,i=0,a=function(){if(null==o||o.unsubscribe(),o=null,null!=n){var e="number"==typeof n?jE.timer(n):ME.innerFrom(n(i)),r=TE.createOperatorSubscriber(t,(function(){r.unsubscribe(),s()}));e.subscribe(r)}else s()},s=function(){var n=!1;o=e.subscribe(TE.createOperatorSubscriber(t,void 0,(function(){++i<r?o?a():n=!0:t.complete()}))),n&&a()};s()}))};var FE={};Object.defineProperty(FE,"__esModule",{value:!0}),FE.repeatWhen=void 0;var LE=Nm,DE=ip,qE=Fh,BE=qh;FE.repeatWhen=function(e){return qE.operate((function(t,n){var r,o,i=!1,a=!1,s=!1,u=function(){return s&&a&&(n.complete(),!0)},c=function(){return o||(o=new DE.Subject,LE.innerFrom(e(o)).subscribe(BE.createOperatorSubscriber(n,(function(){r?l():i=!0}),(function(){a=!0,u()})))),o},l=function e(){s=!1,r=t.subscribe(BE.createOperatorSubscriber(n,void 0,(function(){s=!0,!u()&&c().next()}))),i&&(r.unsubscribe(),r=null,i=!1,e())};l()}))};var UE={};Object.defineProperty(UE,"__esModule",{value:!0}),UE.retry=void 0;var zE=Fh,GE=qh,HE=Sh,WE=m_,VE=Nm;UE.retry=function(e){var t;void 0===e&&(e=Infinity);var n=(t=e&&"object"===Z(e)?e:{count:e}).count,r=void 0===n?Infinity:n,o=t.delay,i=t.resetOnSuccess,a=void 0!==i&&i;return r<=0?HE.identity:zE.operate((function(e,t){var n,i=0;!function s(){var u=!1;n=e.subscribe(GE.createOperatorSubscriber(t,(function(e){a&&(i=0),t.next(e)}),void 0,(function(e){if(i++<r){var a=function(){n?(n.unsubscribe(),n=null,s()):u=!0};if(null!=o){var c="number"==typeof o?WE.timer(o):VE.innerFrom(o(e,i)),l=GE.createOperatorSubscriber(t,(function(){l.unsubscribe(),a()}),(function(){t.complete()}));c.subscribe(l)}else a()}else t.error(e)}))),u&&(n.unsubscribe(),n=null,s())}()}))};var $E={};Object.defineProperty($E,"__esModule",{value:!0}),$E.retryWhen=void 0;var JE=Nm,KE=ip,YE=Fh,ZE=qh;$E.retryWhen=function(e){return YE.operate((function(t,n){var r,o,i=!1;!function a(){r=t.subscribe(ZE.createOperatorSubscriber(n,void 0,void 0,(function(t){o||(o=new KE.Subject,JE.innerFrom(e(o)).subscribe(ZE.createOperatorSubscriber(n,(function(){return r?a():i=!0})))),o&&o.next(t)}))),i&&(r.unsubscribe(),r=null,i=!1,a())}()}))};var XE={};Object.defineProperty(XE,"__esModule",{value:!0}),XE.sample=void 0;var QE=Nm,eA=Fh,tA=ph,nA=qh;XE.sample=function(e){return eA.operate((function(t,n){var r=!1,o=null;t.subscribe(nA.createOperatorSubscriber(n,(function(e){r=!0,o=e}))),QE.innerFrom(e).subscribe(nA.createOperatorSubscriber(n,(function(){if(r){r=!1;var e=o;o=null,n.next(e)}}),tA.noop))}))};var rA={};Object.defineProperty(rA,"__esModule",{value:!0}),rA.sampleTime=void 0;var oA=Qp,iA=XE,aA=p_;rA.sampleTime=function(e,t){return void 0===t&&(t=oA.asyncScheduler),iA.sample(aA.interval(e,t))};var sA={};Object.defineProperty(sA,"__esModule",{value:!0}),sA.scan=void 0;var uA=Fh,cA=fw;sA.scan=function(e,t){return uA.operate(cA.scanInternals(e,t,arguments.length>=2,!0))};var lA={};Object.defineProperty(lA,"__esModule",{value:!0}),lA.sequenceEqual=void 0;var fA=Fh,dA=qh,hA=Nm;lA.sequenceEqual=function(e,t){return void 0===t&&(t=function(e,t){return e===t}),fA.operate((function(n,r){var o={buffer:[],complete:!1},i={buffer:[],complete:!1},a=function(e){r.next(e),r.complete()},s=function(e,n){var o=dA.createOperatorSubscriber(r,(function(r){var o=n.buffer;0===o.length?n.complete?a(!1):e.buffer.push(r):!t(r,o.shift())&&a(!1)}),(function(){e.complete=!0,n.complete&&a(0===n.buffer.length),null==o||o.unsubscribe()}));return o};n.subscribe(s(o,i)),hA.innerFrom(e).subscribe(s(i,o))}))};var pA={},mA=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},gA=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(pA,"__esModule",{value:!0}),pA.share=void 0;var yA=Nm,vA=ip,_A=Kd,bA=Fh;function wA(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var o=new _A.SafeSubscriber({next:function(){o.unsubscribe(),e()}});return yA.innerFrom(t.apply(void 0,gA([],mA(n)))).subscribe(o)}}else e()}pA.share=function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new vA.Subject}:t,r=e.resetOnError,o=void 0===r||r,i=e.resetOnComplete,a=void 0===i||i,s=e.resetOnRefCountZero,u=void 0===s||s;return function(e){var t,r,i,s=0,c=!1,l=!1,f=function(){null==r||r.unsubscribe(),r=void 0},d=function(){f(),t=i=void 0,c=l=!1},h=function(){var e=t;d(),null==e||e.unsubscribe()};return bA.operate((function(e,p){s++,l||c||f();var m=i=null!=i?i:n();p.add((function(){0!=--s||l||c||(r=wA(h,u))})),m.subscribe(p),!t&&s>0&&(t=new _A.SafeSubscriber({next:function(e){return m.next(e)},error:function(e){l=!0,f(),r=wA(d,o,e),m.error(e)},complete:function(){c=!0,f(),r=wA(d,a),m.complete()}}),yA.innerFrom(e).subscribe(t))}))(e)}};var SA={};Object.defineProperty(SA,"__esModule",{value:!0}),SA.shareReplay=void 0;var xA=_p,kA=pA;SA.shareReplay=function(e,t,n){var r,o,i,a,s=!1;return e&&"object"===Z(e)?(a=void 0===(r=e.bufferSize)?Infinity:r,t=void 0===(o=e.windowTime)?Infinity:o,s=void 0!==(i=e.refCount)&&i,n=e.scheduler):a=null!=e?e:Infinity,kA.share({connector:function(){return new xA.ReplaySubject(a,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})};var EA={};Object.defineProperty(EA,"__esModule",{value:!0}),EA.single=void 0;var AA=py,CA=wy,OA=by,RA=Fh,NA=qh;EA.single=function(e){return RA.operate((function(t,n){var r,o=!1,i=!1,a=0;t.subscribe(NA.createOperatorSubscriber(n,(function(s){i=!0,e&&!e(s,a++,t)||(o&&n.error(new CA.SequenceError("Too many matching values")),o=!0,r=s)}),(function(){o?(n.next(r),n.complete()):n.error(i?new OA.NotFoundError("No matching values"):new AA.EmptyError)})))}))};var IA={};Object.defineProperty(IA,"__esModule",{value:!0}),IA.skip=void 0;var PA=U_;IA.skip=function(e){return PA.filter((function(t,n){return e<=n}))};var TA={};Object.defineProperty(TA,"__esModule",{value:!0}),TA.skipLast=void 0;var MA=Sh,jA=Fh,FA=qh;TA.skipLast=function(e){return e<=0?MA.identity:jA.operate((function(t,n){var r=new Array(e),o=0;return t.subscribe(FA.createOperatorSubscriber(n,(function(t){var i=o++;if(i<e)r[i]=t;else{var a=i%e,s=r[a];r[a]=t,n.next(s)}}))),function(){r=null}}))};var LA={};Object.defineProperty(LA,"__esModule",{value:!0}),LA.skipUntil=void 0;var DA=Fh,qA=qh,BA=Nm,UA=ph;LA.skipUntil=function(e){return DA.operate((function(t,n){var r=!1,o=qA.createOperatorSubscriber(n,(function(){null==o||o.unsubscribe(),r=!0}),UA.noop);BA.innerFrom(e).subscribe(o),t.subscribe(qA.createOperatorSubscriber(n,(function(e){return r&&n.next(e)})))}))};var zA={};Object.defineProperty(zA,"__esModule",{value:!0}),zA.skipWhile=void 0;var GA=Fh,HA=qh;zA.skipWhile=function(e){return GA.operate((function(t,n){var r=!1,o=0;t.subscribe(HA.createOperatorSubscriber(n,(function(t){return(r||(r=!e(t,o++)))&&n.next(t)})))}))};var WA={};Object.defineProperty(WA,"__esModule",{value:!0}),WA.startWith=void 0;var VA=cv,$A=wm,JA=Fh;WA.startWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=$A.popScheduler(e);return JA.operate((function(t,r){(n?VA.concat(e,t,n):VA.concat(e,t)).subscribe(r)}))};var KA={},YA={};Object.defineProperty(YA,"__esModule",{value:!0}),YA.switchMap=void 0;var ZA=Nm,XA=Fh,QA=qh;YA.switchMap=function(e,t){return XA.operate((function(n,r){var o=null,i=0,a=!1,s=function(){return a&&!o&&r.complete()};n.subscribe(QA.createOperatorSubscriber(r,(function(n){null==o||o.unsubscribe();var a=0,u=i++;ZA.innerFrom(e(n,u)).subscribe(o=QA.createOperatorSubscriber(r,(function(e){return r.next(t?t(n,e,u,a++):e)}),(function(){o=null,s()})))}),(function(){a=!0,s()})))}))},Object.defineProperty(KA,"__esModule",{value:!0}),KA.switchAll=void 0;var eC=YA,tC=Sh;KA.switchAll=function(){return eC.switchMap(tC.identity)};var nC={};Object.defineProperty(nC,"__esModule",{value:!0}),nC.switchMapTo=void 0;var rC=YA,oC=Yd;nC.switchMapTo=function(e,t){return oC.isFunction(t)?rC.switchMap((function(){return e}),t):rC.switchMap((function(){return e}))};var iC={};Object.defineProperty(iC,"__esModule",{value:!0}),iC.switchScan=void 0;var aC=YA,sC=Fh;iC.switchScan=function(e,t){return sC.operate((function(n,r){var o=t;return aC.switchMap((function(t,n){return e(o,t,n)}),(function(e,t){return o=t,t}))(n).subscribe(r),function(){o=null}}))};var uC={};Object.defineProperty(uC,"__esModule",{value:!0}),uC.takeUntil=void 0;var cC=Fh,lC=qh,fC=Nm,dC=ph;uC.takeUntil=function(e){return cC.operate((function(t,n){fC.innerFrom(e).subscribe(lC.createOperatorSubscriber(n,(function(){return n.complete()}),dC.noop)),!n.closed&&t.subscribe(n)}))};var hC={};Object.defineProperty(hC,"__esModule",{value:!0}),hC.takeWhile=void 0;var pC=Fh,mC=qh;hC.takeWhile=function(e,t){return void 0===t&&(t=!1),pC.operate((function(n,r){var o=0;n.subscribe(mC.createOperatorSubscriber(r,(function(n){var i=e(n,o++);(i||t)&&r.next(n),!i&&r.complete()})))}))};var gC={};Object.defineProperty(gC,"__esModule",{value:!0}),gC.tap=void 0;var yC=Yd,vC=Fh,_C=qh,bC=Sh;gC.tap=function(e,t,n){var r=yC.isFunction(e)||t||n?{next:e,error:t,complete:n}:e;return r?vC.operate((function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var o=!0;e.subscribe(_C.createOperatorSubscriber(t,(function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)}),(function(){var e;o=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()}),(function(e){var n;o=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)}),(function(){var e,t;o&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)})))})):bC.identity};var wC={};Object.defineProperty(wC,"__esModule",{value:!0}),wC.throttle=void 0;var SC=Fh,xC=qh,kC=Nm;wC.throttle=function(e,t){return SC.operate((function(n,r){var o=null!=t?t:{},i=o.leading,a=void 0===i||i,s=o.trailing,u=void 0!==s&&s,c=!1,l=null,f=null,d=!1,h=function(){null==f||f.unsubscribe(),f=null,u&&(g(),d&&r.complete())},p=function(){f=null,d&&r.complete()},m=function(t){return f=kC.innerFrom(e(t)).subscribe(xC.createOperatorSubscriber(r,h,p))},g=function(){if(c){c=!1;var e=l;l=null,r.next(e),!d&&m(e)}};n.subscribe(xC.createOperatorSubscriber(r,(function(e){c=!0,l=e,(!f||f.closed)&&(a?g():m(e))}),(function(){d=!0,(!(u&&c&&f)||f.closed)&&r.complete()})))}))};var EC={};Object.defineProperty(EC,"__esModule",{value:!0}),EC.throttleTime=void 0;var AC=Qp,CC=wC,OC=m_;EC.throttleTime=function(e,t,n){void 0===t&&(t=AC.asyncScheduler);var r=OC.timer(e,t);return CC.throttle((function(){return r}),n)};var RC={};Object.defineProperty(RC,"__esModule",{value:!0}),RC.TimeInterval=RC.timeInterval=void 0;var NC=Qp,IC=Fh,PC=qh;RC.timeInterval=function(e){return void 0===e&&(e=NC.asyncScheduler),IC.operate((function(t,n){var r=e.now();t.subscribe(PC.createOperatorSubscriber(n,(function(t){var o=e.now(),i=o-r;r=o,n.next(new TC(t,i))})))}))};var TC=function(){return function(e,t){this.value=e,this.interval=t}}();RC.TimeInterval=TC;var MC={};Object.defineProperty(MC,"__esModule",{value:!0}),MC.timeoutWith=void 0;var jC=Qp,FC=xy,LC=Sy;MC.timeoutWith=function(e,t,n){var r,o,i;if(n=null!=n?n:jC.async,FC.isValidDate(e)?r=e:"number"==typeof e&&(o=e),!t)throw new TypeError("No observable provided to switch to");if(i=function(){return t},null==r&&null==o)throw new TypeError("No timeout provided.");return LC.timeout({first:r,each:o,scheduler:n,with:i})};var DC={};Object.defineProperty(DC,"__esModule",{value:!0}),DC.timestamp=void 0;var qC=bp,BC=Cy;DC.timestamp=function(e){return void 0===e&&(e=qC.dateTimestampProvider),BC.map((function(t){return{value:t,timestamp:e.now()}}))};var UC={};Object.defineProperty(UC,"__esModule",{value:!0}),UC.window=void 0;var zC=ip,GC=Fh,HC=qh,WC=ph,VC=Nm;UC.window=function(e){return GC.operate((function(t,n){var r=new zC.Subject;n.next(r.asObservable());var o=function(e){r.error(e),n.error(e)};return t.subscribe(HC.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.next(e)}),(function(){r.complete(),n.complete()}),o)),VC.innerFrom(e).subscribe(HC.createOperatorSubscriber(n,(function(){r.complete(),n.next(r=new zC.Subject)}),WC.noop,o)),function(){null==r||r.unsubscribe(),r=null}}))};var $C={},JC=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty($C,"__esModule",{value:!0}),$C.windowCount=void 0;var KC=ip,YC=Fh,ZC=qh;$C.windowCount=function(e,t){void 0===t&&(t=0);var n=t>0?t:e;return YC.operate((function(t,r){var o=[new KC.Subject],i=0;r.next(o[0].asObservable()),t.subscribe(ZC.createOperatorSubscriber(r,(function(t){var a,s;try{for(var u=JC(o),c=u.next();!c.done;c=u.next())c.value.next(t)}catch(e){a={error:e}}finally{try{c&&!c.done&&(s=u.return)&&s.call(u)}finally{if(a)throw a.error}}var l=i-e+1;if(l>=0&&l%n==0&&o.shift().complete(),++i%n==0){var f=new KC.Subject;o.push(f),r.next(f.asObservable())}}),(function(){for(;o.length>0;)o.shift().complete();r.complete()}),(function(e){for(;o.length>0;)o.shift().error(e);r.error(e)}),(function(){o=null})))}))};var XC={};Object.defineProperty(XC,"__esModule",{value:!0}),XC.windowTime=void 0;var QC=ip,eO=Qp,tO=Zd,nO=Fh,rO=qh,oO=eh,iO=wm,aO=vg;XC.windowTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var i=null!==(t=iO.popScheduler(r))&&void 0!==t?t:eO.asyncScheduler,a=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return nO.operate((function(t,n){var r=[],o=!1,u=function(e){var t=e.subs;e.window.complete(),t.unsubscribe(),oO.arrRemove(r,e),o&&c()},c=function(){if(r){var t=new tO.Subscription;n.add(t);var o=new QC.Subject,a={window:o,subs:t,seen:0};r.push(a),n.next(o.asObservable()),aO.executeSchedule(t,i,(function(){return u(a)}),e)}};null!==a&&a>=0?aO.executeSchedule(n,i,c,a,!0):o=!0,c();var l=function(e){return r.slice().forEach(e)},f=function(e){l((function(t){return e(t.window)})),e(n),n.unsubscribe()};return t.subscribe(rO.createOperatorSubscriber(n,(function(e){l((function(t){t.window.next(e),s<=++t.seen&&u(t)}))}),(function(){return f((function(e){return e.complete()}))}),(function(e){return f((function(t){return t.error(e)}))}))),function(){r=null}}))};var sO={},uO=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(sO,"__esModule",{value:!0}),sO.windowToggle=void 0;var cO=ip,lO=Zd,fO=Fh,dO=Nm,hO=qh,pO=ph,mO=eh;sO.windowToggle=function(e,t){return fO.operate((function(n,r){var o=[],i=function(e){for(;0<o.length;)o.shift().error(e);r.error(e)};dO.innerFrom(e).subscribe(hO.createOperatorSubscriber(r,(function(e){var n=new cO.Subject;o.push(n);var a,s=new lO.Subscription;try{a=dO.innerFrom(t(e))}catch(e){return void i(e)}r.next(n.asObservable()),s.add(a.subscribe(hO.createOperatorSubscriber(r,(function(){mO.arrRemove(o,n),n.complete(),s.unsubscribe()}),pO.noop,i)))}),pO.noop)),n.subscribe(hO.createOperatorSubscriber(r,(function(e){var t,n,r=o.slice();try{for(var i=uO(r),a=i.next();!a.done;a=i.next())a.value.next(e)}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}}),(function(){for(;0<o.length;)o.shift().complete();r.complete()}),i,(function(){for(;0<o.length;)o.shift().unsubscribe()})))}))};var gO={};Object.defineProperty(gO,"__esModule",{value:!0}),gO.windowWhen=void 0;var yO=ip,vO=Fh,_O=qh,bO=Nm;gO.windowWhen=function(e){return vO.operate((function(t,n){var r,o,i=function(e){r.error(e),n.error(e)};!function t(){var a;null==o||o.unsubscribe(),null==r||r.complete(),r=new yO.Subject,n.next(r.asObservable());try{a=bO.innerFrom(e())}catch(e){return void i(e)}a.subscribe(o=_O.createOperatorSubscriber(n,t,t,i))}(),t.subscribe(_O.createOperatorSubscriber(n,(function(e){return r.next(e)}),(function(){r.complete(),n.complete()}),i,(function(){null==o||o.unsubscribe(),r=null})))}))};var wO={},SO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},xO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(wO,"__esModule",{value:!0}),wO.withLatestFrom=void 0;var kO=Fh,EO=qh,AO=Nm,CO=Sh,OO=ph,RO=wm;wO.withLatestFrom=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=RO.popResultSelector(e);return kO.operate((function(t,r){for(var o=e.length,i=new Array(o),a=e.map((function(){return!1})),s=!1,u=function(t){AO.innerFrom(e[t]).subscribe(EO.createOperatorSubscriber(r,(function(e){i[t]=e,s||a[t]||(a[t]=!0,(s=a.every(CO.identity))&&(a=null))}),OO.noop))},c=0;c<o;c++)u(c);t.subscribe(EO.createOperatorSubscriber(r,(function(e){if(s){var t=xO([e],SO(i));r.next(n?n.apply(void 0,xO([],SO(t))):t)}})))}))};var NO={};Object.defineProperty(NO,"__esModule",{value:!0}),NO.zipAll=void 0;var IO=ab,PO=uw;NO.zipAll=function(e){return PO.joinAllInternals(IO.zip,e)};var TO={},MO={},jO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},FO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(MO,"__esModule",{value:!0}),MO.zip=void 0;var LO=ab,DO=Fh;MO.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return DO.operate((function(t,n){LO.zip.apply(void 0,FO([t],jO(e))).subscribe(n)}))};var qO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},BO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(TO,"__esModule",{value:!0}),TO.zipWith=void 0;var UO=MO;TO.zipWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return UO.zip.apply(void 0,BO([],qO(e)))},function(e){var t=q&&q.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=q&&q.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.interval=e.iif=e.generate=e.fromEventPattern=e.fromEvent=e.from=e.forkJoin=e.empty=e.defer=e.connectable=e.concat=e.combineLatest=e.bindNodeCallback=e.bindCallback=e.UnsubscriptionError=e.TimeoutError=e.SequenceError=e.ObjectUnsubscribedError=e.NotFoundError=e.EmptyError=e.ArgumentOutOfRangeError=e.firstValueFrom=e.lastValueFrom=e.isObservable=e.identity=e.noop=e.pipe=e.NotificationKind=e.Notification=e.Subscriber=e.Subscription=e.Scheduler=e.VirtualAction=e.VirtualTimeScheduler=e.animationFrameScheduler=e.animationFrame=e.queueScheduler=e.queue=e.asyncScheduler=e.async=e.asapScheduler=e.asap=e.AsyncSubject=e.ReplaySubject=e.BehaviorSubject=e.Subject=e.animationFrames=e.observable=e.ConnectableObservable=e.Observable=void 0,e.filter=e.expand=e.exhaustMap=e.exhaustAll=e.exhaust=e.every=e.endWith=e.elementAt=e.distinctUntilKeyChanged=e.distinctUntilChanged=e.distinct=e.dematerialize=e.delayWhen=e.delay=e.defaultIfEmpty=e.debounceTime=e.debounce=e.count=e.connect=e.concatWith=e.concatMapTo=e.concatMap=e.concatAll=e.combineLatestWith=e.combineLatestAll=e.combineAll=e.catchError=e.bufferWhen=e.bufferToggle=e.bufferTime=e.bufferCount=e.buffer=e.auditTime=e.audit=e.config=e.NEVER=e.EMPTY=e.scheduled=e.zip=e.using=e.timer=e.throwError=e.range=e.race=e.partition=e.pairs=e.onErrorResumeNext=e.of=e.never=e.merge=void 0,e.switchMap=e.switchAll=e.subscribeOn=e.startWith=e.skipWhile=e.skipUntil=e.skipLast=e.skip=e.single=e.shareReplay=e.share=e.sequenceEqual=e.scan=e.sampleTime=e.sample=e.refCount=e.retryWhen=e.retry=e.repeatWhen=e.repeat=e.reduce=e.raceWith=e.publishReplay=e.publishLast=e.publishBehavior=e.publish=e.pluck=e.pairwise=e.onErrorResumeNextWith=e.observeOn=e.multicast=e.min=e.mergeWith=e.mergeScan=e.mergeMapTo=e.mergeMap=e.flatMap=e.mergeAll=e.max=e.materialize=e.mapTo=e.map=e.last=e.isEmpty=e.ignoreElements=e.groupBy=e.first=e.findIndex=e.find=e.finalize=void 0,e.zipWith=e.zipAll=e.withLatestFrom=e.windowWhen=e.windowToggle=e.windowTime=e.windowCount=e.window=e.toArray=e.timestamp=e.timeoutWith=e.timeout=e.timeInterval=e.throwIfEmpty=e.throttleTime=e.throttle=e.tap=e.takeWhile=e.takeUntil=e.takeLast=e.take=e.switchScan=e.switchMapTo=void 0;var r=Jd;Object.defineProperty(e,"Observable",{enumerable:!0,get:function(){return r.Observable}});var o=Mh;Object.defineProperty(e,"ConnectableObservable",{enumerable:!0,get:function(){return o.ConnectableObservable}});var i=bh;Object.defineProperty(e,"observable",{enumerable:!0,get:function(){return i.observable}});var a=Zh;Object.defineProperty(e,"animationFrames",{enumerable:!0,get:function(){return a.animationFrames}});var s=ip;Object.defineProperty(e,"Subject",{enumerable:!0,get:function(){return s.Subject}});var u=gp;Object.defineProperty(e,"BehaviorSubject",{enumerable:!0,get:function(){return u.BehaviorSubject}});var c=_p;Object.defineProperty(e,"ReplaySubject",{enumerable:!0,get:function(){return c.ReplaySubject}});var l=kp;Object.defineProperty(e,"AsyncSubject",{enumerable:!0,get:function(){return l.AsyncSubject}});var f=Cp;Object.defineProperty(e,"asap",{enumerable:!0,get:function(){return f.asap}}),Object.defineProperty(e,"asapScheduler",{enumerable:!0,get:function(){return f.asapScheduler}});var d=Qp;Object.defineProperty(e,"async",{enumerable:!0,get:function(){return d.async}}),Object.defineProperty(e,"asyncScheduler",{enumerable:!0,get:function(){return d.asyncScheduler}});var h=em;Object.defineProperty(e,"queue",{enumerable:!0,get:function(){return h.queue}}),Object.defineProperty(e,"queueScheduler",{enumerable:!0,get:function(){return h.queueScheduler}});var p=am;Object.defineProperty(e,"animationFrame",{enumerable:!0,get:function(){return p.animationFrame}}),Object.defineProperty(e,"animationFrameScheduler",{enumerable:!0,get:function(){return p.animationFrameScheduler}});var m=hm;Object.defineProperty(e,"VirtualTimeScheduler",{enumerable:!0,get:function(){return m.VirtualTimeScheduler}}),Object.defineProperty(e,"VirtualAction",{enumerable:!0,get:function(){return m.VirtualAction}});var g=$p;Object.defineProperty(e,"Scheduler",{enumerable:!0,get:function(){return g.Scheduler}});var y=Zd;Object.defineProperty(e,"Subscription",{enumerable:!0,get:function(){return y.Subscription}});var v=Kd;Object.defineProperty(e,"Subscriber",{enumerable:!0,get:function(){return v.Subscriber}});var _=vm;Object.defineProperty(e,"Notification",{enumerable:!0,get:function(){return _.Notification}}),Object.defineProperty(e,"NotificationKind",{enumerable:!0,get:function(){return _.NotificationKind}});var b=wh;Object.defineProperty(e,"pipe",{enumerable:!0,get:function(){return b.pipe}});var w=ph;Object.defineProperty(e,"noop",{enumerable:!0,get:function(){return w.noop}});var S=Sh;Object.defineProperty(e,"identity",{enumerable:!0,get:function(){return S.identity}});var x=ly;Object.defineProperty(e,"isObservable",{enumerable:!0,get:function(){return x.isObservable}});var k=hy;Object.defineProperty(e,"lastValueFrom",{enumerable:!0,get:function(){return k.lastValueFrom}});var E=gy;Object.defineProperty(e,"firstValueFrom",{enumerable:!0,get:function(){return E.firstValueFrom}});var A=_y;Object.defineProperty(e,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return A.ArgumentOutOfRangeError}});var C=py;Object.defineProperty(e,"EmptyError",{enumerable:!0,get:function(){return C.EmptyError}});var O=by;Object.defineProperty(e,"NotFoundError",{enumerable:!0,get:function(){return O.NotFoundError}});var R=ap;Object.defineProperty(e,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return R.ObjectUnsubscribedError}});var N=wy;Object.defineProperty(e,"SequenceError",{enumerable:!0,get:function(){return N.SequenceError}});var I=Sy;Object.defineProperty(e,"TimeoutError",{enumerable:!0,get:function(){return I.TimeoutError}});var P=Xd;Object.defineProperty(e,"UnsubscriptionError",{enumerable:!0,get:function(){return P.UnsubscriptionError}});var T=ky;Object.defineProperty(e,"bindCallback",{enumerable:!0,get:function(){return T.bindCallback}});var M=Gy;Object.defineProperty(e,"bindNodeCallback",{enumerable:!0,get:function(){return M.bindNodeCallback}});var j=Wy;Object.defineProperty(e,"combineLatest",{enumerable:!0,get:function(){return j.combineLatest}});var F=cv;Object.defineProperty(e,"concat",{enumerable:!0,get:function(){return F.concat}});var L=Ov;Object.defineProperty(e,"connectable",{enumerable:!0,get:function(){return L.connectable}});var D=Rv;Object.defineProperty(e,"defer",{enumerable:!0,get:function(){return D.defer}});var B=_m;Object.defineProperty(e,"empty",{enumerable:!0,get:function(){return B.empty}});var U=Fv;Object.defineProperty(e,"forkJoin",{enumerable:!0,get:function(){return U.forkJoin}});var z=Cm;Object.defineProperty(e,"from",{enumerable:!0,get:function(){return z.from}});var G=Hv;Object.defineProperty(e,"fromEvent",{enumerable:!0,get:function(){return G.fromEvent}});var H=n_;Object.defineProperty(e,"fromEventPattern",{enumerable:!0,get:function(){return H.fromEventPattern}});var W=a_;Object.defineProperty(e,"generate",{enumerable:!0,get:function(){return W.generate}});var V=d_;Object.defineProperty(e,"iif",{enumerable:!0,get:function(){return V.iif}});var $=p_;Object.defineProperty(e,"interval",{enumerable:!0,get:function(){return $.interval}});var J=S_;Object.defineProperty(e,"merge",{enumerable:!0,get:function(){return J.merge}});var K=O_;Object.defineProperty(e,"never",{enumerable:!0,get:function(){return K.never}});var Y=bm;Object.defineProperty(e,"of",{enumerable:!0,get:function(){return Y.of}});var Z=R_;Object.defineProperty(e,"onErrorResumeNext",{enumerable:!0,get:function(){return Z.onErrorResumeNext}});var X=L_;Object.defineProperty(e,"pairs",{enumerable:!0,get:function(){return X.pairs}});var Q=q_;Object.defineProperty(e,"partition",{enumerable:!0,get:function(){return Q.partition}});var ee=$_;Object.defineProperty(e,"race",{enumerable:!0,get:function(){return ee.race}});var te=Q_;Object.defineProperty(e,"range",{enumerable:!0,get:function(){return te.range}});var ne=sy;Object.defineProperty(e,"throwError",{enumerable:!0,get:function(){return ne.throwError}});var re=m_;Object.defineProperty(e,"timer",{enumerable:!0,get:function(){return re.timer}});var oe=nb;Object.defineProperty(e,"using",{enumerable:!0,get:function(){return oe.using}});var ie=ab;Object.defineProperty(e,"zip",{enumerable:!0,get:function(){return ie.zip}});var ae=Om;Object.defineProperty(e,"scheduled",{enumerable:!0,get:function(){return ae.scheduled}});var se=_m;Object.defineProperty(e,"EMPTY",{enumerable:!0,get:function(){return se.EMPTY}});var ue=O_;Object.defineProperty(e,"NEVER",{enumerable:!0,get:function(){return ue.NEVER}}),n(mb,e);var ce=ch;Object.defineProperty(e,"config",{enumerable:!0,get:function(){return ce.config}});var le=gb;Object.defineProperty(e,"audit",{enumerable:!0,get:function(){return le.audit}});var fe=bb;Object.defineProperty(e,"auditTime",{enumerable:!0,get:function(){return fe.auditTime}});var de=kb;Object.defineProperty(e,"buffer",{enumerable:!0,get:function(){return de.buffer}});var he=Rb;Object.defineProperty(e,"bufferCount",{enumerable:!0,get:function(){return he.bufferCount}});var pe=Mb;Object.defineProperty(e,"bufferTime",{enumerable:!0,get:function(){return pe.bufferTime}});var me=Gb;Object.defineProperty(e,"bufferToggle",{enumerable:!0,get:function(){return me.bufferToggle}});var ge=Zb;Object.defineProperty(e,"bufferWhen",{enumerable:!0,get:function(){return ge.bufferWhen}});var ye=nw;Object.defineProperty(e,"catchError",{enumerable:!0,get:function(){return ye.catchError}});var ve=aw;Object.defineProperty(e,"combineAll",{enumerable:!0,get:function(){return ve.combineAll}});var _e=sw;Object.defineProperty(e,"combineLatestAll",{enumerable:!0,get:function(){return _e.combineLatestAll}});var be=Ew;Object.defineProperty(e,"combineLatestWith",{enumerable:!0,get:function(){return be.combineLatestWith}});var we=lv;Object.defineProperty(e,"concatAll",{enumerable:!0,get:function(){return we.concatAll}});var Se=Dw;Object.defineProperty(e,"concatMap",{enumerable:!0,get:function(){return Se.concatMap}});var xe=Uw;Object.defineProperty(e,"concatMapTo",{enumerable:!0,get:function(){return xe.concatMapTo}});var ke=Hw;Object.defineProperty(e,"concatWith",{enumerable:!0,get:function(){return ke.concatWith}});var Ee=tS;Object.defineProperty(e,"connect",{enumerable:!0,get:function(){return Ee.connect}});var Ae=cS;Object.defineProperty(e,"count",{enumerable:!0,get:function(){return Ae.count}});var Ce=fS;Object.defineProperty(e,"debounce",{enumerable:!0,get:function(){return Ce.debounce}});var Oe=gS;Object.defineProperty(e,"debounceTime",{enumerable:!0,get:function(){return Oe.debounceTime}});var Re=bS;Object.defineProperty(e,"defaultIfEmpty",{enumerable:!0,get:function(){return Re.defaultIfEmpty}});var Ne=xS;Object.defineProperty(e,"delay",{enumerable:!0,get:function(){return Ne.delay}});var Ie=kS;Object.defineProperty(e,"delayWhen",{enumerable:!0,get:function(){return Ie.delayWhen}});var Pe=HS;Object.defineProperty(e,"dematerialize",{enumerable:!0,get:function(){return Pe.dematerialize}});var Te=JS;Object.defineProperty(e,"distinct",{enumerable:!0,get:function(){return Te.distinct}});var Me=QS;Object.defineProperty(e,"distinctUntilChanged",{enumerable:!0,get:function(){return Me.distinctUntilChanged}});var je=ox;Object.defineProperty(e,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return je.distinctUntilKeyChanged}});var Fe=ax;Object.defineProperty(e,"elementAt",{enumerable:!0,get:function(){return Fe.elementAt}});var Le=yx;Object.defineProperty(e,"endWith",{enumerable:!0,get:function(){return Le.endWith}});var De=Sx;Object.defineProperty(e,"every",{enumerable:!0,get:function(){return De.every}});var qe=Ex;Object.defineProperty(e,"exhaust",{enumerable:!0,get:function(){return qe.exhaust}});var Be=Ax;Object.defineProperty(e,"exhaustAll",{enumerable:!0,get:function(){return Be.exhaustAll}});var Ue=Cx;Object.defineProperty(e,"exhaustMap",{enumerable:!0,get:function(){return Ue.exhaustMap}});var ze=Mx;Object.defineProperty(e,"expand",{enumerable:!0,get:function(){return ze.expand}});var Ge=U_;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return Ge.filter}});var He=Lx;Object.defineProperty(e,"finalize",{enumerable:!0,get:function(){return He.finalize}});var We=qx;Object.defineProperty(e,"find",{enumerable:!0,get:function(){return We.find}});var Ve=Gx;Object.defineProperty(e,"findIndex",{enumerable:!0,get:function(){return Ve.findIndex}});var $e=Vx;Object.defineProperty(e,"first",{enumerable:!0,get:function(){return $e.first}});var Je=Qx;Object.defineProperty(e,"groupBy",{enumerable:!0,get:function(){return Je.groupBy}});var Ke=RS;Object.defineProperty(e,"ignoreElements",{enumerable:!0,get:function(){return Ke.ignoreElements}});var Ye=ik;Object.defineProperty(e,"isEmpty",{enumerable:!0,get:function(){return Ye.isEmpty}});var Ze=uk;Object.defineProperty(e,"last",{enumerable:!0,get:function(){return Ze.last}});var Xe=Cy;Object.defineProperty(e,"map",{enumerable:!0,get:function(){return Xe.map}});var Qe=TS;Object.defineProperty(e,"mapTo",{enumerable:!0,get:function(){return Qe.mapTo}});var et=bk;Object.defineProperty(e,"materialize",{enumerable:!0,get:function(){return et.materialize}});var tt=kk;Object.defineProperty(e,"max",{enumerable:!0,get:function(){return tt.max}});var nt=fv;Object.defineProperty(e,"mergeAll",{enumerable:!0,get:function(){return nt.mergeAll}});var rt=Ck;Object.defineProperty(e,"flatMap",{enumerable:!0,get:function(){return rt.flatMap}});var ot=dv;Object.defineProperty(e,"mergeMap",{enumerable:!0,get:function(){return ot.mergeMap}});var it=Ok;Object.defineProperty(e,"mergeMapTo",{enumerable:!0,get:function(){return it.mergeMapTo}});var at=Ik;Object.defineProperty(e,"mergeScan",{enumerable:!0,get:function(){return at.mergeScan}});var st=Mk;Object.defineProperty(e,"mergeWith",{enumerable:!0,get:function(){return st.mergeWith}});var ut=Vk;Object.defineProperty(e,"min",{enumerable:!0,get:function(){return ut.min}});var ct=Kk;Object.defineProperty(e,"multicast",{enumerable:!0,get:function(){return ct.multicast}});var lt=yg;Object.defineProperty(e,"observeOn",{enumerable:!0,get:function(){return lt.observeOn}});var ft=Qk;Object.defineProperty(e,"onErrorResumeNextWith",{enumerable:!0,get:function(){return ft.onErrorResumeNextWith}});var dt=iE;Object.defineProperty(e,"pairwise",{enumerable:!0,get:function(){return dt.pairwise}});var ht=uE;Object.defineProperty(e,"pluck",{enumerable:!0,get:function(){return ht.pluck}});var pt=lE;Object.defineProperty(e,"publish",{enumerable:!0,get:function(){return pt.publish}});var mt=pE;Object.defineProperty(e,"publishBehavior",{enumerable:!0,get:function(){return mt.publishBehavior}});var gt=yE;Object.defineProperty(e,"publishLast",{enumerable:!0,get:function(){return gt.publishLast}});var yt=bE;Object.defineProperty(e,"publishReplay",{enumerable:!0,get:function(){return yt.publishReplay}});var vt=kE;Object.defineProperty(e,"raceWith",{enumerable:!0,get:function(){return vt.raceWith}});var _t=lw;Object.defineProperty(e,"reduce",{enumerable:!0,get:function(){return _t.reduce}});var bt=NE;Object.defineProperty(e,"repeat",{enumerable:!0,get:function(){return bt.repeat}});var wt=FE;Object.defineProperty(e,"repeatWhen",{enumerable:!0,get:function(){return wt.repeatWhen}});var St=UE;Object.defineProperty(e,"retry",{enumerable:!0,get:function(){return St.retry}});var xt=$E;Object.defineProperty(e,"retryWhen",{enumerable:!0,get:function(){return xt.retryWhen}});var kt=jh;Object.defineProperty(e,"refCount",{enumerable:!0,get:function(){return kt.refCount}});var Et=XE;Object.defineProperty(e,"sample",{enumerable:!0,get:function(){return Et.sample}});var At=rA;Object.defineProperty(e,"sampleTime",{enumerable:!0,get:function(){return At.sampleTime}});var Ct=sA;Object.defineProperty(e,"scan",{enumerable:!0,get:function(){return Ct.scan}});var Ot=lA;Object.defineProperty(e,"sequenceEqual",{enumerable:!0,get:function(){return Ot.sequenceEqual}});var Rt=pA;Object.defineProperty(e,"share",{enumerable:!0,get:function(){return Rt.share}});var Nt=SA;Object.defineProperty(e,"shareReplay",{enumerable:!0,get:function(){return Nt.shareReplay}});var It=EA;Object.defineProperty(e,"single",{enumerable:!0,get:function(){return It.single}});var Pt=IA;Object.defineProperty(e,"skip",{enumerable:!0,get:function(){return Pt.skip}});var Tt=TA;Object.defineProperty(e,"skipLast",{enumerable:!0,get:function(){return Tt.skipLast}});var Mt=LA;Object.defineProperty(e,"skipUntil",{enumerable:!0,get:function(){return Mt.skipUntil}});var jt=zA;Object.defineProperty(e,"skipWhile",{enumerable:!0,get:function(){return jt.skipWhile}});var Ft=WA;Object.defineProperty(e,"startWith",{enumerable:!0,get:function(){return Ft.startWith}});var Lt=Sg;Object.defineProperty(e,"subscribeOn",{enumerable:!0,get:function(){return Lt.subscribeOn}});var Dt=KA;Object.defineProperty(e,"switchAll",{enumerable:!0,get:function(){return Dt.switchAll}});var qt=YA;Object.defineProperty(e,"switchMap",{enumerable:!0,get:function(){return qt.switchMap}});var Bt=nC;Object.defineProperty(e,"switchMapTo",{enumerable:!0,get:function(){return Bt.switchMapTo}});var Ut=iC;Object.defineProperty(e,"switchScan",{enumerable:!0,get:function(){return Ut.switchScan}});var zt=ES;Object.defineProperty(e,"take",{enumerable:!0,get:function(){return zt.take}});var Gt=ck;Object.defineProperty(e,"takeLast",{enumerable:!0,get:function(){return Gt.takeLast}});var Ht=uC;Object.defineProperty(e,"takeUntil",{enumerable:!0,get:function(){return Ht.takeUntil}});var Wt=hC;Object.defineProperty(e,"takeWhile",{enumerable:!0,get:function(){return Wt.takeWhile}});var Vt=gC;Object.defineProperty(e,"tap",{enumerable:!0,get:function(){return Vt.tap}});var $t=wC;Object.defineProperty(e,"throttle",{enumerable:!0,get:function(){return $t.throttle}});var Jt=EC;Object.defineProperty(e,"throttleTime",{enumerable:!0,get:function(){return Jt.throttleTime}});var Kt=sx;Object.defineProperty(e,"throwIfEmpty",{enumerable:!0,get:function(){return Kt.throwIfEmpty}});var Yt=RC;Object.defineProperty(e,"timeInterval",{enumerable:!0,get:function(){return Yt.timeInterval}});var Zt=Sy;Object.defineProperty(e,"timeout",{enumerable:!0,get:function(){return Zt.timeout}});var Xt=MC;Object.defineProperty(e,"timeoutWith",{enumerable:!0,get:function(){return Xt.timeoutWith}});var Qt=DC;Object.defineProperty(e,"timestamp",{enumerable:!0,get:function(){return Qt.timestamp}});var en=cw;Object.defineProperty(e,"toArray",{enumerable:!0,get:function(){return en.toArray}});var tn=UC;Object.defineProperty(e,"window",{enumerable:!0,get:function(){return tn.window}});var nn=$C;Object.defineProperty(e,"windowCount",{enumerable:!0,get:function(){return nn.windowCount}});var rn=XC;Object.defineProperty(e,"windowTime",{enumerable:!0,get:function(){return rn.windowTime}});var on=sO;Object.defineProperty(e,"windowToggle",{enumerable:!0,get:function(){return on.windowToggle}});var an=gO;Object.defineProperty(e,"windowWhen",{enumerable:!0,get:function(){return an.windowWhen}});var sn=wO;Object.defineProperty(e,"withLatestFrom",{enumerable:!0,get:function(){return sn.withLatestFrom}});var un=NO;Object.defineProperty(e,"zipAll",{enumerable:!0,get:function(){return un.zipAll}});var cn=TO;Object.defineProperty(e,"zipWith",{enumerable:!0,get:function(){return cn.zipWith}})}($d),Object.defineProperty(Vd,"__esModule",{value:!0});var zO=Vd.checkAbortSignal=VO;Vd.abortBreakPoint=function(e){return JO.apply(this,arguments)},Vd.makeAbortError=KO,Vd.observeAbortSignal=function(e){return e?(0,HO.fromEvent)(e,"abort"):HO.Observable.create()};var GO=Vd.isAbortException=function(e){return e instanceof Error&&("AbortError"===e.name||"ERR_ABORTED"===e.code||!!/\b(aborted|aborterror)\b/i.test(e.message))},HO=$d,WO=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n)}(ce(Error));function VO(e){if(e){if(!(e instanceof AbortSignal))throw new TypeError("must pass an AbortSignal");if(e.aborted)throw KO()}}function $O(e){return new Promise((function(t){return setTimeout(t,e)}))}function JO(){return(JO=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,$O(1);case 2:VO(t);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function KO(){if("undefined"!=typeof DOMException)return new DOMException("aborted","AbortError");var e=new WO("aborted");return e.code="ERR_ABORTED",e}var YO={exports:{}};!function(e,t){var n;n=function(){return function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){if(!s&&U)return U(a);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};t[a][0].call(c.exports,(function(e){return o(t[a][1][e]||e)}),c,c.exports,e,t,n,r)}return n[a].exports}for(var i=U,a=0;a<r.length;a++)o(r[a]);return o}({"./aesprim":[function(e,t,n){var r;r=function(e){var t,n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v;function _(e,t){if(!e)throw new Error("ASSERT: "+t)}function b(e){return e>=48&&e<=57}function w(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function S(e){return"01234567".indexOf(e)>=0}function x(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function k(e){return 10===e||13===e||8232===e||8233===e}function E(e){return 64==e||36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&s.NonAsciiIdentifierStart.test(String.fromCharCode(e))}function A(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&s.NonAsciiIdentifierPart.test(String.fromCharCode(e))}function C(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}function O(e){return"eval"===e||"arguments"===e}function R(e,t,n,r,o){var i;_("number"==typeof n,"Comment must have valid position"),y.lastCommentStart>=n||(y.lastCommentStart=n,i={type:e,value:t},v.range&&(i.range=[n,r]),v.loc&&(i.loc=o),v.comments.push(i),v.attachComment&&(v.leadingComments.push(i),v.trailingComments.push(i)))}function N(e){var t,n,r,o;for(t=f-e,n={start:{line:d,column:f-h-e}};f<p;)if(r=c.charCodeAt(f),++f,k(r))return v.comments&&(o=c.slice(t+e,f-1),n.end={line:d,column:f-h-1},R("Line",o,t,f-1,n)),13===r&&10===c.charCodeAt(f)&&++f,++d,void(h=f);v.comments&&(o=c.slice(t+e,f),n.end={line:d,column:f-h},R("Line",o,t,f,n))}function I(){var e,t,n,r;for(v.comments&&(e=f-2,t={start:{line:d,column:f-h-2}});f<p;)if(k(n=c.charCodeAt(f)))13===n&&10===c.charCodeAt(f+1)&&++f,++d,++f,h=f,f>=p&&V({},a.UnexpectedToken,"ILLEGAL");else if(42===n){if(47===c.charCodeAt(f+1))return++f,++f,void(v.comments&&(r=c.slice(e+2,f-2),t.end={line:d,column:f-h},R("Block",r,e,f,t)));++f}else++f;V({},a.UnexpectedToken,"ILLEGAL")}function P(){var e,t;for(t=0===f;f<p;)if(x(e=c.charCodeAt(f)))++f;else if(k(e))++f,13===e&&10===c.charCodeAt(f)&&++f,++d,h=f,t=!0;else if(47===e)if(47===(e=c.charCodeAt(f+1)))++f,++f,N(2),t=!0;else{if(42!==e)break;++f,++f,I()}else if(t&&45===e){if(45!==c.charCodeAt(f+1)||62!==c.charCodeAt(f+2))break;f+=3,N(3)}else{if(60!==e)break;if("!--"!==c.slice(f+1,f+4))break;++f,++f,++f,++f,N(4)}}function T(e){var t,n,r,o=0;for(n="u"===e?4:2,t=0;t<n;++t){if(!(f<p&&w(c[f])))return"";r=c[f++],o=16*o+"0123456789abcdef".indexOf(r.toLowerCase())}return String.fromCharCode(o)}function M(){var e,t;for(e=c.charCodeAt(f++),t=String.fromCharCode(e),92===e&&(117!==c.charCodeAt(f)&&V({},a.UnexpectedToken,"ILLEGAL"),++f,(e=T("u"))&&"\\"!==e&&E(e.charCodeAt(0))||V({},a.UnexpectedToken,"ILLEGAL"),t=e);f<p&&A(e=c.charCodeAt(f));)++f,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==c.charCodeAt(f)&&V({},a.UnexpectedToken,"ILLEGAL"),++f,(e=T("u"))&&"\\"!==e&&A(e.charCodeAt(0))||V({},a.UnexpectedToken,"ILLEGAL"),t+=e);return t}function j(){var e,n,r,o,i=f,s=c.charCodeAt(f),u=c[f];switch(s){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++f,v.tokenize&&(40===s?v.openParenToken=v.tokens.length:123===s&&(v.openCurlyToken=v.tokens.length)),{type:t.Punctuator,value:String.fromCharCode(s),lineNumber:d,lineStart:h,start:i,end:f};default:if(61===(e=c.charCodeAt(f+1)))switch(s){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return f+=2,{type:t.Punctuator,value:String.fromCharCode(s)+String.fromCharCode(e),lineNumber:d,lineStart:h,start:i,end:f};case 33:case 61:return 61===c.charCodeAt(f+=2)&&++f,{type:t.Punctuator,value:c.slice(i,f),lineNumber:d,lineStart:h,start:i,end:f}}}return">>>="===(o=c.substr(f,4))?{type:t.Punctuator,value:o,lineNumber:d,lineStart:h,start:i,end:f+=4}:">>>"===(r=o.substr(0,3))||"<<="===r||">>="===r?{type:t.Punctuator,value:r,lineNumber:d,lineStart:h,start:i,end:f+=3}:u===(n=r.substr(0,2))[1]&&"+-<>&|".indexOf(u)>=0||"=>"===n?{type:t.Punctuator,value:n,lineNumber:d,lineStart:h,start:i,end:f+=2}:"<>=!+-*%&|^/".indexOf(u)>=0?(++f,{type:t.Punctuator,value:u,lineNumber:d,lineStart:h,start:i,end:f}):void V({},a.UnexpectedToken,"ILLEGAL")}function F(){var e,n,r;if(_(b((r=c[f]).charCodeAt(0))||"."===r,"Numeric literal must start with a decimal digit or a decimal point"),n=f,e="","."!==r){if(e=c[f++],r=c[f],"0"===e){if("x"===r||"X"===r)return++f,function(e){for(var n="";f<p&&w(c[f]);)n+=c[f++];return 0===n.length&&V({},a.UnexpectedToken,"ILLEGAL"),E(c.charCodeAt(f))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt("0x"+n,16),lineNumber:d,lineStart:h,start:e,end:f}}(n);if(S(r))return function(e){for(var n="0"+c[f++];f<p&&S(c[f]);)n+=c[f++];return(E(c.charCodeAt(f))||b(c.charCodeAt(f)))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt(n,8),octal:!0,lineNumber:d,lineStart:h,start:e,end:f}}(n);r&&b(r.charCodeAt(0))&&V({},a.UnexpectedToken,"ILLEGAL")}for(;b(c.charCodeAt(f));)e+=c[f++];r=c[f]}if("."===r){for(e+=c[f++];b(c.charCodeAt(f));)e+=c[f++];r=c[f]}if("e"===r||"E"===r)if(e+=c[f++],"+"!==(r=c[f])&&"-"!==r||(e+=c[f++]),b(c.charCodeAt(f)))for(;b(c.charCodeAt(f));)e+=c[f++];else V({},a.UnexpectedToken,"ILLEGAL");return E(c.charCodeAt(f))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseFloat(e),lineNumber:d,lineStart:h,start:n,end:f}}function L(){var e,n,r,o;return g=null,P(),e=f,n=function(){var e,t,n,r;for(_("/"===(e=c[f]),"Regular expression literal must start with a slash"),t=c[f++],n=!1,r=!1;f<p;)if(t+=e=c[f++],"\\"===e)k((e=c[f++]).charCodeAt(0))&&V({},a.UnterminatedRegExp),t+=e;else if(k(e.charCodeAt(0)))V({},a.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){r=!0;break}"["===e&&(n=!0)}return r||V({},a.UnterminatedRegExp),{value:t.substr(1,t.length-2),literal:t}}(),r=function(){var e,t,n,r;for(t="",n="";f<p&&A((e=c[f]).charCodeAt(0));)if(++f,"\\"===e&&f<p)if("u"===(e=c[f])){if(r=++f,e=T("u"))for(n+=e,t+="\\u";r<f;++r)t+=c[r];else f=r,n+="u",t+="\\u";$({},a.UnexpectedToken,"ILLEGAL")}else t+="\\",$({},a.UnexpectedToken,"ILLEGAL");else n+=e,t+=e;return{value:n,literal:t}}(),o=function(e,t){var n;try{n=new RegExp(e,t)}catch(e){V({},a.InvalidRegExp)}return n}(n.value,r.value),v.tokenize?{type:t.RegularExpression,value:o,lineNumber:d,lineStart:h,start:e,end:f}:{literal:n.literal+r.literal,value:o,start:e,end:f}}function D(){var e,t,n,r;return P(),e=f,t={start:{line:d,column:f-h}},n=L(),t.end={line:d,column:f-h},v.tokenize||(v.tokens.length>0&&(r=v.tokens[v.tokens.length-1]).range[0]===e&&"Punctuator"===r.type&&("/"!==r.value&&"/="!==r.value||v.tokens.pop()),v.tokens.push({type:"RegularExpression",value:n.literal,range:[e,f],loc:t})),n}function q(){var e,n,o;return P(),f>=p?{type:t.EOF,lineNumber:d,lineStart:h,start:f,end:f}:E(e=c.charCodeAt(f))?(n=f,o=92===c.charCodeAt(f)?M():function(){var e,t;for(e=f++;f<p;){if(92===(t=c.charCodeAt(f)))return f=e,M();if(!A(t))break;++f}return c.slice(e,f)}(),{type:1===o.length?t.Identifier:function(e){if(l&&C(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}(o)?t.Keyword:"null"===o?t.NullLiteral:"true"===o||"false"===o?t.BooleanLiteral:t.Identifier,value:o,lineNumber:d,lineStart:h,start:n,end:f}):40===e||41===e||59===e?j():39===e||34===e?function(){var e,n,r,o,i,s,u,l,m="",g=!1;for(u=d,l=h,_("'"===(e=c[f])||'"'===e,"String literal must starts with a quote"),n=f,++f;f<p;){if((r=c[f++])===e){e="";break}if("\\"===r)if((r=c[f++])&&k(r.charCodeAt(0)))++d,"\r"===r&&"\n"===c[f]&&++f,h=f;else switch(r){case"u":case"x":s=f,(i=T(r))?m+=i:(f=s,m+=r);break;case"n":m+="\n";break;case"r":m+="\r";break;case"t":m+="\t";break;case"b":m+="\b";break;case"f":m+="\f";break;case"v":m+="\v";break;default:S(r)?(0!==(o="01234567".indexOf(r))&&(g=!0),f<p&&S(c[f])&&(g=!0,o=8*o+"01234567".indexOf(c[f++]),"0123".indexOf(r)>=0&&f<p&&S(c[f])&&(o=8*o+"01234567".indexOf(c[f++]))),m+=String.fromCharCode(o)):m+=r}else{if(k(r.charCodeAt(0)))break;m+=r}}return""!==e&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.StringLiteral,value:m,octal:g,startLineNumber:u,startLineStart:l,lineNumber:d,lineStart:h,start:n,end:f}}():46===e?b(c.charCodeAt(f+1))?F():j():b(e)?F():v.tokenize&&47===e?function(){var e,t;if(!(e=v.tokens[v.tokens.length-1]))return D();if("Punctuator"===e.type){if("]"===e.value)return j();if(")"===e.value)return!(t=v.tokens[v.openParenToken-1])||"Keyword"!==t.type||"if"!==t.value&&"while"!==t.value&&"for"!==t.value&&"with"!==t.value?j():D();if("}"===e.value){if(v.tokens[v.openCurlyToken-3]&&"Keyword"===v.tokens[v.openCurlyToken-3].type){if(!(t=v.tokens[v.openCurlyToken-4]))return j()}else{if(!v.tokens[v.openCurlyToken-4]||"Keyword"!==v.tokens[v.openCurlyToken-4].type)return j();if(!(t=v.tokens[v.openCurlyToken-5]))return D()}return r.indexOf(t.value)>=0?j():D()}return D()}return"Keyword"===e.type?D():j()}():j()}function B(){var e,r,o;return P(),e={start:{line:d,column:f-h}},r=q(),e.end={line:d,column:f-h},r.type!==t.EOF&&(o=c.slice(r.start,r.end),v.tokens.push({type:n[r.type],value:o,range:[r.start,r.end],loc:e})),r}function U(){var e;return f=(e=g).end,d=e.lineNumber,h=e.lineStart,g=void 0!==v.tokens?B():q(),f=e.end,d=e.lineNumber,h=e.lineStart,e}function z(){var e,t,n;e=f,t=d,n=h,g=void 0!==v.tokens?B():q(),f=e,d=t,h=n}function G(e,t){this.line=e,this.column=t}function H(e,t,n,r){this.start=new G(e,t),this.end=new G(n,r)}function W(){var e,t,n,r;return e=f,t=d,n=h,P(),r=d!==t,f=e,d=t,h=n,r}function V(e,t){var n,r=Array.prototype.slice.call(arguments,2),o=t.replace(/%(\d)/g,(function(e,t){return _(t<r.length,"Message reference must be in range"),r[t]}));throw"number"==typeof e.lineNumber?((n=new Error("Line "+e.lineNumber+": "+o)).index=e.start,n.lineNumber=e.lineNumber,n.column=e.start-h+1):((n=new Error("Line "+d+": "+o)).index=f,n.lineNumber=d,n.column=f-h+1),n.description=o,n}function $(){try{V.apply(null,arguments)}catch(e){if(!v.errors)throw e;v.errors.push(e)}}function J(e){if(e.type===t.EOF&&V(e,a.UnexpectedEOS),e.type===t.NumericLiteral&&V(e,a.UnexpectedNumber),e.type===t.StringLiteral&&V(e,a.UnexpectedString),e.type===t.Identifier&&V(e,a.UnexpectedIdentifier),e.type===t.Keyword){if(function(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0;default:return!1}}(e.value))V(e,a.UnexpectedReserved);else if(l&&C(e.value))return void $(e,a.StrictReservedWord);V(e,a.UnexpectedToken,e.value)}V(e,a.UnexpectedToken,e.value)}function K(e){var n=U();n.type===t.Punctuator&&n.value===e||J(n)}function Y(e){var n=U();n.type===t.Keyword&&n.value===e||J(n)}function Z(e){return g.type===t.Punctuator&&g.value===e}function X(e){return g.type===t.Keyword&&g.value===e}function Q(){var e;59===c.charCodeAt(f)||Z(";")?U():(e=d,P(),d===e&&(g.type===t.EOF||Z("}")||J(g)))}function ee(e){return e.type===o.Identifier||e.type===o.MemberExpression}function te(e,t){var n,r,o;return n=l,o=g,r=be(),t&&l&&O(e[0].name)&&$(t,a.StrictParamName),l=n,m.markEnd(m.createFunctionExpression(null,e,[],r),o)}function ne(){var e,n;return n=g,(e=U()).type===t.StringLiteral||e.type===t.NumericLiteral?(l&&e.octal&&$(e,a.StrictOctalLiteral),m.markEnd(m.createLiteral(e),n)):m.markEnd(m.createIdentifier(e.value),n)}function re(){var e,n,r,o,i,s;return s=g,(e=g).type===t.Identifier?(r=ne(),"get"!==e.value||Z(":")?"set"!==e.value||Z(":")?(K(":"),o=de(),m.markEnd(m.createProperty("init",r,o),s)):(n=ne(),K("("),(e=g).type!==t.Identifier?(K(")"),$(e,a.UnexpectedToken,e.value),o=te([])):(i=[me()],K(")"),o=te(i,e)),m.markEnd(m.createProperty("set",n,o),s)):(n=ne(),K("("),K(")"),o=te([]),m.markEnd(m.createProperty("get",n,o),s))):e.type!==t.EOF&&e.type!==t.Punctuator?(n=ne(),K(":"),o=de(),m.markEnd(m.createProperty("init",n,o),s)):void J(e)}function oe(){var e,n,r,s;if(Z("("))return function(){var e;return K("("),e=he(),K(")"),e}();if(Z("["))return function(){var e,t=[];for(e=g,K("[");!Z("]");)Z(",")?(U(),t.push(null)):(t.push(de()),Z("]")||K(","));return U(),m.markEnd(m.createArrayExpression(t),e)}();if(Z("{"))return function(){var e,t,n,r,s,u=[],c={},f=String;for(s=g,K("{");!Z("}");)t=(e=re()).key.type===o.Identifier?e.key.name:f(e.key.value),r="init"===e.kind?i.Data:"get"===e.kind?i.Get:i.Set,n="$"+t,Object.prototype.hasOwnProperty.call(c,n)?(c[n]===i.Data?l&&r===i.Data?$({},a.StrictDuplicateProperty):r!==i.Data&&$({},a.AccessorDataProperty):r===i.Data?$({},a.AccessorDataProperty):c[n]&r&&$({},a.AccessorGetSet),c[n]|=r):c[n]=r,u.push(e),Z("}")||K(",");return K("}"),m.markEnd(m.createObjectExpression(u),s)}();if(s=g,(e=g.type)===t.Identifier)r=m.createIdentifier(U().value);else if(e===t.StringLiteral||e===t.NumericLiteral)l&&g.octal&&$(g,a.StrictOctalLiteral),r=m.createLiteral(U());else if(e===t.Keyword){if(X("function"))return function(){var e,t,n,r,o,i,s,u,c,f=null;return u=g,Y("function"),Z("(")||(e=g,f=me(),l?O(e.value)&&$(e,a.StrictFunctionName):O(e.value)?(n=e,r=a.StrictFunctionName):C(e.value)&&(n=e,r=a.StrictReservedWord)),c=(o=we(n)).params,t=o.stricted,n=o.firstRestricted,o.message&&(r=o.message),s=l,i=be(),l&&n&&V(n,r),l&&t&&$(t,r),l=s,m.markEnd(m.createFunctionExpression(f,c,[],i),u)}();X("this")?(U(),r=m.createThisExpression()):J(U())}else e===t.BooleanLiteral?((n=U()).value="true"===n.value,r=m.createLiteral(n)):e===t.NullLiteral?((n=U()).value=null,r=m.createLiteral(n)):Z("/")||Z("/=")?(r=m.createLiteral(void 0!==v.tokens?D():L()),z()):J(U());return m.markEnd(r,s)}function ie(){var e=[];if(K("("),!Z(")"))for(;f<p&&(e.push(de()),!Z(")"));)K(",");return K(")"),e}function ae(){return K("."),n=g,function(e){return e.type===t.Identifier||e.type===t.Keyword||e.type===t.BooleanLiteral||e.type===t.NullLiteral}(e=U())||J(e),m.markEnd(m.createIdentifier(e.value),n);var e,n}function se(){var e;return K("["),e=he(),K("]"),e}function ue(){var e,t,n;return n=g,Y("new"),e=function(){var e,t,n,r;for(r=g,e=y.allowIn,t=X("new")?ue():oe(),y.allowIn=e;Z(".")||Z("[");)Z("[")?(n=se(),t=m.createMemberExpression("[",t,n)):(n=ae(),t=m.createMemberExpression(".",t,n)),m.markEnd(t,r);return t}(),t=Z("(")?ie():[],m.markEnd(m.createNewExpression(e,t),n)}function ce(){var e,n,r=g;return e=function(){var e,t,n,r,o;for(o=g,e=y.allowIn,y.allowIn=!0,t=X("new")?ue():oe(),y.allowIn=e;;){if(Z("."))r=ae(),t=m.createMemberExpression(".",t,r);else if(Z("("))n=ie(),t=m.createCallExpression(t,n);else{if(!Z("["))break;r=se(),t=m.createMemberExpression("[",t,r)}m.markEnd(t,o)}return t}(),g.type===t.Punctuator&&(!Z("++")&&!Z("--")||W()||(l&&e.type===o.Identifier&&O(e.name)&&$({},a.StrictLHSPostfix),ee(e)||$({},a.InvalidLHSInAssignment),n=U(),e=m.markEnd(m.createPostfixExpression(n.value,e),r))),e}function le(){var e,n,r;return g.type!==t.Punctuator&&g.type!==t.Keyword?n=ce():Z("++")||Z("--")?(r=g,e=U(),n=le(),l&&n.type===o.Identifier&&O(n.name)&&$({},a.StrictLHSPrefix),ee(n)||$({},a.InvalidLHSInAssignment),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):Z("+")||Z("-")||Z("~")||Z("!")?(r=g,e=U(),n=le(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):X("delete")||X("void")||X("typeof")?(r=g,e=U(),n=le(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r),l&&"delete"===n.operator&&n.argument.type===o.Identifier&&$({},a.StrictDelete)):n=ce(),n}function fe(e,n){var r=0;if(e.type!==t.Punctuator&&e.type!==t.Keyword)return 0;switch(e.value){case"||":r=1;break;case"&&":r=2;break;case"|":r=3;break;case"^":r=4;break;case"&":r=5;break;case"==":case"!=":case"===":case"!==":r=6;break;case"<":case">":case"<=":case">=":case"instanceof":r=7;break;case"in":r=n?7:0;break;case"<<":case">>":case">>>":r=8;break;case"+":case"-":r=9;break;case"*":case"/":case"%":r=11}return r}function de(){var e,n,r,i,s,u;return e=g,s=g,i=n=function(){var e,t,n,r,o;return o=g,e=function(){var e,t,n,r,o,i,a,s,u,c;if(e=g,u=le(),0===(o=fe(r=g,y.allowIn)))return u;for(r.prec=o,U(),t=[e,g],i=[u,r,a=le()];(o=fe(g,y.allowIn))>0;){for(;i.length>2&&o<=i[i.length-2].prec;)a=i.pop(),s=i.pop().value,u=i.pop(),n=m.createBinaryExpression(s,u,a),t.pop(),m.markEnd(n,e=t[t.length-1]),i.push(n);(r=U()).prec=o,i.push(r),t.push(g),n=le(),i.push(n)}for(n=i[c=i.length-1],t.pop();c>1;)n=m.createBinaryExpression(i[c-1].value,i[c-2],n),c-=2,e=t.pop(),m.markEnd(n,e);return n}(),Z("?")&&(U(),t=y.allowIn,y.allowIn=!0,n=de(),y.allowIn=t,K(":"),r=de(),e=m.createConditionalExpression(e,n,r),m.markEnd(e,o)),e}(),g.type!==t.Punctuator||"="!==(u=g.value)&&"*="!==u&&"/="!==u&&"%="!==u&&"+="!==u&&"-="!==u&&"<<="!==u&&">>="!==u&&">>>="!==u&&"&="!==u&&"^="!==u&&"|="!==u||(ee(n)||$({},a.InvalidLHSInAssignment),l&&n.type===o.Identifier&&O(n.name)&&$(e,a.StrictLHSAssignment),e=U(),r=de(),i=m.markEnd(m.createAssignmentExpression(e.value,n,r),s)),i}function he(){var e,t=g;if(e=de(),Z(",")){for(e=m.createSequenceExpression([e]);f<p&&Z(",");)U(),e.expressions.push(de());m.markEnd(e,t)}return e}function pe(){var e,t;return t=g,K("{"),e=function(){for(var e,t=[];f<p&&!Z("}")&&void 0!==(e=xe());)t.push(e);return t}(),K("}"),m.markEnd(m.createBlockStatement(e),t)}function me(){var e,n;return n=g,(e=U()).type!==t.Identifier&&J(e),m.markEnd(m.createIdentifier(e.value),n)}function ge(e){var t,n,r=null;return n=g,t=me(),l&&O(t.name)&&$({},a.StrictVarName),"const"===e?(K("="),r=de()):Z("=")&&(U(),r=de()),m.markEnd(m.createVariableDeclarator(t,r),n)}function ye(e){var t=[];do{if(t.push(ge(e)),!Z(","))break;U()}while(f<p);return t}function ve(){var e,t,n,r=[];for(n=g,X("default")?(U(),e=null):(Y("case"),e=he()),K(":");f<p&&!(Z("}")||X("default")||X("case"));)t=_e(),r.push(t);return m.markEnd(m.createSwitchCase(e,r),n)}function _e(){var e,n,r,i,s,u,d,h,v,_,b=g.type;if(b===t.EOF&&J(g),b===t.Punctuator&&"{"===g.value)return pe();if(i=g,b===t.Punctuator)switch(g.value){case";":return m.markEnd((K(";"),m.createEmptyStatement()),i);case"(":return m.markEnd(function(){var e=he();return Q(),m.createExpressionStatement(e)}(),i)}if(b===t.Keyword)switch(g.value){case"break":return m.markEnd((_=null,Y("break"),59===c.charCodeAt(f)?(U(),y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(null)):W()?(y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(null)):(g.type===t.Identifier&&(_=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+_.name)||V({},a.UnknownLabel,_.name)),Q(),null!==_||y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(_))),i);case"continue":return m.markEnd(function(){var e=null;return Y("continue"),59===c.charCodeAt(f)?(U(),y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(null)):W()?(y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(null)):(g.type===t.Identifier&&(e=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+e.name)||V({},a.UnknownLabel,e.name)),Q(),null!==e||y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(e))}(),i);case"debugger":return m.markEnd((Y("debugger"),Q(),m.createDebuggerStatement()),i);case"do":return m.markEnd((Y("do"),v=y.inIteration,y.inIteration=!0,d=_e(),y.inIteration=v,Y("while"),K("("),h=he(),K(")"),Z(";")&&U(),m.createDoWhileStatement(d,h)),i);case"for":return m.markEnd(function(){var e,t,n,r,o,i,s,u,c,l;return e=t=n=null,Y("for"),K("("),Z(";")?U():(X("var")||X("let")?(y.allowIn=!1,l=g,u=U(),c=ye(),e=m.markEnd(m.createVariableDeclaration(c,u.value),l),y.allowIn=!0,1===e.declarations.length&&X("in")&&(U(),r=e,o=he(),e=null)):(y.allowIn=!1,e=he(),y.allowIn=!0,X("in")&&(ee(e)||$({},a.InvalidLHSInForIn),U(),r=e,o=he(),e=null)),void 0===r&&K(";")),void 0===r&&(Z(";")||(t=he()),K(";"),Z(")")||(n=he())),K(")"),s=y.inIteration,y.inIteration=!0,i=_e(),y.inIteration=s,void 0===r?m.createForStatement(e,t,n,i):m.createForInStatement(r,o,i)}(),i);case"function":return m.markEnd(Se(),i);case"if":return m.markEnd(function(){var e,t,n;return Y("if"),K("("),e=he(),K(")"),t=_e(),X("else")?(U(),n=_e()):n=null,m.createIfStatement(e,t,n)}(),i);case"return":return m.markEnd((u=null,Y("return"),y.inFunctionBody||$({},a.IllegalReturn),32===c.charCodeAt(f)&&E(c.charCodeAt(f+1))?(u=he(),Q(),m.createReturnStatement(u)):W()?m.createReturnStatement(null):(Z(";")||Z("}")||g.type===t.EOF||(u=he()),Q(),m.createReturnStatement(u))),i);case"switch":return m.markEnd(function(){var e,t,n,r,o;if(Y("switch"),K("("),e=he(),K(")"),K("{"),t=[],Z("}"))return U(),m.createSwitchStatement(e,t);for(r=y.inSwitch,y.inSwitch=!0,o=!1;f<p&&!Z("}");)null===(n=ve()).test&&(o&&V({},a.MultipleDefaultsInSwitch),o=!0),t.push(n);return y.inSwitch=r,K("}"),m.createSwitchStatement(e,t)}(),i);case"throw":return m.markEnd(function(){var e;return Y("throw"),W()&&V({},a.NewlineAfterThrow),e=he(),Q(),m.createThrowStatement(e)}(),i);case"try":return m.markEnd(function(){var e,t,n,r,o=[],i=null;return Y("try"),e=pe(),X("catch")&&o.push((r=g,Y("catch"),K("("),Z(")")&&J(g),t=me(),l&&O(t.name)&&$({},a.StrictCatchVariable),K(")"),n=pe(),m.markEnd(m.createCatchClause(t,n),r))),X("finally")&&(U(),i=pe()),0!==o.length||i||V({},a.NoCatchOrFinally),m.createTryStatement(e,[],o,i)}(),i);case"var":return m.markEnd((Y("var"),s=ye(),Q(),m.createVariableDeclaration(s,"var")),i);case"while":return m.markEnd(function(){var e,t,n;return Y("while"),K("("),e=he(),K(")"),n=y.inIteration,y.inIteration=!0,t=_e(),y.inIteration=n,m.createWhileStatement(e,t)}(),i);case"with":return m.markEnd(function(){var e,t;return l&&(P(),$({},a.StrictModeWith)),Y("with"),K("("),e=he(),K(")"),t=_e(),m.createWithStatement(e,t)}(),i)}return(e=he()).type===o.Identifier&&Z(":")?(U(),r="$"+e.name,Object.prototype.hasOwnProperty.call(y.labelSet,r)&&V({},a.Redeclaration,"Label",e.name),y.labelSet[r]=!0,n=_e(),delete y.labelSet[r],m.markEnd(m.createLabeledStatement(e,n),i)):(Q(),m.markEnd(m.createExpressionStatement(e),i))}function be(){var e,n,r,i,s,u,d,h,v=[];for(h=g,K("{");f<p&&g.type===t.StringLiteral&&(n=g,e=xe(),v.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(l=!0,r&&$(r,a.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(i=y.labelSet,s=y.inIteration,u=y.inSwitch,d=y.inFunctionBody,y.labelSet={},y.inIteration=!1,y.inSwitch=!1,y.inFunctionBody=!0;f<p&&!Z("}")&&void 0!==(e=xe());)v.push(e);return K("}"),y.labelSet=i,y.inIteration=s,y.inSwitch=u,y.inFunctionBody=d,m.markEnd(m.createBlockStatement(v),h)}function we(e){var t,n,r,o,i,s,u=[];if(K("("),!Z(")"))for(o={};f<p&&(n=g,t=me(),i="$"+n.value,l?(O(n.value)&&(r=n,s=a.StrictParamName),Object.prototype.hasOwnProperty.call(o,i)&&(r=n,s=a.StrictParamDupe)):e||(O(n.value)?(e=n,s=a.StrictParamName):C(n.value)?(e=n,s=a.StrictReservedWord):Object.prototype.hasOwnProperty.call(o,i)&&(e=n,s=a.StrictParamDupe)),u.push(t),o[i]=!0,!Z(")"));)K(",");return K(")"),{params:u,stricted:r,firstRestricted:e,message:s}}function Se(){var e,t,n,r,o,i,s,u,c,f;return f=g,Y("function"),r=g,e=me(),l?O(r.value)&&$(r,a.StrictFunctionName):O(r.value)?(s=r,u=a.StrictFunctionName):C(r.value)&&(s=r,u=a.StrictReservedWord),t=(i=we(s)).params,o=i.stricted,s=i.firstRestricted,i.message&&(u=i.message),c=l,n=be(),l&&s&&V(s,u),l&&o&&$(o,u),l=c,m.markEnd(m.createFunctionDeclaration(e,t,[],n),f)}function xe(){if(g.type===t.Keyword)switch(g.value){case"const":case"let":return r=g,Y(e=g.value),n=ye(e),Q(),m.markEnd(m.createVariableDeclaration(n,e),r);case"function":return Se();default:return _e()}var e,n,r;if(g.type!==t.EOF)return _e()}function ke(){var e,t,n,r=[];for(e=0;e<v.tokens.length;++e)n={type:(t=v.tokens[e]).type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.tokens=r}(n={})[(t={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9}).BooleanLiteral]="Boolean",n[t.EOF]="<end>",n[t.Identifier]="Identifier",n[t.Keyword]="Keyword",n[t.NullLiteral]="Null",n[t.NumericLiteral]="Numeric",n[t.Punctuator]="Punctuator",n[t.StringLiteral]="String",n[t.RegularExpression]="RegularExpression",r=["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="],o={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},i={Data:1,Get:2,Set:4},a={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},s={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},u={name:"SyntaxTree",processComment:function(e){var t,n;if(!(e.type===o.Program&&e.body.length>0)){for(v.trailingComments.length>0?v.trailingComments[0].range[0]>=e.range[1]?(n=v.trailingComments,v.trailingComments=[]):v.trailingComments.length=0:v.bottomRightStack.length>0&&v.bottomRightStack[v.bottomRightStack.length-1].trailingComments&&v.bottomRightStack[v.bottomRightStack.length-1].trailingComments[0].range[0]>=e.range[1]&&(n=v.bottomRightStack[v.bottomRightStack.length-1].trailingComments,delete v.bottomRightStack[v.bottomRightStack.length-1].trailingComments);v.bottomRightStack.length>0&&v.bottomRightStack[v.bottomRightStack.length-1].range[0]>=e.range[0];)t=v.bottomRightStack.pop();t?t.leadingComments&&t.leadingComments[t.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=t.leadingComments,delete t.leadingComments):v.leadingComments.length>0&&v.leadingComments[v.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=v.leadingComments,v.leadingComments=[]),n&&(e.trailingComments=n),v.bottomRightStack.push(e)}},markEnd:function(e,t){return v.range&&(e.range=[t.start,f]),v.loc&&(e.loc=new H(void 0===t.startLineNumber?t.lineNumber:t.startLineNumber,t.start-(void 0===t.startLineStart?t.lineStart:t.startLineStart),d,f-h),this.postProcess(e)),v.attachComment&&this.processComment(e),e},postProcess:function(e){return v.source&&(e.loc.source=v.source),e},createArrayExpression:function(e){return{type:o.ArrayExpression,elements:e}},createAssignmentExpression:function(e,t,n){return{type:o.AssignmentExpression,operator:e,left:t,right:n}},createBinaryExpression:function(e,t,n){return{type:"||"===e||"&&"===e?o.LogicalExpression:o.BinaryExpression,operator:e,left:t,right:n}},createBlockStatement:function(e){return{type:o.BlockStatement,body:e}},createBreakStatement:function(e){return{type:o.BreakStatement,label:e}},createCallExpression:function(e,t){return{type:o.CallExpression,callee:e,arguments:t}},createCatchClause:function(e,t){return{type:o.CatchClause,param:e,body:t}},createConditionalExpression:function(e,t,n){return{type:o.ConditionalExpression,test:e,consequent:t,alternate:n}},createContinueStatement:function(e){return{type:o.ContinueStatement,label:e}},createDebuggerStatement:function(){return{type:o.DebuggerStatement}},createDoWhileStatement:function(e,t){return{type:o.DoWhileStatement,body:e,test:t}},createEmptyStatement:function(){return{type:o.EmptyStatement}},createExpressionStatement:function(e){return{type:o.ExpressionStatement,expression:e}},createForStatement:function(e,t,n,r){return{type:o.ForStatement,init:e,test:t,update:n,body:r}},createForInStatement:function(e,t,n){return{type:o.ForInStatement,left:e,right:t,body:n,each:!1}},createFunctionDeclaration:function(e,t,n,r){return{type:o.FunctionDeclaration,id:e,params:t,defaults:n,body:r,rest:null,generator:!1,expression:!1}},createFunctionExpression:function(e,t,n,r){return{type:o.FunctionExpression,id:e,params:t,defaults:n,body:r,rest:null,generator:!1,expression:!1}},createIdentifier:function(e){return{type:o.Identifier,name:e}},createIfStatement:function(e,t,n){return{type:o.IfStatement,test:e,consequent:t,alternate:n}},createLabeledStatement:function(e,t){return{type:o.LabeledStatement,label:e,body:t}},createLiteral:function(e){return{type:o.Literal,value:e.value,raw:c.slice(e.start,e.end)}},createMemberExpression:function(e,t,n){return{type:o.MemberExpression,computed:"["===e,object:t,property:n}},createNewExpression:function(e,t){return{type:o.NewExpression,callee:e,arguments:t}},createObjectExpression:function(e){return{type:o.ObjectExpression,properties:e}},createPostfixExpression:function(e,t){return{type:o.UpdateExpression,operator:e,argument:t,prefix:!1}},createProgram:function(e){return{type:o.Program,body:e}},createProperty:function(e,t,n){return{type:o.Property,key:t,value:n,kind:e}},createReturnStatement:function(e){return{type:o.ReturnStatement,argument:e}},createSequenceExpression:function(e){return{type:o.SequenceExpression,expressions:e}},createSwitchCase:function(e,t){return{type:o.SwitchCase,test:e,consequent:t}},createSwitchStatement:function(e,t){return{type:o.SwitchStatement,discriminant:e,cases:t}},createThisExpression:function(){return{type:o.ThisExpression}},createThrowStatement:function(e){return{type:o.ThrowStatement,argument:e}},createTryStatement:function(e,t,n,r){return{type:o.TryStatement,block:e,guardedHandlers:t,handlers:n,finalizer:r}},createUnaryExpression:function(e,t){return"++"===e||"--"===e?{type:o.UpdateExpression,operator:e,argument:t,prefix:!0}:{type:o.UnaryExpression,operator:e,argument:t,prefix:!0}},createVariableDeclaration:function(e,t){return{type:o.VariableDeclaration,declarations:e,kind:t}},createVariableDeclarator:function(e,t){return{type:o.VariableDeclarator,id:e,init:t}},createWhileStatement:function(e,t){return{type:o.WhileStatement,test:e,body:t}},createWithStatement:function(e,t){return{type:o.WithStatement,object:e,body:t}}},e.version="1.2.2",e.tokenize=function(e,n){var r;"string"==typeof e||e instanceof String||(e=String(e)),m=u,f=0,d=(c=e).length>0?1:0,h=0,p=c.length,g=null,y={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},v={},(n=n||{}).tokens=!0,v.tokens=[],v.tokenize=!0,v.openParenToken=-1,v.openCurlyToken=-1,v.range="boolean"==typeof n.range&&n.range,v.loc="boolean"==typeof n.loc&&n.loc,"boolean"==typeof n.comment&&n.comment&&(v.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(v.errors=[]);try{if(z(),g.type===t.EOF)return v.tokens;for(U();g.type!==t.EOF;)try{U()}catch(e){if(v.errors){v.errors.push(e);break}throw e}ke(),r=v.tokens,void 0!==v.comments&&(r.comments=v.comments),void 0!==v.errors&&(r.errors=v.errors)}catch(e){throw e}finally{v={}}return r},e.parse=function(e,n){var r,i,s,_;i=String,"string"==typeof e||e instanceof String||(e=i(e)),m=u,f=0,d=(c=e).length>0?1:0,h=0,p=c.length,g=null,y={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},v={},void 0!==n&&(v.range="boolean"==typeof n.range&&n.range,v.loc="boolean"==typeof n.loc&&n.loc,v.attachComment="boolean"==typeof n.attachComment&&n.attachComment,v.loc&&null!=n.source&&(v.source=i(n.source)),"boolean"==typeof n.tokens&&n.tokens&&(v.tokens=[]),"boolean"==typeof n.comment&&n.comment&&(v.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(v.errors=[]),v.attachComment&&(v.range=!0,v.comments=[],v.bottomRightStack=[],v.trailingComments=[],v.leadingComments=[]));try{P(),z(),_=g,l=!1,s=function(){for(var e,n,r,i=[];f<p&&(n=g).type===t.StringLiteral&&(e=xe(),i.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(l=!0,r&&$(r,a.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(;f<p&&void 0!==(e=xe());)i.push(e);return i}(),r=m.markEnd(m.createProgram(s),_),void 0!==v.comments&&(r.comments=v.comments),void 0!==v.tokens&&(ke(),r.tokens=v.tokens),void 0!==v.errors&&(r.errors=v.errors)}catch(e){throw e}finally{v={}}return r},e.Syntax=function(){var e,t={};for(e in"function"==typeof Object.create&&(t=Object.create(null)),o)o.hasOwnProperty(e)&&(t[e]=o[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}()},r(void 0!==n?n:this.esprima={})},{}],1:[function(e,t,n){(function(r){var o=function(){var e={trace:function(){},yy:{},symbols_:{error:2,JSON_PATH:3,DOLLAR:4,PATH_COMPONENTS:5,LEADING_CHILD_MEMBER_EXPRESSION:6,PATH_COMPONENT:7,MEMBER_COMPONENT:8,SUBSCRIPT_COMPONENT:9,CHILD_MEMBER_COMPONENT:10,DESCENDANT_MEMBER_COMPONENT:11,DOT:12,MEMBER_EXPRESSION:13,DOT_DOT:14,STAR:15,IDENTIFIER:16,SCRIPT_EXPRESSION:17,INTEGER:18,END:19,CHILD_SUBSCRIPT_COMPONENT:20,DESCENDANT_SUBSCRIPT_COMPONENT:21,"[":22,SUBSCRIPT:23,"]":24,SUBSCRIPT_EXPRESSION:25,SUBSCRIPT_EXPRESSION_LIST:26,SUBSCRIPT_EXPRESSION_LISTABLE:27,",":28,STRING_LITERAL:29,ARRAY_SLICE:30,FILTER_EXPRESSION:31,QQ_STRING:32,Q_STRING:33,$accept:0,$end:1},terminals_:{2:"error",4:"DOLLAR",12:"DOT",14:"DOT_DOT",15:"STAR",16:"IDENTIFIER",17:"SCRIPT_EXPRESSION",18:"INTEGER",19:"END",22:"[",24:"]",28:",",30:"ARRAY_SLICE",31:"FILTER_EXPRESSION",32:"QQ_STRING",33:"Q_STRING"},productions_:[0,[3,1],[3,2],[3,1],[3,2],[5,1],[5,2],[7,1],[7,1],[8,1],[8,1],[10,2],[6,1],[11,2],[13,1],[13,1],[13,1],[13,1],[13,1],[9,1],[9,1],[20,3],[21,4],[23,1],[23,1],[26,1],[26,3],[27,1],[27,1],[27,1],[25,1],[25,1],[25,1],[29,1],[29,1]],performAction:function(e,n,r,o,i,a,s){o.ast||(o.ast=t,t.initialize());var u=a.length-1;switch(i){case 1:return o.ast.set({expression:{type:"root",value:a[u]}}),o.ast.unshift(),o.ast.yield();case 2:return o.ast.set({expression:{type:"root",value:a[u-1]}}),o.ast.unshift(),o.ast.yield();case 3:return o.ast.unshift(),o.ast.yield();case 4:return o.ast.set({operation:"member",scope:"child",expression:{type:"identifier",value:a[u-1]}}),o.ast.unshift(),o.ast.yield();case 5:case 6:case 11:case 13:case 18:case 21:case 22:case 23:break;case 7:o.ast.set({operation:"member"}),o.ast.push();break;case 8:o.ast.set({operation:"subscript"}),o.ast.push();break;case 9:case 19:o.ast.set({scope:"child"});break;case 10:case 20:o.ast.set({scope:"descendant"});break;case 12:o.ast.set({scope:"child",operation:"member"});break;case 14:o.ast.set({expression:{type:"wildcard",value:a[u]}});break;case 15:o.ast.set({expression:{type:"identifier",value:a[u]}});break;case 16:o.ast.set({expression:{type:"script_expression",value:a[u]}});break;case 17:o.ast.set({expression:{type:"numeric_literal",value:parseInt(a[u])}});break;case 24:a[u].length>1?o.ast.set({expression:{type:"union",value:a[u]}}):this.$=a[u];break;case 25:this.$=[a[u]];break;case 26:this.$=a[u-2].concat(a[u]);break;case 27:this.$={expression:{type:"numeric_literal",value:parseInt(a[u])}},o.ast.set(this.$);break;case 28:this.$={expression:{type:"string_literal",value:a[u]}},o.ast.set(this.$);break;case 29:this.$={expression:{type:"slice",value:a[u]}},o.ast.set(this.$);break;case 30:this.$={expression:{type:"wildcard",value:a[u]}},o.ast.set(this.$);break;case 31:this.$={expression:{type:"script_expression",value:a[u]}},o.ast.set(this.$);break;case 32:this.$={expression:{type:"filter_expression",value:a[u]}},o.ast.set(this.$);break;case 33:case 34:this.$=a[u]}},table:[{3:1,4:[1,2],6:3,13:4,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9]},{1:[3]},{1:[2,1],5:10,7:11,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,3],5:21,7:11,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,12],12:[2,12],14:[2,12],22:[2,12]},{1:[2,14],12:[2,14],14:[2,14],22:[2,14]},{1:[2,15],12:[2,15],14:[2,15],22:[2,15]},{1:[2,16],12:[2,16],14:[2,16],22:[2,16]},{1:[2,17],12:[2,17],14:[2,17],22:[2,17]},{1:[2,18],12:[2,18],14:[2,18],22:[2,18]},{1:[2,2],7:22,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,5],12:[2,5],14:[2,5],22:[2,5]},{1:[2,7],12:[2,7],14:[2,7],22:[2,7]},{1:[2,8],12:[2,8],14:[2,8],22:[2,8]},{1:[2,9],12:[2,9],14:[2,9],22:[2,9]},{1:[2,10],12:[2,10],14:[2,10],22:[2,10]},{1:[2,19],12:[2,19],14:[2,19],22:[2,19]},{1:[2,20],12:[2,20],14:[2,20],22:[2,20]},{13:23,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9]},{13:24,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9],22:[1,25]},{15:[1,29],17:[1,30],18:[1,33],23:26,25:27,26:28,27:32,29:34,30:[1,35],31:[1,31],32:[1,36],33:[1,37]},{1:[2,4],7:22,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,6],12:[2,6],14:[2,6],22:[2,6]},{1:[2,11],12:[2,11],14:[2,11],22:[2,11]},{1:[2,13],12:[2,13],14:[2,13],22:[2,13]},{15:[1,29],17:[1,30],18:[1,33],23:38,25:27,26:28,27:32,29:34,30:[1,35],31:[1,31],32:[1,36],33:[1,37]},{24:[1,39]},{24:[2,23]},{24:[2,24],28:[1,40]},{24:[2,30]},{24:[2,31]},{24:[2,32]},{24:[2,25],28:[2,25]},{24:[2,27],28:[2,27]},{24:[2,28],28:[2,28]},{24:[2,29],28:[2,29]},{24:[2,33],28:[2,33]},{24:[2,34],28:[2,34]},{24:[1,41]},{1:[2,21],12:[2,21],14:[2,21],22:[2,21]},{18:[1,33],27:42,29:34,30:[1,35],32:[1,36],33:[1,37]},{1:[2,22],12:[2,22],14:[2,22],22:[2,22]},{24:[2,26],28:[2,26]}],defaultActions:{27:[2,23],29:[2,30],30:[2,31],31:[2,32]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){var t=[0],n=[null],r=[],o=this.table,i="",a=0,s=0,u=r.slice.call(arguments,1);this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var c=this.lexer.yylloc;r.push(c);var l=this.lexer.options&&this.lexer.options.ranges;this.parseError="function"==typeof this.yy.parseError?this.yy.parseError:Object.getPrototypeOf(this).parseError;for(var f,d,h,p,m,g,y,v,_={};;){if(this.defaultActions[d=t[t.length-1]]?h=this.defaultActions[d]:(null==f&&(v=void 0,"number"!=typeof(v=this.lexer.lex()||1)&&(v=this.symbols_[v]||v),f=v),h=o[d]&&o[d][f]),void 0===h||!h.length||!h[0]){var b;for(m in y=[],o[d])this.terminals_[m]&&m>2&&y.push("'"+this.terminals_[m]+"'");b=this.lexer.showPosition?"Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+y.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(b,{text:this.lexer.match,token:this.terminals_[f]||f,line:this.lexer.yylineno,loc:c,expected:y})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+d+", token: "+f);switch(h[0]){case 1:t.push(f),n.push(this.lexer.yytext),r.push(this.lexer.yylloc),t.push(h[1]),f=null,s=this.lexer.yyleng,i=this.lexer.yytext,a=this.lexer.yylineno,c=this.lexer.yylloc;break;case 2:if(_.$=n[n.length-(g=this.productions_[h[1]][1])],_._$={first_line:r[r.length-(g||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(g||1)].first_column,last_column:r[r.length-1].last_column},l&&(_._$.range=[r[r.length-(g||1)].range[0],r[r.length-1].range[1]]),void 0!==(p=this.performAction.apply(_,[i,s,a,this.yy,h[1],n,r].concat(u))))return p;g&&(t=t.slice(0,-1*g*2),n=n.slice(0,-1*g),r=r.slice(0,-1*g)),t.push(this.productions_[h[1]][0]),n.push(_.$),r.push(_._$),t.push(o[t[t.length-2]][t[t.length-1]]);break;case 3:return!0}}return!0}},t={initialize:function(){this._nodes=[],this._node={},this._stash=[]},set:function(e){for(var t in e)this._node[t]=e[t];return this._node},node:function(e){return arguments.length&&(this._node=e),this._node},push:function(){this._nodes.push(this._node),this._node={}},unshift:function(){this._nodes.unshift(this._node),this._node={}},yield:function(){var e=this._nodes;return this.initialize(),e}},n=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,o;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(o.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in o)this[i]=o[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),i=0;i<o.length;i++)if((n=this._input.match(this.rules[o[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,o[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:return 4;case 1:return 14;case 2:return 12;case 3:return 15;case 4:return 16;case 5:return 22;case 6:return 24;case 7:return 28;case 8:return 30;case 9:return 18;case 10:return t.yytext=t.yytext.substr(1,t.yyleng-2),32;case 11:return t.yytext=t.yytext.substr(1,t.yyleng-2),33;case 12:return 17;case 13:return 31}},rules:[/^(?:\$)/,/^(?:\.\.)/,/^(?:\.)/,/^(?:\*)/,/^(?:[a-zA-Z_]+[a-zA-Z0-9_]*)/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?:((-?(?:0|[1-9][0-9]*)))?\:((-?(?:0|[1-9][0-9]*)))?(\:((-?(?:0|[1-9][0-9]*)))?)?)/,/^(?:(-?(?:0|[1-9][0-9]*)))/,/^(?:"(?:\\["bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^"\\])*")/,/^(?:'(?:\\['bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^'\\])*')/,/^(?:\(.+?\)(?=\]))/,/^(?:\?\(.+?\)(?=\]))/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}};return e}();function r(){this.yy={}}return e.lexer=n,r.prototype=e,e.Parser=r,new r}();void 0!==e&&void 0!==n&&(n.parser=o,n.Parser=o.Parser,n.parse=function(){return o.parse.apply(o,arguments)},n.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),r.exit(1));var o=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return n.parser.parse(o)},void 0!==t&&e.main===t&&n.main(r.argv.slice(1)))}).call(this,e("_process"))},{_process:14,fs:12,path:13}],2:[function(e,t,n){t.exports={identifier:"[a-zA-Z_]+[a-zA-Z0-9_]*",integer:"-?(?:0|[1-9][0-9]*)",qq_string:'"(?:\\\\["bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^"\\\\])*"',q_string:"'(?:\\\\['bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^'\\\\])*'"}},{}],3:[function(e,t,n){var r=e("./dict"),o=e("fs"),i={lex:{macros:{esc:"\\\\",int:r.integer},rules:[["\\$","return 'DOLLAR'"],["\\.\\.","return 'DOT_DOT'"],["\\.","return 'DOT'"],["\\*","return 'STAR'"],[r.identifier,"return 'IDENTIFIER'"],["\\[","return '['"],["\\]","return ']'"],[",","return ','"],["({int})?\\:({int})?(\\:({int})?)?","return 'ARRAY_SLICE'"],["{int}","return 'INTEGER'"],[r.qq_string,"yytext = yytext.substr(1,yyleng-2); return 'QQ_STRING';"],[r.q_string,"yytext = yytext.substr(1,yyleng-2); return 'Q_STRING';"],["\\(.+?\\)(?=\\])","return 'SCRIPT_EXPRESSION'"],["\\?\\(.+?\\)(?=\\])","return 'FILTER_EXPRESSION'"]]},start:"JSON_PATH",bnf:{JSON_PATH:[["DOLLAR",'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],["DOLLAR PATH_COMPONENTS",'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],["LEADING_CHILD_MEMBER_EXPRESSION","yy.ast.unshift(); return yy.ast.yield()"],["LEADING_CHILD_MEMBER_EXPRESSION PATH_COMPONENTS",'yy.ast.set({ operation: "member", scope: "child", expression: { type: "identifier", value: $1 }}); yy.ast.unshift(); return yy.ast.yield()']],PATH_COMPONENTS:[["PATH_COMPONENT",""],["PATH_COMPONENTS PATH_COMPONENT",""]],PATH_COMPONENT:[["MEMBER_COMPONENT",'yy.ast.set({ operation: "member" }); yy.ast.push()'],["SUBSCRIPT_COMPONENT",'yy.ast.set({ operation: "subscript" }); yy.ast.push() ']],MEMBER_COMPONENT:[["CHILD_MEMBER_COMPONENT",'yy.ast.set({ scope: "child" })'],["DESCENDANT_MEMBER_COMPONENT",'yy.ast.set({ scope: "descendant" })']],CHILD_MEMBER_COMPONENT:[["DOT MEMBER_EXPRESSION",""]],LEADING_CHILD_MEMBER_EXPRESSION:[["MEMBER_EXPRESSION",'yy.ast.set({ scope: "child", operation: "member" })']],DESCENDANT_MEMBER_COMPONENT:[["DOT_DOT MEMBER_EXPRESSION",""]],MEMBER_EXPRESSION:[["STAR",'yy.ast.set({ expression: { type: "wildcard", value: $1 } })'],["IDENTIFIER",'yy.ast.set({ expression: { type: "identifier", value: $1 } })'],["SCRIPT_EXPRESSION",'yy.ast.set({ expression: { type: "script_expression", value: $1 } })'],["INTEGER",'yy.ast.set({ expression: { type: "numeric_literal", value: parseInt($1) } })'],["END",""]],SUBSCRIPT_COMPONENT:[["CHILD_SUBSCRIPT_COMPONENT",'yy.ast.set({ scope: "child" })'],["DESCENDANT_SUBSCRIPT_COMPONENT",'yy.ast.set({ scope: "descendant" })']],CHILD_SUBSCRIPT_COMPONENT:[["[ SUBSCRIPT ]",""]],DESCENDANT_SUBSCRIPT_COMPONENT:[["DOT_DOT [ SUBSCRIPT ]",""]],SUBSCRIPT:[["SUBSCRIPT_EXPRESSION",""],["SUBSCRIPT_EXPRESSION_LIST",'$1.length > 1? yy.ast.set({ expression: { type: "union", value: $1 } }) : $$ = $1']],SUBSCRIPT_EXPRESSION_LIST:[["SUBSCRIPT_EXPRESSION_LISTABLE","$$ = [$1]"],["SUBSCRIPT_EXPRESSION_LIST , SUBSCRIPT_EXPRESSION_LISTABLE","$$ = $1.concat($3)"]],SUBSCRIPT_EXPRESSION_LISTABLE:[["INTEGER",'$$ = { expression: { type: "numeric_literal", value: parseInt($1) } }; yy.ast.set($$)'],["STRING_LITERAL",'$$ = { expression: { type: "string_literal", value: $1 } }; yy.ast.set($$)'],["ARRAY_SLICE",'$$ = { expression: { type: "slice", value: $1 } }; yy.ast.set($$)']],SUBSCRIPT_EXPRESSION:[["STAR",'$$ = { expression: { type: "wildcard", value: $1 } }; yy.ast.set($$)'],["SCRIPT_EXPRESSION",'$$ = { expression: { type: "script_expression", value: $1 } }; yy.ast.set($$)'],["FILTER_EXPRESSION",'$$ = { expression: { type: "filter_expression", value: $1 } }; yy.ast.set($$)']],STRING_LITERAL:[["QQ_STRING","$$ = $1"],["Q_STRING","$$ = $1"]]}};o.readFileSync&&(i.moduleInclude=o.readFileSync(e.resolve("../include/module.js")),i.actionInclude=o.readFileSync(e.resolve("../include/action.js"))),t.exports=i},{"./dict":2,fs:12}],4:[function(e,t,n){var r=e("./aesprim"),o=e("./slice"),i=e("static-eval"),a=e("underscore").uniq,s=function(){return this.initialize.apply(this,arguments)};function u(t,n,o){var i=e("./index"),a=h(r.parse(n).body[0].expression,{"@":t.value}),s=o.replace(/\{\{\s*value\s*\}\}/g,a),u=i.nodes(t.value,s);return u.forEach((function(e){e.path=t.path.concat(e.path.slice(1))})),u}function c(e){return Array.isArray(e)}function l(e){return function(t,n,r,o){var i=t.value,a=t.path,s=[],u=function(t,i){var a;c(t)?(t.forEach((function(e,t){s.length>=o||r(t,e,n)&&s.push({path:i.concat(t),value:e})})),t.forEach((function(t,n){s.length>=o||e&&u(t,i.concat(n))}))):(a=t)&&!(a instanceof Array)&&a instanceof Object&&(this.keys(t).forEach((function(e){s.length>=o||r(e,t[e],n)&&s.push({path:i.concat(e),value:t[e]})})),this.keys(t).forEach((function(n){s.length>=o||e&&u(t[n],i.concat(n))})))}.bind(this);return u(i,a),s}}function f(e){return function(t,n,r){return this.descend(n,t.expression.value,e,r)}}function d(e){return function(t,n,r){return this.traverse(n,t.expression.value,e,r)}}function h(){try{return i.apply(this,arguments)}catch(e){}}function p(e){return e=e.filter((function(e){return e})),a(e,(function(e){return e.path.map((function(e){return String(e).replace("-","--")})).join("-")}))}function m(e){var t=String(e);return t.match(/^-?[0-9]+$/)?parseInt(t):null}s.prototype.initialize=function(){this.traverse=l(!0),this.descend=l()},s.prototype.keys=Object.keys,s.prototype.resolve=function(e){var t=[e.operation,e.scope,e.expression.type].join("-"),n=this._fns[t];if(!n)throw new Error("couldn't resolve key: "+t);return n.bind(this)},s.prototype.register=function(e,t){if(!t instanceof Function)throw new Error("handler must be a function");this._fns[e]=t},s.prototype._fns={"member-child-identifier":function(e,t){var n=e.expression.value,r=t.value;if(r instanceof Object&&n in r)return[{value:r[n],path:t.path.concat(n)}]},"member-descendant-identifier":d((function(e,t,n){return e==n})),"subscript-child-numeric_literal":f((function(e,t,n){return e===n})),"member-child-numeric_literal":f((function(e,t,n){return String(e)===String(n)})),"subscript-descendant-numeric_literal":d((function(e,t,n){return e===n})),"member-child-wildcard":f((function(){return!0})),"member-descendant-wildcard":d((function(){return!0})),"subscript-descendant-wildcard":d((function(){return!0})),"subscript-child-wildcard":f((function(){return!0})),"subscript-child-slice":function(e,t){if(c(t.value)){var n=e.expression.value.split(":").map(m),r=t.value.map((function(e,n){return{value:e,path:t.path.concat(n)}}));return o.apply(null,[r].concat(n))}},"subscript-child-union":function(e,t){var n=[];return e.expression.value.forEach((function(e){var r={operation:"subscript",scope:"child",expression:e.expression},o=this.resolve(r)(r,t);o&&(n=n.concat(o))}),this),p(n)},"subscript-descendant-union":function(t,n,r){var o=e(".."),i=this,a=[];return o.nodes(n,"$..*").slice(1).forEach((function(e){a.length>=r||t.expression.value.forEach((function(t){var n={operation:"subscript",scope:"child",expression:t.expression},r=i.resolve(n)(n,e);a=a.concat(r)}))})),p(a)},"subscript-child-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),i=r.parse(o).body[0].expression;return this.descend(t,null,(function(e,t){return h(i,{"@":t})}),n)},"subscript-descendant-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),i=r.parse(o).body[0].expression;return this.traverse(t,null,(function(e,t){return h(i,{"@":t})}),n)},"subscript-child-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$[{{value}}]")},"member-child-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$.{{value}}")},"member-descendant-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$..value")}},s.prototype._fns["subscript-child-string_literal"]=s.prototype._fns["member-child-identifier"],s.prototype._fns["member-descendant-numeric_literal"]=s.prototype._fns["subscript-descendant-string_literal"]=s.prototype._fns["member-descendant-identifier"],t.exports=s},{"..":"jsonpath","./aesprim":"./aesprim","./index":5,"./slice":7,"static-eval":15,underscore:12}],5:[function(e,t,n){var r=e("assert"),o=e("./dict"),i=e("./parser"),a=e("./handlers"),s=function(){this.initialize.apply(this,arguments)};function u(e){return"[object String]"==Object.prototype.toString.call(e)}s.prototype.initialize=function(){this.parser=new i,this.handlers=new a},s.prototype.parse=function(e){return r.ok(u(e),"we need a path"),this.parser.parse(e)},s.prototype.parent=function(e,t){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path");var n=this.nodes(e,t)[0];return n.path.pop(),this.value(e,n.path)},s.prototype.apply=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),r.equal(Z(n),"function","fn needs to be function");var o=this.nodes(e,t).sort((function(e,t){return t.path.length-e.path.length}));return o.forEach((function(t){var r=t.path.pop(),o=this.value(e,this.stringify(t.path)),i=t.value=n.call(e,o[r]);o[r]=i}),this),o},s.prototype.value=function(e,t,n){if(r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),arguments.length>=3){var o=this.nodes(e,t).shift();if(!o)return this._vivify(e,t,n);var i=o.path.slice(-1).shift();this.parent(e,this.stringify(o.path))[i]=n}return this.query(e,this.stringify(t),1).shift()},s.prototype._vivify=function(e,t,n){var o=this;return r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),function t(n,r){var i=n.pop(),a=o.value(e,n);a||(t(n.concat(),"string"==typeof i?{}:[]),a=o.value(e,n)),a[i]=r}(this.parser.parse(t).map((function(e){return e.expression.value})),n),this.query(e,t)[0]},s.prototype.query=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(u(t),"we need a path");var o=this.nodes(e,t,n).map((function(e){return e.value}));return o},s.prototype.paths=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path");var o=this.nodes(e,t,n).map((function(e){return e.path}));return o},s.prototype.nodes=function(e,t,n){if(r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),0===n)return[];var o=this.parser.parse(t),i=this.handlers,a=[{path:["$"],value:e}],s=[];return o.length&&"root"==o[0].expression.type&&o.shift(),o.length?(o.forEach((function(e,t){if(!(s.length>=n)){var r=i.resolve(e),u=[];a.forEach((function(i){if(!(s.length>=n)){var a=r(e,i,n);t==o.length-1?s=s.concat(a||[]):u=u.concat(a||[])}})),a=u}})),n?s.slice(0,n):s):a},s.prototype.stringify=function(e){r.ok(e,"we need a path");var t="$",n={"descendant-member":"..{{value}}","child-member":".{{value}}","descendant-subscript":"..[{{value}}]","child-subscript":"[{{value}}]"};return(e=this._normalize(e)).forEach((function(e){if("root"!=e.expression.type){var r,o=[e.scope,e.operation].join("-"),i=n[o];if(r="string_literal"==e.expression.type?JSON.stringify(e.expression.value):e.expression.value,!i)throw new Error("couldn't find template "+o);t+=i.replace(/{{value}}/,r)}})),t},s.prototype._normalize=function(e){if(r.ok(e,"we need a path"),"string"==typeof e)return this.parser.parse(e);if(Array.isArray(e)&&"string"==typeof e[0]){var t=[{expression:{type:"root",value:"$"}}];return e.forEach((function(e,n){"$"==e&&0===n||("string"==typeof e&&e.match("^"+o.identifier+"$")?t.push({operation:"member",scope:"child",expression:{value:e,type:"identifier"}}):t.push({operation:"subscript",scope:"child",expression:{value:e,type:"number"==typeof e?"numeric_literal":"string_literal"}}))})),t}if(Array.isArray(e)&&"object"==Z(e[0]))return e;throw new Error("couldn't understand path "+e)},s.Handlers=a,s.Parser=i;var c=new s;c.JSONPath=s,t.exports=c},{"./dict":2,"./handlers":4,"./parser":6,assert:8}],6:[function(e,t,n){var r=e("./grammar"),o=e("../generated/parser"),i=function(){var e=new o.Parser,t=e.parseError;return e.yy.parseError=function(){e.yy.ast&&e.yy.ast.initialize(),t.apply(e,arguments)},e};i.grammar=r,t.exports=i},{"../generated/parser":1,"./grammar":3}],7:[function(e,t,n){function r(e){return String(e).match(/^[0-9]+$/)?parseInt(e):Number.isFinite(e)?parseInt(e,10):0}t.exports=function(e,t,n,o){if("string"==typeof t)throw new Error("start cannot be a string");if("string"==typeof n)throw new Error("end cannot be a string");if("string"==typeof o)throw new Error("step cannot be a string");var i=e.length;if(0===o)throw new Error("step cannot be zero");if(o=o?r(o):1,n=n<0?i+n:n,t=r(0===(t=t<0?i+t:t)?0:t||(o>0?0:i-1)),n=r(0===n?0:n||(o>0?i:-1)),t=o>0?Math.max(0,t):Math.min(i,t),n=o>0?Math.min(n,i):Math.max(-1,n),o>0&&n<=t)return[];if(o<0&&t<=n)return[];for(var a=[],s=t;s!=n&&!(o<0&&s<=n||o>0&&s>=n);s+=o)a.push(e[s]);return a}},{}],8:[function(e,t,n){var r=e("util/"),o=Array.prototype.slice,i=Object.prototype.hasOwnProperty,a=t.exports=l;function s(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&!isFinite(t)||r.isFunction(t)||r.isRegExp(t)?t.toString():t}function u(e,t){return r.isString(e)?e.length<t?e:e.slice(0,t):e}function c(e,t,n,r,o){throw new a.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:o})}function l(e,t){e||c(e,!0,t,"==",a.ok)}function f(e,t){if(e===t)return!0;if(r.isBuffer(e)&&r.isBuffer(t)){if(e.length!=t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return r.isDate(e)&&r.isDate(t)?e.getTime()===t.getTime():r.isRegExp(e)&&r.isRegExp(t)?e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase:r.isObject(e)||r.isObject(t)?function(e,t){if(r.isNullOrUndefined(e)||r.isNullOrUndefined(t))return!1;if(e.prototype!==t.prototype)return!1;if(r.isPrimitive(e)||r.isPrimitive(t))return e===t;var n=d(e),i=d(t);if(n&&!i||!n&&i)return!1;if(n)return f(e=o.call(e),t=o.call(t));var a,s,u=m(e),c=m(t);if(u.length!=c.length)return!1;for(u.sort(),c.sort(),s=u.length-1;s>=0;s--)if(u[s]!=c[s])return!1;for(s=u.length-1;s>=0;s--)if(!f(e[a=u[s]],t[a]))return!1;return!0}(e,t):e==t}function d(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function h(e,t){return!(!e||!t)&&("[object RegExp]"==Object.prototype.toString.call(t)?t.test(e):e instanceof t||!0===t.call({},e))}function p(e,t,n,o){var i;r.isString(n)&&(o=n,n=null);try{t()}catch(e){i=e}if(o=(n&&n.name?" ("+n.name+").":".")+(o?" "+o:"."),e&&!i&&c(i,n,"Missing expected exception"+o),!e&&h(i,n)&&c(i,n,"Got unwanted exception"+o),e&&i&&n&&!h(i,n)||!e&&i)throw i}a.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return u(JSON.stringify(e.actual,s),128)+" "+e.operator+" "+u(JSON.stringify(e.expected,s),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||c;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,o=r.indexOf("\n"+t.name);if(o>=0){var i=r.indexOf("\n",o+1);r=r.substring(i+1)}this.stack=r}}},r.inherits(a.AssertionError,Error),a.fail=c,a.ok=l,a.equal=function(e,t,n){e!=t&&c(e,t,n,"==",a.equal)},a.notEqual=function(e,t,n){e==t&&c(e,t,n,"!=",a.notEqual)},a.deepEqual=function(e,t,n){f(e,t)||c(e,t,n,"deepEqual",a.deepEqual)},a.notDeepEqual=function(e,t,n){f(e,t)&&c(e,t,n,"notDeepEqual",a.notDeepEqual)},a.strictEqual=function(e,t,n){e!==t&&c(e,t,n,"===",a.strictEqual)},a.notStrictEqual=function(e,t,n){e===t&&c(e,t,n,"!==",a.notStrictEqual)},a.throws=function(e,t,n){p.apply(this,[!0].concat(o.call(arguments)))},a.doesNotThrow=function(e,t){p.apply(this,[!1].concat(o.call(arguments)))},a.ifError=function(e){if(e)throw e};var m=Object.keys||function(e){var t=[];for(var n in e)i.call(e,n)&&t.push(n);return t}},{"util/":11}],9:[function(e,t,n){t.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},{}],10:[function(e,t,n){t.exports=function(e){return e&&"object"===Z(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},{}],11:[function(e,t,n){(function(t,r){var o=/%[sdj%]/g;n.format=function(e){if(!y(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,i=r.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),u=r[n];n<i;u=r[++n])m(u)||!b(u)?a+=" "+u:a+=" "+s(u);return a},n.deprecate=function(e,o){if(v(r.process))return function(){return n.deprecate(e,o).apply(this,arguments)};if(!0===t.noDeprecation)return e;var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(o);t.traceDeprecation?console.trace(o):console.error(o),i=!0}return e.apply(this,arguments)}};var i,a={};function s(e,t){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(t)?r.showHidden=t:t&&n._extend(r,t),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),l(r,e,r.depth)}function u(e,t){var n=s.styles[t];return n?"["+s.colors[n][0]+"m"+e+"["+s.colors[n][1]+"m":e}function c(e,t){return e}function l(e,t,r){if(e.customInspect&&t&&x(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var o=t.inspect(r,e);return y(o)||(o=l(e,o,r)),o}var i=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(e,t);if(i)return i;var a=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),S(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(t);if(0===a.length){if(x(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(_(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(w(t))return e.stylize(Date.prototype.toString.call(t),"date");if(S(t))return f(t)}var u,c="",b=!1,k=["{","}"];return h(t)&&(b=!0,k=["[","]"]),x(t)&&(c=" [Function"+(t.name?": "+t.name:"")+"]"),_(t)&&(c=" "+RegExp.prototype.toString.call(t)),w(t)&&(c=" "+Date.prototype.toUTCString.call(t)),S(t)&&(c=" "+f(t)),0!==a.length||b&&0!=t.length?r<0?_(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),u=b?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)C(t,String(a))?i.push(d(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(d(e,t,n,r,o,!0))})),i}(e,t,r,s,a):a.map((function(n){return d(e,t,r,s,n,b)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(u,c,k)):k[0]+c+k[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,o,i){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(u.set?"[Getter/Setter]":"[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),C(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(u.value)<0?(s=m(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function _(e){return b(e)&&"[object RegExp]"===k(e)}function b(e){return"object"===Z(e)&&null!==e}function w(e){return b(e)&&"[object Date]"===k(e)}function S(e){return b(e)&&("[object Error]"===k(e)||e instanceof Error)}function x(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function E(e){return e<10?"0"+e.toString(10):e.toString(10)}n.debuglog=function(e){if(v(i)&&(i=t.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=t.pid;a[e]=function(){var t=n.format.apply(n,arguments);console.error("%s %d: %s",e,r,t)}}else a[e]=function(){};return a[e]},n.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=h,n.isBoolean=p,n.isNull=m,n.isNullOrUndefined=function(e){return null==e},n.isNumber=g,n.isString=y,n.isSymbol=function(e){return"symbol"===Z(e)},n.isUndefined=v,n.isRegExp=_,n.isObject=b,n.isDate=w,n.isError=S,n.isFunction=x,n.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===Z(e)||void 0===e},n.isBuffer=e("./support/isBuffer");var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.log=function(){var e,t;console.log("%s - %s",(t=[E((e=new Date).getHours()),E(e.getMinutes()),E(e.getSeconds())].join(":"),[e.getDate(),A[e.getMonth()],t].join(" ")),n.format.apply(n,arguments))},n.inherits=e("inherits"),n._extend=function(e,t){if(!t||!b(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(this,e("_process"),void 0!==q?q:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":10,_process:14,inherits:9}],12:[function(e,t,n){},{}],13:[function(e,t,n){(function(e){function t(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}n.resolve=function(){for(var n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var a=i>=0?arguments[i]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,o="/"===a.charAt(0))}return(o?"/":"")+(n=t(r(n.split("/"),(function(e){return!!e})),!o).join("/"))||"."},n.normalize=function(e){var i=n.isAbsolute(e),a="/"===o(e,-1);return(e=t(r(e.split("/"),(function(e){return!!e})),!i).join("/"))||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),a=Math.min(o.length,i.length),s=a,u=0;u<a;u++)if(o[u]!==i[u]){s=u;break}var c=[];for(u=s;u<o.length;u++)c.push("..");return(c=c.concat(i.slice(s))).join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,r=-1,o=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!o){r=i;break}}else o=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},n.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,r=-1,o=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!o){n=t+1;break}}else-1===r&&(o=!1,r=t+1);return-1===r?"":e.slice(n,r)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,r=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(47!==s)-1===r&&(o=!1,r=a+1),46===s?-1===t?t=a:1!==i&&(i=1):-1!==t&&(i=-1);else if(!o){n=a+1;break}}return-1===t||-1===r||0===i||1===i&&t===r-1&&t===n+1?"":e.slice(t,r)};var o="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,e("_process"))},{_process:14}],14:[function(e,t,n){var r,o,i=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(e){r=a}try{o="function"==typeof clearTimeout?clearTimeout:s}catch(e){o=s}}();var c,l=[],f=!1,d=-1;function h(){f&&c&&(f=!1,c.length?l=c.concat(l):d=-1,l.length&&p())}function p(){if(!f){var e=u(h);f=!0;for(var t=l.length;t;){for(c=l,l=[];++d<t;)c&&c[d].run();d=-1,t=l.length}c=null,f=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===s||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{return o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new m(e,t)),1!==l.length||f||u(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],15:[function(e,t,n){var r=e("escodegen").generate;t.exports=function(e,t){t||(t={});var n={},o=function e(o,i){if("Literal"===o.type)return o.value;if("UnaryExpression"===o.type){var a=e(o.argument);return"+"===o.operator?+a:"-"===o.operator?-a:"~"===o.operator?~a:"!"===o.operator?!a:n}if("ArrayExpression"===o.type){for(var s=[],u=0,c=o.elements.length;u<c;u++){if((y=e(o.elements[u]))===n)return n;s.push(y)}return s}if("ObjectExpression"===o.type){var l={};for(u=0;u<o.properties.length;u++){var f=null===(v=o.properties[u]).value?v.value:e(v.value);if(f===n)return n;l[v.key.value||v.key.name]=f}return l}if("BinaryExpression"===o.type||"LogicalExpression"===o.type){if((c=e(o.left))===n)return n;var d=e(o.right);if(d===n)return n;var h=o.operator;return"=="===h?c==d:"==="===h?c===d:"!="===h?c!=d:"!=="===h?c!==d:"+"===h?c+d:"-"===h?c-d:"*"===h?c*d:"/"===h?c/d:"%"===h?c%d:"<"===h?c<d:"<="===h?c<=d:">"===h?c>d:">="===h?c>=d:"|"===h?c|d:"&"===h?c&d:"^"===h?c^d:"&&"===h?c&&d:"||"===h?c||d:n}if("Identifier"===o.type)return{}.hasOwnProperty.call(t,o.name)?t[o.name]:n;if("ThisExpression"===o.type)return{}.hasOwnProperty.call(t,"this")?t.this:n;if("CallExpression"===o.type){var p=e(o.callee);if(p===n)return n;if("function"!=typeof p)return n;var m=o.callee.object?e(o.callee.object):n;m===n&&(m=null);var g=[];for(u=0,c=o.arguments.length;u<c;u++){var y;if((y=e(o.arguments[u]))===n)return n;g.push(y)}return p.apply(m,g)}var v;if("MemberExpression"===o.type)return(l=e(o.object))===n||"function"==typeof l?n:"Identifier"===o.property.type?l[o.property.name]:(v=e(o.property))===n?n:l[v];if("ConditionalExpression"===o.type)return(a=e(o.test))===n?n:e(a?o.consequent:o.alternate);if("ExpressionStatement"===o.type)return(a=e(o.expression))===n?n:a;if("ReturnStatement"===o.type)return e(o.argument);if("FunctionExpression"===o.type){var _=o.body.body,b={};for(Object.keys(t).forEach((function(e){b[e]=t[e]})),u=0;u<o.params.length;u++){var w=o.params[u];if("Identifier"!=w.type)return n;t[w.name]=null}for(var u in _)if(e(_[u])===n)return n;t=b;var S=Object.keys(t),x=S.map((function(e){return t[e]}));return Function(S.join(", "),"return "+r(o)).apply(null,x)}if("TemplateLiteral"===o.type){var k="";for(u=0;u<o.expressions.length;u++)k+=e(o.quasis[u]),k+=e(o.expressions[u]);return k+e(o.quasis[u])}if("TaggedTemplateExpression"===o.type){var E=e(o.tag),A=o.quasi,C=A.quasis.map(e),O=A.expressions.map(e);return E.apply(null,[C].concat(O))}return"TemplateElement"===o.type?o.value.cooked:n}(e);return o===n?void 0:o}},{escodegen:12}],jsonpath:[function(e,t,n){t.exports=e("./lib/index")},{"./lib/index":5}]},{},["jsonpath"])("jsonpath")},e.exports=n()}(YO);var ZO=YO.exports;const XO=new Set(["i","me","my","myself","we","our","ours","ourselves","you","your","yours","yourself","yourselves","he","him","his","himself","she","her","hers","herself","it","its","itself","they","them","their","theirs","themselves","what","which","who","whom","this","that","these","those","am","is","are","was","were","be","been","being","have","has","had","having","do","does","did","doing","a","an","the","and","but","if","or","because","as","until","while","of","at","by","for","with","about","against","between","into","through","during","before","after","above","below","to","from","up","down","in","out","on","off","over","under","again","further","then","once","here","there","when","where","why","how","all","any","both","each","few","more","most","other","some","such","no","nor","not","only","own","same","so","than","too","very","s","t","can","will","just","don","should","now",..."1234567890"]);function QO(e,t){for(const[n,r]of t.entries())if(e.startsWith(r))return e.replace(r,n);return e}const eR="$PREFIXED_ID";function tR(e,t,n){return t===eR?[QO(e.id,n)]:ZO.query(e,t)}function nR(e){return e.toLowerCase().split(/[^\d:A-Za-z]+/).filter((e=>e&&!XO.has(e)))}function*rR(e){for(const t of e)yield*nR(t)}function*oR(e){for(const t of e)if("string"==typeof t)yield t;else if("object"==typeof t){const e=ZO.query(t,"$..*");yield*oR(e)}}function*iR(e,t,n){for(const r of t){const t=tR(e,r,n);if(t.length>0)for(const e of rR(oR(t)))yield[r,e]}}async function aR(e,t,n){const r=await this.db,o=t??r.transaction(["nodes"]);zO(n);const i=[...nR(e)],a=[],s=new Map;a.push(...i.map((async(e,t)=>{zO(n);const r=o.objectStore("nodes").index("full-text-words");for await(const o of r.iterate(IDBKeyRange.bound(e,`${e}￿`,!1,!1))){zO(n);const e=o.value,r=s.get(e.id)??[e,new Set];r[1].add(t),s.set(e.id,r)}}))),await Promise.all(a),zO(n);const u=[];for(const[,[e,t]]of s)zO(n),u.push(...sR(this.textIndexFields,e,t,i,this.prefixes));return u.sort(((e,t)=>t.score-e.score)),u.slice(0,this.options.maxSearchResults??this.DEFAULT_MAX_SEARCH_RESULTS)}function sR(e,t,n,r,o){const i=[...n].sort().map((e=>r[e])),a=i.map((e=>{const t=e.replaceAll(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`);return new RegExp(`\\b${t}`,"gi")}));let s=[],u=0;for(const[n,i]of e.entries()){const c=new Set,l=e.length-n-1,f=[...oR(tR(t,i.jsonPath,o))];for(const e of f){let n=0;const o=[];for(const[t,i]of a.entries())for(const a of e.matchAll(i)){n+=1+1*l,c.add(t);const i=a.index,s=r[t];void 0!==i&&(n+=.01*s.length,n+=s.length/e.length*100*.05,o.push({wordIndex:t,position:i}))}n+=100*c.size,u<n&&(u=n),o.sort(((e,t)=>e.position-t.position)),o.length>0&&s.push({term:t,field:i,str:e,score:n,wordMatches:o})}}s=s.filter((e=>e.score===u));for(const e of s){const{wordMatches:t}=e;for(let n=0;n<t.length-1;n++){const r=t[n],o=t[n+1],a=o.wordIndex-r.wordIndex;if(1===a||-1===a){e.score+=1,1===a&&(e.score+=1);const t=Math.abs(o.position-(r.position+i[r.wordIndex].length))-1;e.score-=.05*t}}}return s}function uR(e){return"string"==typeof e.id}function cR(e){return"string"==typeof e.sub&&"string"==typeof e.pred&&"string"==typeof e.obj}function lR(e){return Boolean(e.meta?.deprecated)}var fR=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==Z(t)&&"object"==Z(n)){if(t.constructor!==n.constructor)return!1;var r,o,i;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(!e(t[o],n[o]))return!1;return!0}if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;var a,s=we(t.entries());try{for(s.s();!(a=s.n()).done;)if(!n.has((o=a.value)[0]))return!1}catch(e){s.e(e)}finally{s.f()}var u,c=we(t.entries());try{for(c.s();!(u=c.n()).done;)if(!e((o=u.value)[1],n.get(o[0])))return!1}catch(e){c.e(e)}finally{c.f()}return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;var l,f=we(t.entries());try{for(f.s();!(l=f.n()).done;)if(!n.has((o=l.value)[0]))return!1}catch(e){f.e(e)}finally{f.f()}return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(t[o]!==n[o])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,i[o]))return!1;for(o=r;0!=o--;){var d=i[o];if(!e(t[d],n[d]))return!1}return!0}return t!=t&&n!=n};async function dR(e){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.blocked,o=n.upgrade,i=n.blocking,a=n.terminated,s=indexedDB.open(e,t),u=Pd(s);return o&&s.addEventListener("upgradeneeded",(function(e){o(Pd(s.result),e.oldVersion,e.newVersion,Pd(s.transaction),e)})),r&&s.addEventListener("blocked",(function(e){return r(e.oldVersion,e.newVersion,e)})),u.then((function(e){a&&e.addEventListener("close",(function(){return a()})),i&&e.addEventListener("versionchange",(function(e){return i(e.oldVersion,e.newVersion,e)}))})).catch((function(){})),u}(e,2,{upgrade(e,t,n,r,o){if(t<2&&(e.objectStoreNames.contains("meta")&&e.deleteObjectStore("meta"),e.objectStoreNames.contains("nodes")&&e.deleteObjectStore("nodes"),e.objectStoreNames.contains("edges")&&e.deleteObjectStore("edges")),e.objectStoreNames.contains("meta")||e.createObjectStore("meta"),!e.objectStoreNames.contains("nodes")){e.createObjectStore("nodes",{keyPath:"id"});const t=r.objectStore("nodes");t.createIndex("by-label","lbl"),t.createIndex("by-type","type"),t.createIndex("by-synonym",["meta","synonyms","val"]),t.createIndex("full-text-words","fullTextWords",{multiEntry:!0})}if(!e.objectStoreNames.contains("edges")){e.createObjectStore("edges",{autoIncrement:!0});const t=r.objectStore("edges");t.createIndex("by-subject","sub"),t.createIndex("by-object","obj"),t.createIndex("by-predicate","pred")}}})}function hR(e){const t=new Set;for(const[,n]of e)t.add(n);return[...t]}async function pR(e){const t=Date.now();let n;try{n=JSON.parse(await y.openLocation(this.sourceLocation).readFile("utf8"))}catch{throw new Error("Error in loading ontology")}const r=Date.now(),[o,...i]=n.graphs??[];if(o){if(i.length>0)throw new Error("multiple graphs not supported");try{const n=e.transaction(["meta","nodes","edges"],"readwrite");await n.objectStore("meta").clear(),await n.objectStore("nodes").clear(),await n.objectStore("edges").clear();const i=n.objectStore("nodes"),a=mR.call(this).map((e=>e.jsonPath));for(const e of o.nodes??[])uR(e)&&await i.add({...e,fullTextWords:hR(iR(e,a,this.prefixes))});const s=n.objectStore("edges");for(const e of o.edges??[])cR(e)&&await s.add(e);await n.done;const u=e.transaction("meta","readwrite");await u.objectStore("meta").add({ontologyRecord:{name:this.ontologyName,version:this.ontologyVersion,sourceLocation:this.sourceLocation},storeOptions:this.options,graphMeta:o.meta,timestamp:String(new Date),schemaVersion:2,timings:{overall:Date.now()-t,load:Date.now()-r}},"meta"),await u.done}catch(t){throw await e.transaction("meta","readwrite").objectStore("meta").clear(),t}}}function mR(){return[{displayName:"ID",jsonPath:eR},...this.options.textIndexing?.indexFields??bR]}async function gR(e){const[t]=await e.transaction("meta").objectStore("meta").getAll();return!!t&&fR(this.options.prefixes,t.storeOptions.prefixes)&&fR(this.options.textIndexing,t.storeOptions.textIndexing)}class yR{ontologyName;ontologyVersion;sourceLocation;db;options;loadOboGraphJson=pR;getTermsByFulltext=aR;openDatabase=dR;isDatabaseCurrent=gR;get textIndexFields(){return mR.call(this)}get prefixes(){return this.options.prefixes??new Map}DEFAULT_MAX_SEARCH_RESULTS=100;constructor(e,t,n,r){this.ontologyName=e,this.ontologyVersion=t,this.sourceLocation=n,this.db=this.prepareDatabase(),this.options=r??{}}validate(){const e=[],{sourceLocation:t,sourceType:n}=this;return n?"obo-graph-json"!==n&&e.push(new Error(`ontology source file ${JSON.stringify(t)} has type ${n}, which is not yet supported`)):e.push(new Error(`unable to determine format of ontology source file ${JSON.stringify(t)}, file name must end with ".json", ".obo", or ".owl"`)),e}get sourceType(){if(n.isUriLocation(this.sourceLocation)){if(this.sourceLocation.uri.endsWith(".json"))return"obo-graph-json"}else if(n.isLocalPathLocation(this.sourceLocation)&&this.sourceLocation.localPath.endsWith(".json"))return"obo-graph-json"}get dbName(){return`Apollo Ontology "${this.ontologyName}" "${this.ontologyVersion}"`}async prepareDatabase(){const e=this.validate();if(e.length>0)throw e;const t=await this.openDatabase(this.dbName);if(await this.isDatabaseCurrent(t))return t;try{const{sourceLocation:e,sourceType:n}=this;if("obo-graph-json"!==n)throw new Error(`ontology source file ${JSON.stringify(e)} has type ${n}, which is not yet supported`);return await this.loadOboGraphJson(t),t}catch(e){throw t.close(),await function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).blocked,n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",(function(e){return t(e.oldVersion,e)})),Pd(n).then((function(){}))}(this.dbName),e}}async termCount(e){const t=await this.db;return(e??t.transaction("nodes")).objectStore("nodes").count()}unique(e){const t=new Map,n=[];for(const r of e)t.has(r.id)||(t.set(r.id,!0),n.push(r));return n}async getTermsWithLabelOrSynonym(e,t,n){const r=t?.includeSubclasses??!0,o=await this.db,i=n??o.transaction(["nodes","edges"]),a=i.objectStore("nodes"),s=[...await a.index("by-label").getAll(e),...await a.index("by-synonym").getAll(e)];if(r){const e=await this.recurseEdges("by-object",s.map((e=>e.id)),(e=>"is_a"===e.pred),"sub",i);for(const t of e){const e=await a.get(t);e&&s.push(e)}}return s}async getPropertiesByLabel(e,t,n){const r=t?.includeSubProperties??!0,o=await this.db,i=n??o.transaction(["nodes","edges"]),a=(await this.getTermsWithLabelOrSynonym(e,{includeSubclasses:!1},i)).filter((e=>xR(e)));if(r){const e=await this.recurseEdges("by-object",a.map((e=>e.id)),(e=>"subPropertyOf"===e.pred),"sub",i),t=i.objectStore("nodes");for(const n of e){const e=await t.get(n);e&&xR(e)&&a.push(e)}}return a}async recurseEdges(e,t,n,r,o){const i=new Set;return await async function t(a){await Promise.all([...a].map((async a=>{const s=(await o.objectStore("edges").index(e).getAll(a)).filter((e=>n(e))).map((e=>e[r]));if(s.length>0){for(const e of s)i.add(e);await t(s)}})))}(t),i.values()}async*expandNodeSet(e,t="is_a",n,r){const o=await this.db,i=r??o.transaction(["edges"]),a=[...e],s=await this.recurseEdges("subclasses"===n?"by-object":"by-subject",a,(e=>e.pred===t),"subclasses"===n?"sub":"obj",i);for(const e of a)yield e;for(const e of s)yield e}expandSubclasses(e,t="is_a",n){return this.expandNodeSet(e,t,"subclasses",n)}expandSuperclasses(e,t="is_a",n){return this.expandNodeSet(e,t,"superclasses",n)}async getClassesThat(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),i=await this.getPropertiesByLabel(e,{includeSubProperties:!0},o),a=new Set(i.map((e=>e.id))),s=await async function(e){const t=[];for await(const n of e)t.push(n);return t}(this.expandSuperclasses(t.map((e=>e.id)),"is_a",o)),u=await this.recurseEdges("by-object",s,(e=>a.has(e.pred)),"sub",o),c=this.expandSubclasses(u,"is_a",o),l=[];for await(const e of c){const t=await o.objectStore("nodes").get(e);t&&SR(t)&&!lR(t)&&l.push(t)}return l}async getClassesWithoutPropertyLabeled(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),i=o.objectStore("nodes"),a=o.objectStore("edges"),s=(await this.getPropertiesByLabel(e,t,o)).map((e=>e.id)),u=await(async()=>{const e=new Set;for(const t of s)for await(const n of a.index("by-predicate").iterate(t))e.add(n.value.sub);const t=new Set;for await(const n of this.expandSubclasses(e,"is_a",o))t.add(n);return t})(),c=[];for await(const e of i){const t=e.value;SR(t)&&!u.has(t.id)&&c.push(t.id)}const l=[];for(const e of c){const t=await o.objectStore("nodes").get(e);t&&SR(t)&&!lR(t)&&l.push(t)}return l}async getAllClasses(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").index("by-type").getAll("CLASS")).filter((e=>!lR(e)))}async getAllTerms(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").getAll()).filter((e=>!lR(e)))}}const vR=u.types.model("OntologyRecord",{name:u.types.string,version:"unversioned",source:u.types.union(g.LocalPathLocation,g.UriLocation,g.BlobLocation),options:u.types.frozen()}).volatile((e=>({dataStore:void 0}))).actions((e=>({ping(){},initDataStore(){e.dataStore=new yR(e.name,e.version,u.getSnapshot(e.source),e.options)},afterCreate(){u.addDisposer(e,s.autorun((()=>{this.initDataStore()})))}}))),_R=u.types.model("OntologyManager",{ontologies:u.types.array(vR),prefixes:u.types.optional(u.types.map(u.types.string),{"GO:":"http://purl.obolibrary.org/obo/GO_","SO:":"http://purl.obolibrary.org/obo/SO_"})}).views((e=>({get featureTypeOntologyName(){const t=u.getRoot(e).jbrowse.configuration;return r.readConfObject(t.ApolloPlugin,"featureTypeOntologyName")}}))).views((e=>({get featureTypeOntology(){return this.findOntology(e.featureTypeOntologyName)},findOntology:(t,n)=>e.ontologies.find((e=>e.name===t&&(void 0===n||e.version===n))),openOntology(e,t){return this.findOntology(e,t)?.dataStore},applyPrefixes:t=>QO(t,e.prefixes),expandPrefixes:t=>function(e,t){for(const[n,r]of t.entries())if(e.startsWith(n))return e.replace(n,r);return e}(t,e.prefixes)}))).actions((e=>({addOntology(t,n,r,o){const i=e.ontologies.push({name:t,version:n,source:r,options:{prefixes:new Map(e.prefixes.entries()),...o}});e.ontologies[i-1].ping()}}))),bR=[{displayName:"Label",jsonPath:"$.lbl"},{displayName:"Synonym",jsonPath:"$.meta.synonyms[*].val"},{displayName:"Definition",jsonPath:"$.meta.definition.val"}],wR=r.ConfigurationSchema("OntologyRecord",{name:{type:"string",description:'the full name of the ontology, e.g. "Gene Ontology"',defaultValue:"My Ontology"},version:{type:"string",description:"the ontology's version string",defaultValue:"unversioned"},source:{type:"fileLocation",description:"the download location for the ontology's source file",defaultValue:{locationType:"UriLocation",uri:"http://example.com/myontology.json"}},textIndexFields:{type:"frozen",description:"JSON paths for text fields that will be indexed for text searching",defaultValue:bR}});function SR(e){return"CLASS"===e.type}function xR(e){return"PROPERTY"===e.type}async function kR(e,t,n){if(!e)return;const r=await t.getTermsWithLabelOrSynonym(e.type,{includeSubclasses:!1}),o=r.filter(SR);if(0===r.length)return;const i=await t.getClassesThat("part_of",o);return 0!==i.length?i:void 0}function ER({fetchValidTerms:e,filterTerms:t,includeDeprecated:n,onChange:r,ontologyName:o,ontologyVersion:i,renderInput:a,session:s,style:u,value:l}){const[f,h]=d.useState(!1),[p,m]=d.useState(),[g,y]=d.useState(""),[v,_]=d.useState(),{ontologyManager:b}=s.apolloDataStore,w=b.findOntology(o,i)?.dataStore,S=w&&f&&!p,x=w&&!v,k=d.useCallback((e=>(n||!lR(e))&&(!t||t(e))),[t,n]);d.useEffect((()=>{f||m(void 0)}),[f]),d.useEffect((()=>{const e=new AbortController,{signal:t}=e;return x&&(y(""),async function(e,t,n,r){if(!t)return;const o=(await e.getTermsWithLabelOrSynonym(t,{includeSubclasses:!1})).find((e=>(n??(()=>!0))(e)));if(!o)throw new Error(`not a valid ${e.ontologyName} term`);return o}(w,l,k).then((e=>{t.aborted||_(e)}),(e=>{t.aborted||GO(e)||y(String(e))}))),()=>{e.abort()}}),[s,l,k,w,x]),d.useEffect((()=>{const t=new AbortController,{signal:n}=t;return S&&async function(e,t,n,r){let o;if(t){const n=await t(e,r);n&&(o=n)}return o||(o=await e.getAllTerms()),n?o.filter((e=>n(e))):o}(w,e,k,n).then((e=>{e&&!n.aborted&&m(e)}),(e=>{n.aborted||GO(e)||s.notify(e instanceof Error?e.message:String(e),"error")})),()=>{t.abort()}}),[S,k,w,s,e]);const E={};return g&&(E.error=!0,E.helperText=g),M.default.createElement(c.Autocomplete,{style:u,autoComplete:!0,filterSelectedOptions:!0,disableClearable:!0,selectOnFocus:!0,clearOnBlur:!0,handleHomeEndKeys:!0,freeSolo:!0,value:l,options:p??[],onOpen:()=>{h(!0)},onClose:()=>{h(!1)},loading:S,renderInput:a??(e=>M.default.createElement(c.TextField,{...e,...E})),getOptionLabel:e=>"string"==typeof e?e:e.lbl??"",isOptionEqualToValue:(e,t)=>e.lbl===t.lbl,onChange:(e,t)=>{t&&("string"==typeof t?(_(void 0),r(l,t)):t.lbl!==l&&(y(""),_(t),r(l,t.lbl)))}})}function AR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:i}=n,[a,s]=d.useState(String(o.max)),[u,l]=d.useState(String(o.min+1)),[f,h]=d.useState(""),[p,m]=d.useState(""),[g,y]=d.useState(""),v=Number(a)<=Number(u);return M.default.createElement(_d,{open:!0,title:"Add new child feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},M.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),m("");const s=new nr.AddFeatureChange({changedIds:[o._id],typeName:"AddFeatureChange",assembly:r,addedFeature:{_id:(new Jn).toHexString(),refSeq:o.refSeq,min:Number(u)-1,max:Number(a),type:f},parentFeatureId:o._id});await e.submit(s),i("Feature added successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:u,onChange:e=>{l(e.target.value)}}),M.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:a,onChange:e=>{s(e.target.value)},error:v,helperText:v?'"End" must be greater than "Start"':null}),M.default.createElement(ER,{session:n,ontologyName:"Sequence Ontology",style:{width:170},value:f,filterTerms:SR,fetchValidTerms:async function(e,t,n){const r=await kR(e,t);if(r)return r;y(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,o),renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(g),helperText:g}),onChange:(e,t)=>{var n;t&&(n=t,m(""),h(n))}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:v||!(u&&a&&f)},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),p?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},p)):null)}function CR({changeManager:e,handleClose:t,region:n,session:r}){const{notify:o}=r,[i,a]=d.useState(String(n.end)),[s,u]=d.useState(String(n.start+1)),[l,f]=d.useState(""),[h,p]=d.useState(),[m,g]=d.useState(""),y=Number(i)<=Number(s);return M.default.createElement(_d,{open:!0,title:"Add new feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},M.default.createElement("form",{onSubmit:async function(a){let u;a.preventDefault(),g("");for(const[,e]of r.apolloDataStore.assemblies??new Map)if(e._id===n.assemblyName)for(const[,t]of e.refSeqs??new Map)t.name===n.refName&&(u=t._id);if(!u)return void g("Invalid refseq id");const c=(new Jn).toHexString(),f=new nr.AddFeatureChange({changedIds:[c],typeName:"AddFeatureChange",assembly:n.assemblyName,addedFeature:{_id:c,refSeq:u,min:Number(s)-1,max:Number(i),type:l,strand:h}});await e.submit(f),o("Feature added successfully","success"),t(),a.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:Number(s),onChange:e=>{u(e.target.value)}}),M.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:i,onChange:e=>{a(e.target.value)},error:y,helperText:y?'"End" must be greater than "Start"':null}),M.default.createElement(ER,{session:r,ontologyName:"Sequence Ontology",style:{width:170},value:l,filterTerms:SR,renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0}),onChange:(e,t)=>{var n;t&&(n=t,g(""),f(n))}}),M.default.createElement(c.FormControl,null,M.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Strand"),M.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Strand",value:h?.toString(),onChange:function(e){switch(g(""),Number(e.target.value)){case 1:p(1);break;case-1:p(-1);break;default:p(void 0)}}},M.default.createElement(c.MenuItem,{value:void 0}),M.default.createElement(c.MenuItem,{value:1},"+"),M.default.createElement(c.MenuItem,{value:-1},"-")))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:y||!(s&&i&&l)},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),m?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},m)):null)}function OR(e,t){const n=(new Jn).toHexString();t.push(n);const r={};if(e.children)for(const n of Object.values(e.children)){const e=OR(n,t);r[e._id]=e}const o="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return{...e,refSeq:o,children:e.children&&r,_id:n}}function RR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:o,sourceFeature:i}){const{assemblyManager:a,notify:s}=n,l=a.assemblyList,[f,h]=d.useState(l.find((e=>e.name!==o))?.name),[p,m]=d.useState([]),[g,y]=d.useState(""),[v,_]=d.useState(i.min),[b,w]=d.useState("");function S(e,t){const n={};if(e.children)for(const r of Object.values(e.children)){const e=S(r,t);e.refSeq=g,e.min=e.min+t,e.max=e.max+t,n[e._id]=e}const r="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString(),o="string"==typeof e._id?e._id:e._id.toHexString();return{...e,refSeq:r,children:e.children&&n,_id:o}}return d.useEffect((()=>{y(""),async function(){if(!f)return void w("No assemblies to copy to");const e=await a.waitForAssembly(f);if(!e)return;const{refNameAliases:t}=e;if(!t)return;const n=[...Object.entries(t)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t??""})));m(n),y(n[0]?._id||"")}().catch((e=>{w(String(e))}))}),[f,a]),M.default.createElement(_d,{open:!0,title:"Copy features and annotations",handleClose:t,maxWidth:!1,"data-testid":"copy-feature"},M.default.createElement("form",{onSubmit:async function(n){if(!f)return;n.preventDefault(),w("");const r=i.length,o=await a.waitForAssembly(f);if(!o)return void w(`Assembly not found: ${f}.`);const c=o.getCanonicalRefName(g),l=o.regions?.find((e=>e.refName===c));if(!l)return void w(`RefSeq not found: ${g}.`);const d=v+r;if(d>l.end)return void w(`Feature would extend beyond the bounds of the selected reference sequence. (Feature would end at ${d}, but reference sequence ends at ${l.end})`);if(v<l.start)return void w(`Reference sequence starts at ${l.start}, feature cannot start before that.`);const h=[],p=OR(u.getSnapshot(i),h),m={...p.attributes};"Parent"in m&&delete m.Parent,p.refSeq=g;const y=v-p.min;p.min=v,p.max=v+r;const _=S(p,y),b=new nr.AddFeatureChange({changedIds:[p._id],typeName:"AddFeatureChange",assembly:f,addedFeature:{_id:p._id,refSeq:p.refSeq,min:p.min,max:p.max,type:p.type,children:_.children,attributes:m,strand:p.strand},copyFeature:!0,allIds:h});await e.submit(b),s("Feature copied successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Target assembly"),M.default.createElement(c.Select,{labelId:"label",value:f,onChange:function(e){h(e.target.value)}},l.filter((e=>e.name!==o)).map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},r.readConfObject(e,"displayName"))))),M.default.createElement(c.DialogContentText,null,"Target reference sequence"),M.default.createElement(c.Select,{labelId:"label",value:g,onChange:function(e){y(e.target.value)}},p.map((e=>M.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),M.default.createElement(c.DialogContentText,null,"Start position in target reference sequence"),M.default.createElement(c.TextField,{margin:"dense",type:"number",fullWidth:!0,variant:"outlined",value:v,onChange:e=>{_(Number(e.target.value))}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!f||!g||!v,variant:"contained",type:"submit"},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),b?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},b)):null)}function NR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=u.getRoot(n),[o,i]=d.useState(),[a,s]=d.useState(""),[l,f]=d.useState(!1),[h,p]=d.useState(!1),m=r.filter((e=>"ApolloInternetAccount"===e.type));if(0===m.length)throw new Error("No Apollo internet account found");const[g,y]=d.useState(m[0]),{collaborationServerDriver:v}=n.apolloDataStore,_=v.getAssemblies();return d.useEffect((()=>{_.length>0&&void 0===o&&i(_[0])}),[_,o]),M.default.createElement(_d,{open:!0,title:"Delete Assembly",handleClose:t,maxWidth:!1,"data-testid":"delete-assembly"},M.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),p(!0),s(""),!o)return void s("Must select assembly!");const r=new nr.DeleteAssemblyChange({typeName:"DeleteAssemblyChange",assembly:o.name});await e.submit(r,{internetAccountId:g.internetAccountId}),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},m.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:g.internetAccountId,onChange:function(e){p(!1);const t=m.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);y(t)},disabled:h&&!a},r.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:o?.name??"",onChange:function(e){const t=_.find((t=>t.name===e.target.value));i(t)},disabled:0===_.length},_.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContentText,null,M.default.createElement("strong",{style:{color:"red"}},"NOTE: All assembly data will be deleted and this operation cannot be undone!")),M.default.createElement(c.FormGroup,null,M.default.createElement(c.FormControlLabel,{control:M.default.createElement(c.Checkbox,{checked:l,onChange:()=>{f(!l)}}),label:"I understand that all assembly data will be deleted"}))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!o||!l,variant:"contained",type:"submit"},"Delete"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}function IR({changeManager:e,handleClose:t,selectedFeature:n,session:r,setSelectedFeature:o,sourceAssemblyId:i,sourceFeature:a}){const{notify:s}=r,[l,f]=d.useState("");return M.default.createElement(_d,{open:!0,title:"Delete feature",handleClose:t,maxWidth:!1,"data-testid":"delete-feature"},M.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),f(""),n?._id===a._id&&o();const c=new nr.DeleteFeatureChange({changedIds:[a._id],typeName:"DeleteFeatureChange",assembly:i,deletedFeature:u.getSnapshot(a),parentFeatureId:a.parent?._id});await e.submit(c),s("Feature deleted successfully","success"),t(),r.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Are you sure you want to delete the selected feature?")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit"},"Yes"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),l?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},l)):null)}var PR={exports:{}};function TR({handleClose:e,session:t}){const[n,o]=d.useState(),[i,a]=d.useState(""),{collaborationServerDriver:s,getInternetAccount:l,inMemoryFileDriver:f}=t.apolloDataStore,h=[...s.getAssemblies(),...f.getAssemblies()];return M.default.createElement(_d,{open:!0,title:"Export GFF3",handleClose:e,maxWidth:!1,"data-testid":"download-gff3"},M.default.createElement("form",{onSubmit:async function(o){if(o.preventDefault(),a(""),!n)return void a("Must select assembly to download");const{internetAccountConfigId:i}=r.getConf(n,["sequence","metadata"]);i?await async function(e){if(!n)return void a("Must select assembly to download");const t=l(n.configuration.name,e),r=new URL("export/getID",t.baseURL),o=new URLSearchParams({assembly:n.name});r.search=o.toString();const i=r.toString(),s=t.getFetcher({locationType:"UriLocation",uri:i}),u=await s(i,{method:"GET"});if(!u.ok){const e=await fd(u,"Error when exporting ID");return void a(e)}const{exportID:c}=await u.json(),f=new URL("export",t.baseURL),d=new URLSearchParams({exportID:c});f.search=d.toString();const h=f.toString();window.open(h,"_blank")}(i):function(e){if(!n)return void a("Must select assembly to download");const{assemblies:t}=e.apolloDataStore,o=t.get(n.name),i=o?.refSeqs;if(!i)return void a(`No refSeqs found for assembly "${n.name}"`);const s=[{directive:"gff-version",value:"3"}],c=r.getConf(n,["sequence","adapter","features"]);for(const e of c){const{end:t,refName:n,start:r}=e;s.push({directive:"sequence-region",value:`${n} ${r+1} ${t}`})}for(const[,e]of i){const{features:t}=e;if(t)for(const[,e]of t)s.push(nr.makeGFF3Feature(u.getSnapshot(e)))}for(const e of c){const{refName:t,seq:n}=e;s.push({id:t,description:"",sequence:n})}const l=ud.formatSync(s),f=new Blob([l],{type:"text/plain;charset=utf-8"});PR.exports.saveAs(f,`${n.displayName??n.name}.gff3`)}(t),e()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:n?.name??"",onChange:function(e){const t=h.find((t=>t.name===e.target.value));o(t)},disabled:0===h.length},h.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContentText,null,"Select assembly to export to GFF3")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!n,variant:"contained",type:"submit"},"Download"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}function MR({changeManager:e,handleClose:t,session:n}){const{apolloDataStore:o}=n,[i,a]=d.useState(),[s,u]=d.useState(),[l,f]=d.useState(""),[h,p]=d.useState(!1),[m,g]=d.useState(),[y,v]=d.useState(!1),[_,b]=d.useState(!1),{collaborationServerDriver:w,getInternetAccount:S}=o,x=w.getAssemblies();return d.useEffect((()=>{s&&(async()=>{const{internetAccountConfigId:e}=r.getConf(s,["sequence","metadata"]),t=S(s.name,e);if(!t)throw new Error("No Apollo internet account found");const{baseURL:n}=t,o=new URL("features/count",n),i=new URLSearchParams({assemblyId:s.name});o.search=i.toString();const a=t.getFetcher({locationType:"UriLocation",uri:o.toString()});b(!0);const u=await a(o.toString(),{method:"GET"});if(!u.ok)throw new Error(await fd(u));{const e=await u.json();g(e.count)}b(!1)})().catch((e=>{console.error(e),f(e.message??e)}))}),[S,n,s]),M.default.createElement(_d,{open:!0,title:"Import Features from GFF3 file",handleClose:t,maxWidth:!1,"data-testid":"import-features-dialog"},_?M.default.createElement(T.default,null):null,M.default.createElement("form",{onSubmit:async function(o){o.preventDefault(),f(""),b(!0),p(!0);let a="";if(!i)return void f("must select a file");if(!s)return void f("Must select assembly to download");const{internetAccountConfigId:u}=r.getConf(s,["sequence","metadata"]),c=S(s.name,u),{baseURL:l}=c,d=new URL("files",l);d.searchParams.set("type","text/x-gff3");const h=d.href,m=new FormData;m.append("file",i),m.append("fileName",i.name),m.append("type","text/x-gff3");const g=c.getFetcher({locationType:"UriLocation",uri:h});t();const{jobsManager:v}=n,_=new AbortController,w={name:`Importing features for ${s.displayName}`,statusMessage:"Uploading file, this may take awhile",progressPct:0,cancelCallback:()=>{_.abort(),v.abortJob(w.name)}};if(v.runJob(w),g){const{signal:e}=_,t=await g(h,{method:"POST",body:m,signal:e});if(!t.ok){const e=await fd(t,"Error when inserting new features (while uploading file)");return v.abortJob(w.name,e),void f(e)}a=(await t.json())._id}const x=new nr.AddFeaturesFromFileChange({typeName:"AddFeaturesFromFileChange",assembly:s.name,fileId:a,deleteExistingFeatures:y});v.done(w),await e.submit(x,{updateJobsManager:!0})}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:s?.name??"",onChange:function(e){const t=x.find((t=>t.name===e.target.value));u(t),p(!1)},disabled:h&&!l},x.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name))))),M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Upload GFF3 to load features"),M.default.createElement("input",{type:"file",onChange:function(e){p(!1),e.target.files&&a(e.target.files[0])},disabled:h&&!l})),m&&m>0?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,null,"This assembly already has ",m," features, would you like to delete the existing features before importing new ones?"),M.default.createElement(L.default,{label:"Yes, delete existing features",disabled:h&&!l,control:M.default.createElement(F.default,{checked:y,onChange:function(e){v(e.target.checked)},inputProps:{"aria-label":"controlled"},color:"warning"})})):null,M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!(s&&i&&void 0!==m)||h,variant:"contained",type:"submit"},h?"Submitting...":"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close"))),l?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},l)):null)}function jR({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),[r,o]=d.useState(""),i=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===i.length)throw new Error("No Apollo internet account found");const[a,s]=d.useState(i[0]);return M.default.createElement(_d,{open:!0,title:"Log out",handleClose:e,maxWidth:!1,"data-testid":"log-out"},M.default.createElement("form",{onSubmit:function(e){e.preventDefault(),o(""),a.removeToken(),globalThis.location.reload()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},i.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:a.internetAccountId,onChange:function(e){const t=i.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);s(t)}},n.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Are you sure you want to log out?")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!a,variant:"contained",type:"submit"},"Log Out"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),r?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},r)):null)}function FR({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),[r,o]=d.useState(),[i,a]=d.useState(""),[s,l]=d.useState(!1),f=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===f.length)throw new Error("No Apollo internet account found");const[h,p]=d.useState(f[0]),[m,g]=d.useState([]),[y,v]=d.useState([]),{collaborationServerDriver:_}=t.apolloDataStore,b=_.getAssemblies();function w(e,t){const n=[...y],r=e.target.value;if(t)n.includes(r)||(n.push(r),v(n));else{const e=n.indexOf(r,0);-1!==e&&n.splice(e,1),v(n)}}return d.useEffect((()=>{(async function(){const{baseURL:e,getFetcher:t}=h,n=new URL("checks/types",e).href,r=t({locationType:"UriLocation",uri:n}),o=await r(n,{method:"GET"});if(!o.ok){const e=await fd(o,"Error when retrieving checks from server");return void a(e)}const i=await o.json();g(i)})().catch((e=>{a(String(e))}))}),[h]),d.useEffect((()=>{b.length>0&&void 0===r&&o(b[0])}),[b,r]),d.useEffect((()=>{(async function(){if(!r)return;const{baseURL:e,getFetcher:t}=h,n=new URL(`/assemblies/${r.name}`,e).href,o=t({locationType:"UriLocation",uri:n}),i=await o(n,{method:"GET"});if(!i.ok){const e=await fd(i,"Error when retrieving assembly from server");return void a(e)}const s=await i.json();v(s.checks)})().catch((e=>{a(String(e))}))}),[r,h]),M.default.createElement(_d,{open:!0,title:"Manage Checks",handleClose:e,"data-testid":"manage-checks"},M.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),!r)return void a("Must select assembly!");const{notify:o}=t,{baseURL:i,getFetcher:s}=h,u=new URL("assemblies/checks",i).href,c=s({locationType:"UriLocation",uri:u}),l=await c(u,{method:"POST",body:JSON.stringify({_id:r.name,checks:y,name:""}),headers:{"Content-Type":"application/json"}});if(l.ok)o("Assembly checks updated successfully","success"),e();else{const e=await fd(l,"Error when updating assembly checks");a(e)}}},M.default.createElement(c.DialogContent,null,f.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:h.internetAccountId,onChange:function(e){l(!1);const t=f.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);p(t)},disabled:s&&!i},n.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{style:{width:300},labelId:"label",value:r?.name??"",onChange:function(e){const t=b.find((t=>t.name===e.target.value));o(t)},disabled:0===b.length},b.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement("br",null),M.default.createElement("br",null),M.default.createElement(c.TableContainer,{component:c.Paper},M.default.createElement(c.Table,null,M.default.createElement(c.TableHead,null,M.default.createElement(c.TableRow,null,M.default.createElement(c.TableCell,null,"Check name"),M.default.createElement(c.TableCell,null,"Use check"))),M.default.createElement(c.TableBody,null,m.map((e=>M.default.createElement(c.TableRow,{key:e._id},M.default.createElement(c.TableCell,null,e.name),M.default.createElement(c.TableCell,null,M.default.createElement(c.Checkbox,{value:e._id,checked:y.includes(e._id),onChange:w}))))))))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit"},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}!function(e,t){!function(){function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){a(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function r(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==("undefined"==typeof window?"undefined":Z(window))&&window.window===window?window:"object"==("undefined"==typeof self?"undefined":Z(self))&&self.self===self?self:"object"==Z(q)&&q.global===q?q:void 0,i=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),a=o.saveAs||("object"!=("undefined"==typeof window?"undefined":Z(window))||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(e,i,a){var s=o.URL||o.webkitURL,u=document.createElement("a");u.download=i=i||e.name||"download",u.rel="noopener","string"==typeof e?(u.href=e,u.origin===location.origin?r(u):n(u.href)?t(e,i,a):r(u,u.target="_blank")):(u.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(u.href)}),4e4),setTimeout((function(){r(u)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,i){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=Z(t)&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,i),o);else if(n(e))t(e,o,i);else{var a=document.createElement("a");a.href=e,a.target="_blank",setTimeout((function(){r(a)}))}}:function(e,n,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var s="application/octet-stream"===e.type,u=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||s&&u||i)&&"undefined"!=typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},l.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,d=f.createObjectURL(e);a?a.location=d:location.href=d,a=null,setTimeout((function(){f.revokeObjectURL(d)}),4e4)}});o.saveAs=a.saveAs=a,e.exports=a}()}(PR);var LR={},DR=Hu.exports;Object.defineProperty(LR,"__esModule",{value:!0});var qR=LR.default=void 0;function BR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=u.getRoot(n),o=r.filter((e=>"ApolloInternetAccount"===e.type&&e.role?.includes("admin")));if(0===o.length)throw new Error("No Apollo internet account found");const[i,a]=d.useState(""),[s,l]=d.useState(o[0]),[f,h]=d.useState([]),p=d.useCallback((async()=>{const{baseURL:e}=s,t=new URL("users",e).href,n=s.getFetcher({locationType:"UriLocation",uri:t});if(n){const e=await n(t,{method:"GET"});if(!e.ok){const t=await fd(e,"Error when getting user data from db");return void a(t)}const r=await e.json();h(r.map((e=>void 0===e.role?{...e,role:""}:e)))}}),[s]);function m(e){return e===s.getUserId()}d.useEffect((()=>{p().catch((e=>{a(String(e))}))}),[p]);const g=[{field:"username",headerName:"User",width:140},{field:"email",headerName:"Email",width:160},{field:"role",headerName:"Role",width:140,type:"singleSelect",valueOptions:["readOnly","user","admin","none"],getOptionLabel(e){switch(e){case"readOnly":return"Read-only";case"user":return"User";case"admin":return"Admin";case"none":return"None";default:return"unknown"}},editable:!0},{field:"actions",type:"actions",getActions:t=>[M.default.createElement(b.GridActionsCellItem,{key:`delete-${t.id}`,icon:M.default.createElement(qR,null),onClick:async()=>{globalThis.confirm("Delete this user?")&&await async function(t){const n=new nr.DeleteUserChange({typeName:"DeleteUserChange",userId:t});await e.submit(n,{internetAccountId:s.internetAccountId}),h((e=>e.filter((e=>e._id!==t))))}(t.id)},disabled:m(t.id),label:"Delete"})]}];return M.default.createElement(_d,{open:!0,fullScreen:!0,title:"Manage users",handleClose:t,"data-testid":"manage-users"},M.default.createElement(c.DialogContent,null,o.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:s.internetAccountId,onChange:function(e){const t=o.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);l(t)},disabled:!i},r.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement("div",{style:{height:"100%",width:"100%"}},M.default.createElement(b.DataGrid,{pagination:!0,rows:f,columns:g,getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},getRowHeight:()=>"auto",isCellEditable:e=>!m(e.id),processRowUpdate:async function(t){const n=new nr.UserChange({typeName:"UserChange",role:t.role,userId:t._id});return await e.submit(n,{internetAccountId:s.internetAccountId}),t},onProcessRowUpdateError:e=>{a(String(e))}}))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}qR=LR.default=(0,DR(Wu).default)((0,N.default.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");var UR={exports:{}};!function(e,t){!function(t,n){e.exports=n()}(0,(function(){return e={772:function(e,t,n){var r=n(826).remove,o=/[.*+?^${}()|[\]\\]/g,i=/[a-z0-9_]/i,a=/\s+/;e.exports=function(e,t,n){var s,u;u={insideWords:!1,findAllOccurrences:!1,requireMatchAll:!1},s=(s=n)||{},Object.keys(s).forEach((function(e){u[e]=!!s[e]})),n=u;var c=Array.from(e).map((function(e){return r(e)})),l=c.join("");return(t=r(t)).trim().split(a).filter((function(e){return e.length>0})).reduce((function(e,t){var r,a,s=t.length,u=!n.insideWords&&i.test(t[0])?"\\b":"",f=new RegExp(u+t.replace(o,"\\$&"),"i");if(r=f.exec(l),n.requireMatchAll&&null===r)return l="",[];for(;r;){var d=s-c.slice(a=r.index,a+s).join("").length,h=a-c.slice(0,a).join("").length,p=[a+h,a+s+h+d];if(p[0]!==p[1]&&e.push(p),l=l.slice(0,a)+new Array(s+1).join(" ")+l.slice(a+s),!n.findAllOccurrences)break;r=f.exec(l)}return e}),[]).sort((function(e,t){return e[0]-t[0]}))}},826:function(e){var t={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Ấ":"A","Ắ":"A","Ẳ":"A","Ẵ":"A","Ặ":"A","Æ":"AE","Ầ":"A","Ằ":"A","Ȃ":"A","Ç":"C","Ḉ":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ế":"E","Ḗ":"E","Ề":"E","Ḕ":"E","Ḝ":"E","Ȇ":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ḯ":"I","Ȋ":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ố":"O","Ṍ":"O","Ṓ":"O","Ȏ":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","ấ":"a","ắ":"a","ẳ":"a","ẵ":"a","ặ":"a","æ":"ae","ầ":"a","ằ":"a","ȃ":"a","ç":"c","ḉ":"c","è":"e","é":"e","ê":"e","ë":"e","ế":"e","ḗ":"e","ề":"e","ḕ":"e","ḝ":"e","ȇ":"e","ì":"i","í":"i","î":"i","ï":"i","ḯ":"i","ȋ":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ố":"o","ṍ":"o","ṓ":"o","ȏ":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","C̆":"C","c̆":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","Ǵ":"G","ĝ":"g","ǵ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ḫ":"H","ḫ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ḱ":"K","ḱ":"k","K̆":"K","k̆":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ḿ":"M","ḿ":"m","M̆":"M","m̆":"m","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","N̆":"N","n̆":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","P̆":"P","p̆":"p","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","R̆":"R","r̆":"r","Ȓ":"R","ȓ":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","Ș":"S","ș":"s","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","ț":"t","Ț":"T","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","T̆":"T","t̆":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ȗ":"U","ȗ":"u","V̆":"V","v̆":"v","Ŵ":"W","ŵ":"w","Ẃ":"W","ẃ":"w","X̆":"X","x̆":"x","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Y̆":"Y","y̆":"y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ứ":"U","ứ":"u","Ṹ":"U","ṹ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o","Þ":"TH","þ":"th","Ṕ":"P","ṕ":"p","Ṥ":"S","ṥ":"s","X́":"X","x́":"x","Ѓ":"Г","ѓ":"г","Ќ":"К","ќ":"к","A̋":"A","a̋":"a","E̋":"E","e̋":"e","I̋":"I","i̋":"i","Ǹ":"N","ǹ":"n","Ồ":"O","ồ":"o","Ṑ":"O","ṑ":"o","Ừ":"U","ừ":"u","Ẁ":"W","ẁ":"w","Ỳ":"Y","ỳ":"y","Ȁ":"A","ȁ":"a","Ȅ":"E","ȅ":"e","Ȉ":"I","ȉ":"i","Ȍ":"O","ȍ":"o","Ȑ":"R","ȑ":"r","Ȕ":"U","ȕ":"u","B̌":"B","b̌":"b","Č̣":"C","č̣":"c","Ê̌":"E","ê̌":"e","F̌":"F","f̌":"f","Ǧ":"G","ǧ":"g","Ȟ":"H","ȟ":"h","J̌":"J","ǰ":"j","Ǩ":"K","ǩ":"k","M̌":"M","m̌":"m","P̌":"P","p̌":"p","Q̌":"Q","q̌":"q","Ř̩":"R","ř̩":"r","Ṧ":"S","ṧ":"s","V̌":"V","v̌":"v","W̌":"W","w̌":"w","X̌":"X","x̌":"x","Y̌":"Y","y̌":"y","A̧":"A","a̧":"a","B̧":"B","b̧":"b","Ḑ":"D","ḑ":"d","Ȩ":"E","ȩ":"e","Ɛ̧":"E","ɛ̧":"e","Ḩ":"H","ḩ":"h","I̧":"I","i̧":"i","Ɨ̧":"I","ɨ̧":"i","M̧":"M","m̧":"m","O̧":"O","o̧":"o","Q̧":"Q","q̧":"q","U̧":"U","u̧":"u","X̧":"X","x̧":"x","Z̧":"Z","z̧":"z"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),o=new RegExp(n,""),i=function(e){return e.replace(r,(function(e){return t[e]}))};e.exports=i,e.exports.has=function(e){return!!e.match(o)},e.exports.remove=i}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(772);var e,t}))}(UR);var zR=UR.exports,GR={exports:{}};!function(e,t){!function(t,n){e.exports=n()}(0,(function(){return e={705:function(e){e.exports=function(e,t){var n=[];return 0===t.length?n.push({text:e,highlight:!1}):t[0][0]>0&&n.push({text:e.slice(0,t[0][0]),highlight:!1}),t.forEach((function(r,o){var i=r[1];n.push({text:e.slice(r[0],i),highlight:!0}),o===t.length-1?i<e.length&&n.push({text:e.slice(i,e.length),highlight:!1}):i<t[o+1][0]&&n.push({text:e.slice(i,t[o+1][0]),highlight:!1})})),n}}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(705);var e,t}))}(GR);var HR=GR.exports;function WR({getTagProps:e,index:t,ontology:n,termId:r}){const o=u.getParent(n,2),[i,a]=j.useState(""),[s,l]=j.useState("");return j.useEffect((()=>{const e=new AbortController,{signal:t}=e;return async function(){const e=o.expandPrefixes(r),i=await(n.dataStore?.db);if(!i||t.aborted)return;const s=await i.transaction("nodes").objectStore("nodes").get(e);s&&s.lbl&&!t.aborted&&a(s.lbl||"no label")}().catch((e=>{t.aborted||l(String(e))})),()=>{e.abort()}}),[r,n,o]),j.createElement(c.Tooltip,{title:i},j.createElement("div",null,j.createElement(c.Chip,{label:s||o.applyPrefixes(r),color:s?"error":"default",size:"small",...e({index:t})})))}function VR({includeDeprecated:e,onChange:t,ontologyName:n,ontologyVersion:r,session:o,value:a}){const{ontologyManager:s}=o.apolloDataStore,u=s.findOntology(n,r),[l,f]=j.useState(a.map((e=>({term:{id:e,type:"CLASS"}})))),[d,h]=j.useState(""),[p,m]=j.useState([]),[g,y]=j.useState(!1),[v,_]=j.useState(""),b=j.useMemo((()=>i.debounce((async(t,n)=>{if(!u)return;const{dataStore:r}=u;if(!r)return;const{input:o,signal:i}=t;try{const t=await r.getTermsByFulltext(o,void 0,i),a=new Map,s=[];for(const n of t){if(!SR(n.term)||!e&&lR(n.term))continue;let t=a.get(n.term.id);t||(t={term:n.term,matches:[]},a.set(n.term.id,t),s.push(t)),t.matches.push(n)}n(s)}catch(e){GO(e)||_(String(e))}}),400)),[e,u]);if(j.useEffect((()=>{const e=new AbortController,{signal:t}=e;if(""!==d)return y(!0),b({input:d,signal:t},(e=>{let t=[];l.length>0&&(t=l),e&&(t=[...t,...e]),m(t),y(!1)})),()=>{e.abort()};m([])}),[b,u,e,d,l]),!u)return null;const w={};return v&&(w.error=!0,w.helperText=v),j.createElement(c.Autocomplete,{getOptionLabel:e=>s.applyPrefixes(e.term.id),filterOptions:e=>e.filter((e=>SR(e.term))),options:p,autoComplete:!0,includeInputInList:!0,filterSelectedOptions:!0,value:l,loading:g,isOptionEqualToValue:(e,t)=>s.applyPrefixes(e.term.id)===s.applyPrefixes(t.term.id),noOptionsText:d?"No matches":"Start typing to search",onChange:(e,n)=>{m(n?[...n,...p]:p),t(n.map((e=>s.applyPrefixes(e.term.id)))),f(n)},onInputChange:(e,t)=>{t&&y(!0),m([]),h(t)},multiple:!0,renderInput:e=>j.createElement(c.TextField,{...e,...w,variant:"outlined",fullWidth:!0}),renderOption:(e,t)=>j.createElement(JR,{...e,ontologyManager:s,option:t,inputValue:d}),renderTags:(e,t)=>e.map(((e,n)=>j.createElement(WR,{termId:e.term.id,index:n,ontology:u,getTagProps:t,key:e.term.id})))})}function $R(e){const{search:t,str:n}=e,r=zR(n,t,{insideWords:!0,findAllOccurrences:!0}),o=HR(n,r);return j.createElement(j.Fragment,null,o.map(((e,t)=>j.createElement(c.Typography,{key:t,component:"span",sx:{fontWeight:e.highlight?"bold":"regular"},variant:"body2",color:"text.secondary"},e.text))))}function JR(e){const{inputValue:t,ontologyManager:n,option:r,...o}=e,i=(r.matches??[]).filter((e=>"$.lbl"!==e.field.jsonPath)).map((e=>j.createElement(j.Fragment,{key:`option-${e.term.id}-${e.str}`},j.createElement(c.Typography,{component:"dt",variant:"body2",color:"text.secondary"},e.field.displayName),j.createElement("dd",null,j.createElement($R,{str:e.str,search:t})))));return j.createElement("li",{...o},j.createElement(c.Grid,{container:!0},j.createElement(c.Grid,{item:!0},j.createElement(c.Typography,{component:"span"},n.applyPrefixes(r.term.id))," ",j.createElement($R,{str:r.term.lbl??"(no label)",search:t})," ",j.createElement("dl",null,i))))}const KR=new Map([["Gene Ontology",e=>M.default.createElement(VR,{...e,ontologyName:"Gene Ontology"})],["Sequence Ontology",e=>M.default.createElement(VR,{...e,ontologyName:"Sequence Ontology"})]]),YR=m.makeStyles()((e=>({attributeInput:{maxWidth:600},newAttributePaper:{padding:e.spacing(2)},attributeName:{background:e.palette.secondary.main,color:e.palette.secondary.contrastText,padding:e.spacing(1)}}))),ZR=["ID","Name","Alias","Target","Gap","Derives_from","Note","Dbxref","Ontology","Is_Circular"];function XR(e){const{onChange:t,value:n}=e;return M.default.createElement(c.TextField,{type:"text",value:n,onChange:e=>{t(e.target.value.split(","))},variant:"outlined",fullWidth:!0,helperText:"Separate multiple values for the attribute with commas"})}function QR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:i}=n,{internetAccounts:a}=u.getRoot(n),s=d.useMemo((()=>a.find((e=>"ApolloInternetAccount"===e.type))),[a]),l=["admin","user"].includes((s?s.role:"admin")??""),[f,h]=d.useState(""),[p,m]=d.useState(Object.fromEntries([...o.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]})))),[g,y]=d.useState(!1),[v,_]=d.useState(""),{classes:b}=YR(),w=Object.values(p).some((e=>0===e.length||e.includes("")));return M.default.createElement(_d,{open:!0,title:"Feature attributes",handleClose:t,maxWidth:!1,"data-testid":"modify-feature-attribute"},M.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),h("");const a={};if(p)for(const[e,t]of Object.entries(p))if(t&&"parent"!==e.toLowerCase())if([...KR.keys()].includes(e))a[e]=t;else switch(e){case"ID":a._id=t;break;case"Name":a.gff_name=t;break;case"Alias":a.gff_alias=t;break;case"Target":a.gff_target=t;break;case"Gap":a.gff_gap=t;break;case"Derives_from":a.gff_derives_from=t;break;case"Note":a.gff_note=t;break;case"Dbxref":a.gff_dbxref=t;break;case"Ontology_term":a.gff_ontology_term=t;break;case"Is_circular":a.gff_is_circular=t;break;default:a[e.toLowerCase()]=t}const s=new nr.FeatureAttributeChange({changedIds:[o._id],typeName:"FeatureAttributeChange",assembly:r,featureId:o._id,attributes:a});await e.submit(s),i("Feature attributes modified successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,null,M.default.createElement(c.Grid,{container:!0,direction:"column",spacing:1},Object.entries(p).map((([e,t])=>{const r=KR.get(e)??XR;return M.default.createElement(c.Grid,{container:!0,item:!0,spacing:3,alignItems:"center",key:e},M.default.createElement(c.Grid,{item:!0,xs:"auto"},M.default.createElement(c.Paper,{variant:"outlined",className:b.attributeName},M.default.createElement(c.Typography,null,e))),M.default.createElement(c.Grid,{item:!0,flexGrow:1},M.default.createElement(r,{session:n,value:t,onChange:(o=e,e=>{m({...p,[o]:e})})})),M.default.createElement(c.Grid,{item:!0,xs:1},M.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",disabled:!l,onClick:()=>{!function(e){h("");const{[e]:t,...n}=p;m(n)}(e)}},M.default.createElement(qR,{fontSize:"medium",key:e}))));var o})),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:g||!l,onClick:()=>{y(!0)}},"Add new")),g?M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Paper,{elevation:8,className:b.newAttributePaper},M.default.createElement(c.Grid,{container:!0,direction:"column"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.FormControl,null,M.default.createElement(c.FormLabel,{id:"attribute-radio-button-group"},"Select attribute type"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"custom",name:"radio-buttons-group",onChange:function(e,t){"custom"===t?_(""):KR.has(t)?_(t):h("Unknown attribute type")}},M.default.createElement(c.FormControlLabel,{value:"custom",control:M.default.createElement(c.Radio,null),disableTypography:!0,label:M.default.createElement(c.Grid,{container:!0,spacing:1,alignItems:"center"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Typography,null,"Custom")),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.TextField,{label:"Custom attribute key",variant:"outlined",value:KR.has(v)?"":v,disabled:KR.has(v),onChange:e=>{_(e.target.value)}})))}),[...KR.keys()].map((e=>M.default.createElement(c.FormControlLabel,{key:e,value:e,control:M.default.createElement(c.Radio,null),label:e})))))),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{key:"addButton",color:"primary",variant:"contained",style:{margin:2},onClick:function(){h(""),0!==v.trim().length?"Parent"!==v?v in p?h(`Attribute "${v}" already exists`):!/^[A-Z]/.test(v)||ZR.includes(v)||[...KR.keys()].includes(v)?(m({...p,[v]:[]}),y(!1),_("")):h(`Key cannot starts with uppercase letter unless key is one of these: ${ZR.join(", ")}`):h('"Parent" -key is handled internally and it cannot be modified manually'):h("Attribute key is mandatory")},disabled:!v},"Add"),M.default.createElement(c.Button,{key:"cancelAddButton",variant:"outlined",type:"submit",onClick:()=>{y(!1),_(""),h("")}},"Cancel")))))):null),f?M.default.createElement(c.DialogContentText,{color:"error"},f):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:g||w||!l},"Submit changes"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",disabled:g,onClick:t},"Cancel"))))}var eN=function(){return crypto.getRandomValues(new Uint8Array(arguments.length>0&&void 0!==arguments[0]?arguments[0]:21)).reduce((function(e,t){return e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")}),"")};function tN({handleClose:e,session:t}){const{apolloDataStore:r}=t,{addAssembly:o,addSessionAssembly:i,assemblyManager:a,notify:s}=t,[u,l]=d.useState(null),[f,h]=d.useState(""),[p,m]=d.useState(""),[g,y]=d.useState(!1),v=c.useTheme();return M.default.createElement(_d,{open:!0,title:"Open local GFF3 file",handleClose:e,maxWidth:!1,"data-testid":"open-local-file"},M.default.createElement("form",{onSubmit:async function(c){if(c.preventDefault(),m(""),y(!0),!u)throw new Error("No file selected");const l=await new Response(u).text(),d=`${f}-${u.name}-${eN(8)}`;try{await cd(d,l,r)}catch(t){return console.error(t),s(`Error loading GFF3 ${u.name}, ${String(t)}`,"error"),void e()}const h={name:d,aliases:[f],displayName:f,sequence:{trackId:`sequenceConfigId-${f}`,type:"ReferenceSequenceTrack",adapter:{type:"ApolloSequenceAdapter",assemblyId:d},metadata:{apollo:!0,...n.isElectron?{file:u.path}:{}}}};await(i||o)(h);const p=await a.waitForAssembly(h.name);p?(t.addApolloTrackConfig(p),s(`Loaded GFF3 ${u.name}`,"success")):s(`Error loading GFF3 ${u.name}`,"error"),e()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.FormControl,null,M.default.createElement("div",{style:{flexDirection:"row"}},M.default.createElement(c.Button,{variant:"contained",component:"label",style:{marginRight:v.spacing()}},"Choose File",M.default.createElement("input",{type:"file",required:!0,hidden:!0,onChange:function(e){const t=e.target.files?.item(0);if(t&&(m(""),l(t),!f)){const e=t.name,n=e.lastIndexOf(".");h(-1===n?e:e.slice(0,n))}}})),u?u.name:"No file chosen"),M.default.createElement(c.FormHelperText,null,"Make sure your GFF3 has an embedded FASTA section")),M.default.createElement(c.TextField,{required:!0,label:"Assembly name",value:f,onChange:function(e){h(e.target.value)}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!1,variant:"contained",type:"submit"},g?"Submitting...":"Submit"),M.default.createElement(c.Button,{disabled:g,variant:"outlined",type:"submit",onClick:e},"Cancel"))),p?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},p)):null)}const nN=m.makeStyles()((e=>({changeTextarea:{fontFamily:"monospace",width:600,resize:"none",border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadius}})));function rN({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),r=n.find((e=>"ApolloInternetAccount"===e.type));if(!r)throw new Error("No Apollo internet account found");const{baseURL:o}=r,{classes:i}=nN(),[a,s]=d.useState(),[l,f]=d.useState([]),[h,p]=d.useState(""),[m,g]=d.useState([]),y=[{field:"sequence"},{field:"typeName",headerName:"Change type",width:200,type:"singleSelect",valueOptions:[...z.changeRegistry.changes.keys()]},{field:"changes",headerName:"Change JSON",width:600,renderCell:({value:e})=>M.default.createElement("textarea",{className:i.changeTextarea,value:JSON.stringify(e),readOnly:!0}),valueFormatter:({value:e})=>JSON.stringify(e)},{field:"user",headerName:"User",width:140},{field:"createdAt",headerName:"Time",width:160,type:"dateTime",valueGetter:e=>e&&new Date(e)}];return d.useEffect((()=>{(async function(){const e=new URL("assemblies",o).href,t=r?.getFetcher({locationType:"UriLocation",uri:e});if(t){const n=await t(e,{method:"GET"});if(!n.ok){const e=await fd(n,"Error when retrieving assemblies from server");return void s(e)}const r=await n.json();f(r)}})().catch((e=>{s(String(e))}))}),[r,o]),d.useEffect((()=>{!h&&l.length>0&&p(l[0]._id)}),[h,l]),d.useEffect((()=>{(async function(){if(!h)return;const e=new URL("changes",o),t=new URLSearchParams({assembly:h});e.search=t.toString();const n=e.toString(),i=r?.getFetcher({locationType:"UriLocation",uri:n});if(i){const e=await i(n,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await fd(e,"Error when retrieving changes");return void s(t)}const t=await e.json();g(t)}})().catch((e=>{s(String(e))}))}),[h,r,o]),M.default.createElement(_d,{open:!0,fullScreen:!0,title:"View change log",handleClose:e,"data-testid":"view-changelog"},M.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:h,onChange:function(e){p(e.target.value)}},l.map((e=>M.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),M.default.createElement(c.DialogContent,null,M.default.createElement(b.DataGrid,{pagination:!0,rows:m,columns:y,getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},initialState:{sorting:{sortModel:[{field:"sequence",sort:"desc"}]},columns:{columnVisibilityModel:{sequence:!1}}}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}const oN=[{field:"refName",headerName:"Ref Name"},{field:"aliases",headerName:"Aliases",editable:!0}],iN=e=>/^[\da-f]{24}$/i.test(e);function aN({changeManager:e,handleClose:t,session:n}){const r=d.useRef(null),[o,i]=d.useState(""),[a,s]=d.useState(!1),[u,l]=d.useState(),[f,h]=d.useState([]),[p,m]=d.useState(new Map),{apolloDataStore:g}=n,{collaborationServerDriver:y}=g,v=y.getAssemblies();d.useEffect((()=>{let e=0;const t=()=>{if(!u)return;const n=new Map;if(e<2&&!u.refNames&&(e++,setTimeout(t,50)),!u.refNames)return;const r=u.refNameAliases;for(const e in r){const t=r[e];if(t&&!iN(e))if(n.has(t)){const r=n.get(t)??[];n.set(t,[...r,e])}else n.set(t,[e])}m(n)};t()}),[u]);const _=()=>[...p].map(((e,t)=>({id:t,refName:e[0],aliases:e[1].filter((t=>t!==e[0])).join(", ")})));return M.default.createElement(_d,{open:!0,title:"Add reference sequence aliases",handleClose:t,maxWidth:"sm","data-testid":"add-refseq-alias",fullWidth:!0},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.Grid,{container:!0,spacing:2},M.default.createElement(c.Grid,{item:!0,xs:4},M.default.createElement(c.FormControl,{disabled:a&&!o,fullWidth:!0},M.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Assembly"),M.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Assembly",value:u?.name??"",onChange:e=>{const t=v.find((t=>t.name===e.target.value));l(t),s(!1),i(""),r.current&&(r.current.value="")}},v.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))))),M.default.createElement(c.Grid,{item:!0,xs:1}),M.default.createElement(c.Grid,{item:!0,xs:7},M.default.createElement(c.InputLabel,null,"Load RefName alias"),M.default.createElement("input",{type:"file",onChange:e=>{(async e=>{if(!e.target.files)return;const t=e.target.files[0],n=(await t.text()).split("\n"),r=new Map(p);i("");for(const e of n){const t=e.split("\t");for(const e of t)r.has(e)&&r.set(e,[...r.get(e)??[],...t])}m(r)})(e).catch((()=>{i("Error reading file")}))},ref:r,disabled:a&&!o||!u}))),u&&p.size>0?M.default.createElement("div",{style:{height:200,width:"100%",marginTop:20}},M.default.createElement(c.InputLabel,null,"Refname aliases found for selected assembly."),M.default.createElement(b.DataGrid,{rows:_(),columns:oN,initialState:{pagination:{paginationModel:{page:0,pageSize:5}}},pageSizeOptions:[5,10],onRowSelectionModelChange:e=>{(e=>{if(e.length>0){s(!0);const t=e.flatMap((e=>_().filter((t=>t.id===e))));h(t)}else s(!1),h([])})(e)},processRowUpdate:(e,t)=>{const n=new Map(p);return n.set(e.refName,e.aliases.split(",")),m(n),e},checkboxSelection:!0})):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:!a,onClick:()=>{const n=[];for(const e of f){const{refName:t}=e,r=e.aliases.split(",").map((e=>e.trim())).filter((e=>e.length>0));n.push({refName:t,aliases:r})}if(i(""),!u)return void i("No assembly selected");const r=new nr.AddRefSeqAliasesChange({typeName:"AddRefSeqAliasesChange",assembly:u.name,refSeqAliases:n});e.submit(r).catch((()=>{i("Error submitting change")})),t()}},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),o?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},o)):null)}function sN({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),{collaborationServerDriver:r}=t.apolloDataStore,o=n.find((e=>"ApolloInternetAccount"===e.type));if(!o)throw new Error("No Apollo internet account found");const{baseURL:i}=o,[a,s]=d.useState(),[l,f]=d.useState(),[h,p]=d.useState([]),m=r.getAssemblies();return d.useEffect((()=>{!l&&m.length>0&&f(m[0])}),[m,l]),d.useEffect((()=>{(async function(){const e=l?.name;if(!e)return;const t=new URL("checks",i),n=new URLSearchParams({assembly:e});t.search=n.toString();const r=t.toString(),a=o?.getFetcher({locationType:"UriLocation",uri:r});if(a){const e=await a(r,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await fd(e,"Error when retrieving checks");return void s(t)}const t=await e.json();p(t)}})().catch((e=>{s(String(e))}))}),[l,o,i]),M.default.createElement(_d,{open:!0,fullScreen:!0,title:"View check results",handleClose:e,"data-testid":"view-check-results"},M.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:l?.name??"",onChange:function(e){const t=m.find((t=>t.name===e.target.value));f(t)},disabled:0===m.length},m.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContent,null,M.default.createElement(b.DataGrid,{pagination:!0,rows:h,columns:[{field:"_id",headerName:"id",width:50},{field:"name",headerName:"Check name",width:200},{field:"refSeq",headerName:"Reference sequence ID",width:200},{field:"ids",headerName:"Feature IDs",width:200},{field:"message",headerName:"Message",flex:1}],getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},initialState:{sorting:{sortModel:[{field:"name",sort:"asc"}]},columns:{columnVisibilityModel:{name:!0}}}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}var uN={},cN=Hu.exports;Object.defineProperty(uN,"__esModule",{value:!0});var lN=uN.default=void 0;function fN(e){const{color:t}=e;return M.default.createElement(c.SvgIcon,{viewBox:"0 0 18 18",style:{fontSize:18,marginRight:4},...e},"disabled"===t?M.default.createElement("path",{d:"M9.001,10.71 l0,-3.348 l8.424,0 c0.126,0.567,0.225,1.098,0.225,1.845 c0,5.139,-3.447,8.793,-8.64,8.793 c-4.968,0,-9,-4.032,-9,-9 c0,-4.968,4.032,-9,9,-9 c2.43,0,4.464,0.891,6.021,2.349 l-2.556,2.484 c-0.648,-0.612,-1.782,-1.332,-3.465,-1.332 c-2.979,0,-5.409,2.475,-5.409,5.508 c0,3.033,2.43,5.508,5.409,5.508 c3.447,0,4.716,-2.385,4.95,-3.798 l-4.959,0 l0,-0.009 z"}):M.default.createElement(M.default.Fragment,null,M.default.createElement("path",{d:"M17.64,9.20454545 c0,-0.638,-0.057,-1.252,-0.164,-1.841 l-8.476,0 l0,3.481 l4.844,0 c-0.209,1.125,-0.843,2.079,-1.796,2.717 l0,2.258 l2.908,0 c1.702,-1.567,2.684,-3.874,2.684,-6.615 l0,0 z",fill:"#4285F4"}),M.default.createElement("path",{d:"M9,18 c2.43,0,4.467,-0.806,5.956,-2.18 l-2.908,-2.259 c-0.806,0.54,-1.837,0.859,-3.048,0.859 c-2.344,0,-4.328,-1.583,-5.036,-3.71 l-3.007,0 l0,2.332 c1.481,2.941,4.525,4.958,8.043,4.958 l0,0 z",fill:"#34A853"}),M.default.createElement("path",{d:"M3.96409091,10.71 c-0.18,-0.54,-0.282,-1.117,-0.282,-1.71 c0,-0.593,0.102,-1.17,0.282,-1.71 l0,-2.332 l-3.007,0 c-0.609,1.215,-0.957,2.59,-0.957,4.042 c0,1.452,0.348,2.827,0.957,4.042 l3.007,-2.332 l0,0 z",fill:"#FBBC05"}),M.default.createElement("path",{d:"M9,3.57954545 c1.321,0,2.508,0.454,3.44,1.346 l2.582,-2.581 c-1.559,-1.453,-3.596,-2.345,-6.022,-2.345 c-3.518,0,-6.562,2.017,-8.043,4.959 l3.007,2.331 c0.708,-2.127,2.692,-3.71,5.036,-3.71 l0,0 z",fill:"#EA4335"})))}function dN(e){const{color:t}=e;return M.default.createElement(c.SvgIcon,{viewBox:"0 0 21 21",style:{fontSize:21},...e},M.default.createElement("rect",{x:"1",y:"1",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#F25022"}),M.default.createElement("rect",{x:"1",y:"11",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#00A4EF"}),M.default.createElement("rect",{x:"11",y:"1",width:"9",height:"9",fill:"disabled"===t?"#939393":"#7FBA00"}),M.default.createElement("rect",{x:"11",y:"11",width:"9",height:"9",fill:"disabled"===t?"#B9B9B9":"#FFB900"}))}lN=uN.default=(0,cN(Wu).default)((0,N.default.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6zm0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20z"}),"AccountCircle");const hN=m.makeStyles()((e=>({loginButton:{marginBottom:e.spacing(1),width:"220px",height:"40px",fontSize:"16px",textTransform:"none",justifyContent:"left",padding:"3px 12px"}})));function pN(e){const{classes:t}=hN(),{disabled:n}=e;return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(fN,{color:n?"disabled":void 0}),...e},"Sign in with Google")}function mN(e){const{classes:t}=hN(),{disabled:n}=e;return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(dN,{color:n?"disabled":void 0}),...e},"Sign in with Microsoft")}function gN(e){const{classes:t}=hN();return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(lN,{fontSize:"small"}),...e},"Continue as Guest")}const yN=m.makeStyles()((e=>({divider:{marginTop:e.spacing(4),marginBottom:e.spacing(5)}}))),vN=({baseURL:e,handleClose:t,name:n})=>{const{classes:r}=yN(),[o,i]=d.useState(""),[a,s]=d.useState([]);function u(e){t("google"===e?"google":"microsoft"===e?"microsoft":"guest")}d.useEffect((()=>{const t=new AbortController,{signal:n}=t;return async function(){const t=new URL("auth/types",e).href,r=await fetch(t,{method:"GET",signal:n});if(!r.ok){const e=await fd(r,"Error when retrieving auth types from server");return void i(e)}const o=await r.json();s(o)}().catch((e=>{GO(e)||i(String(e))})),()=>{t.abort()}}),[e]);const l=a.includes("google"),f=a.includes("microsoft"),h=a.includes("guest");return M.default.createElement(_d,{open:!0,title:`Log in to ${n}`,handleClose:t,maxWidth:!1,"data-testid":"login-apollo"},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column",paddingTop:8}},l?M.default.createElement(pN,{disabled:!l,onClick:()=>{u("google")}}):null,f?M.default.createElement(mN,{disabled:!f,onClick:()=>{u("microsoft")}}):null,h?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Divider,{className:r.divider}),M.default.createElement(gN,{onClick:()=>{u("guest")}})):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:()=>{t()}},"Cancel")),o?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},o)):null)},_N="undefined"==typeof sessionStorage,bN=e=>o.InternetAccount.named("ApolloInternetAccount").props({type:u.types.literal("ApolloInternetAccount"),configuration:r.ConfigurationReference(e)}).views((e=>({get baseURL(){return r.getConf(e,"baseURL")},getUserId(){const t=e.retrieveToken();if(t)return nr.getDecodedToken(t).id}}))).volatile((()=>({role:void 0}))).actions((e=>{let t=!1;return{setRole(){const n=e.retrieveToken();if(!n)return void(e.role=void 0);const r=nr.getDecodedToken(n),{role:o}=r;if(!o&&!t){const{session:n}=u.getRoot(e);n.notify("You have registered as a user but have not been given access. Ask your administrator to enable access for your account.","warning"),t=!0}e.role!==o&&(e.role=o)}}})).actions((e=>{let t;return{addMessageChannel(e,n){t=t=>{this.finishOAuthWindow(t,e,n)},window.addEventListener("message",t)},deleteMessageChannel(){window.removeEventListener("message",t)},finishOAuthWindow(t,n,r){if(t.data.name!==`JBrowseAuthWindow-${e.internetAccountId}`)return void this.deleteMessageChannel();const o=t.data.redirectUri.replace("#","?"),i=new URL(o),a=new URLSearchParams(i.search).get("access_token");this.deleteMessageChannel(),a?(e.storeToken(a),e.setRole(),n(a)):r(new Error("Error with token endpoint"))},async openAuthWindow(t,r,o){const i=n.isElectron?"http://localhost/auth":globalThis.location.origin+globalThis.location.pathname,a=new URL("auth/login",e.baseURL),s=new URLSearchParams({type:t,redirect_uri:i});a.search=s.toString();const u=`JBrowseAuthWindow-${e.internetAccountId}`;if(n.isElectron){const{ipcRenderer:t}=globalThis.require("electron"),n=await t.invoke("openAuthWindow",{internetAccountId:e.internetAccountId,data:{redirect_uri:i},url:a.toString()}),s=new MessageEvent("message",{data:{name:u,redirectUri:n}});this.finishOAuthWindow(s,r,o)}else this.addMessageChannel(r,o),window.open(a,u,"width=500,height=600")}}})).actions((e=>({async getTokenFromUser(t,n){const{baseURL:r}=e,o=await new Promise(((t,n)=>{const{session:r}=u.getRoot(e),{baseURL:o,name:i}=e;r.queueDialog((e=>[vN,{name:i,handleClose:r=>{r?r instanceof Error?n(r):t(r):n(new Error("user cancelled entry")),e()},baseURL:o}]))}));if("guest"!==o)return void e.openAuthWindow(o,t,n);const i=new URL("auth/login",r),a=new URLSearchParams({type:o});i.search=a.toString();const s=i.toString(),c=await fetch(s);if(!c.ok){const e=await fd(c,"Error when logging in");return void n(new Error(e))}const{token:l}=await c.json();t(l)}}))).volatile((()=>({lastChangeSequenceNumber:void 0}))).actions((e=>({setLastChangeSequenceNumber(t){e.lastChangeSequenceNumber=t}}))).actions((e=>({updateLastChangeSequenceNumber:u.flow((function*(){const{baseURL:t}=e,n=new URL("changes",t),r=new URLSearchParams({limit:"1"});n.search=r.toString();const o=n.toString(),i=e.getFetcher({locationType:"UriLocation",uri:o}),a=yield i(o,{method:"GET"});if(!a.ok){const e=yield fd(a,"Error when fetching server LastChangeSequence");throw new Error(e)}const s=yield a.json();e.setLastChangeSequenceNumber(s.length>0?s[0].sequence:0)})),getMissingChanges:u.flow((function*(){const{session:t}=u.getRoot(e),{changeManager:n}=t.apolloDataStore;if(!e.lastChangeSequenceNumber)throw new Error("No LastChangeSequence stored in session. Please, refresh you browser to get last updates from server");const{baseURL:r,lastChangeSequenceNumber:o}=e,i=new URL("changes",r),a=new URLSearchParams({since:String(o),sort:"1"});i.search=a.toString();const s=i.toString(),c=e.getFetcher({locationType:"UriLocation",uri:s}),l=yield c(s,{method:"GET"});if(!l.ok)return void console.error(`Error when fetching the last updates to recover socket connection — ${l.status}`);const f=yield l.json();for(const e of f){const t=z.Change.fromJSON(e);n.submit(t,{submitToBackend:!1})}}))}))).volatile((e=>{const{origin:t,pathname:n}=new URL("socket.io/",e.baseURL);return{socket:yl(t,{path:n})}})).actions((e=>({addSocketListeners(){const{session:t}=u.getRoot(e),{notify:n}=t,r=e.retrieveToken();if(!r)throw new Error("No Token found");const{socket:o}=e,{addCheckResult:i,changeManager:a,deleteCheckResult:s}=t.apolloDataStore;o.on("connect",(async()=>{await e.getMissingChanges()})),o.on("connect_error",(e=>{console.error(e),n("Could not connect to the Apollo server.","error")})),o.on("COMMON",(e=>{if("checkResult"in e)return void(e.deleted?s(e.checkResult._id.toString()):i(e.checkResult));if(sessionStorage.setItem("LastChangeSequence",String(e.changeSequence)),e.userSessionId===r)return;const t=z.Change.fromJSON(e.changeInfo);a.submit(t,{submitToBackend:!1})})),o.on("USER_LOCATION",(e=>{const{channel:n,locations:o,userName:i,userSessionId:a}=e,s=nr.getDecodedToken(r),u=nr.makeUserSessionId(s);"USER_LOCATION"===n&&a!==u&&t.addOrUpdateCollaborator({name:i,id:a,locations:o})})),o.on("REQUEST_INFORMATION",(e=>{const{channel:n,userSessionId:o}=e;"REQUEST_INFORMATION"===n&&o!==r&&t.broadcastLocations()}))}}))).actions((e=>({postUserLocation:(t=>{let n;return t=>{clearTimeout(n),n=setTimeout((()=>{!async function(t){const{baseURL:n}=e,r=new URL("users/userLocation",n).href,o=new URLSearchParams(JSON.stringify(t)),i=e.getFetcher({locationType:"UriLocation",uri:r});try{if(!(await i(r,{method:"POST",body:o})).ok)throw new Error("ignore")}catch{console.error("Broadcasting user location failed")}}(t)}),300)}})()}))).actions((e=>({initialize:u.flow((function*(t){if("admin"===t){const t=u.getRoot(e);n.isAbstractMenuManager(t)&&function(e){e.appendToMenu("Apollo",{label:"Add Assembly",onClick:e=>{e.queueDialog((t=>[wd,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Delete Assembly",onClick:e=>{e.queueDialog((t=>[NR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Import Features",onClick:e=>{e.queueDialog((t=>[MR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Add reference sequence aliases",onClick:e=>{e.queueDialog((t=>[aN,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Manage Users",onClick:e=>{e.queueDialog((t=>[BR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Undo",onClick:e=>{const{apolloDataStore:t}=e,{notify:n}=e;t.changeManager.recentChanges.length>0?t.changeManager.revertLastChange():n("No changes to undo","info")}})}(t)}yield e.updateLastChangeSequenceNumber(),e.addSocketListeners();const{baseURL:r}=e,o=new URL("users/locations",r).href,i=e.getFetcher({locationType:"UriLocation",uri:o});yield i(o,{method:"GET"}),window.addEventListener("beforeunload",(()=>{e.postUserLocation([])})),document.addEventListener("visibilitychange",(()=>{if("hidden"===document.visibilityState&&e.postUserLocation([]),"visible"===document.visibilityState){const{session:t}=u.getRoot(e);t.broadcastLocations()}}))}))}))).actions((e=>({afterAttach(){e.setRole(),s.autorun((async t=>{if(_N)return;const{session:n}=u.getRoot(e);n&&e.role&&(await e.initialize(e.role),t.dispose())}),{name:"ApolloInternetAccount"})}})));var wN={};function SN(e){return"uniqueId"in e&&"object"!==Z(e.data)}Object.defineProperty(wN,"__esModule",{value:!0}),wN.isFeature=function(e){return"object"===Z(e)&&null!==e&&"function"==typeof e.get&&"function"==typeof e.id};var xN=function(){function e(t){var n,r=this;ee(this,e),SN(t)?this.data=t:(this.data=t.data||{},this.parentHandle=t.parent);var o=SN(t)?t.uniqueId:t.id;if(null==o)throw new Error("SimpleFeature requires a unique `id` or `data.uniqueId` attribute");if(this.uniqueId=String(o),!(this.data.aliases||this.data.end-this.data.start>=0))throw new Error("invalid feature data, end less than start. end: ".concat(this.data.end," start: ").concat(this.data.start));this.data.subfeatures&&(this.subfeatures=null===(n=this.data.subfeatures)||void 0===n?void 0:n.map((function(t,n){return"function"!=typeof t.get?new e({id:t.uniqueId||"".concat(o,"-").concat(n),data:K({strand:r.data.strand},t),parent:r}):t})))}return ne(e,[{key:"get",value:function(e){return"subfeatures"===e?this.subfeatures:"parent"===e?this.parent():this.data[e]}},{key:"set",value:function(e,t){this.data[e]=t}},{key:"tags",value:function(){return Object.keys(this.data)}},{key:"id",value:function(){return this.uniqueId}},{key:"parent",value:function(){return this.parentHandle}},{key:"children",value:function(){return this.get("subfeatures")}},{key:"toJSON",value:function(){var e=K(K({},this.data),{},{uniqueId:this.id()}),t=this.parent();t&&(e.parentId=t.id());var n=this.children();return n&&(e.subfeatures=n.map((function(e){return e.toJSON()}))),e}}],[{key:"fromJSON",value:function(t){return new e(K({},t))}}]),e}(),kN=wN.default=xN;function EN(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo}const AN="undefined"==typeof sessionStorage;class CN extends S.BaseSequenceAdapter{regions;async getRefNames(e){return(await this.getRegions(e)).map((e=>e.refName))}async getRegions(e){if(this.regions)return this.regions;const t=r.readConfObject(this.config,"assemblyId");if(!AN){const e=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!e)throw new Error("No Apollo data store found");const n=e.getBackendDriver(t),r=await n.getRegions(t);return this.regions=r,r}const n=await new Promise(((n,r)=>{const o=setTimeout((()=>{r("timeout")}),2e4),i=eN(),a=e=>{const{data:t}=e;EN(t)&&t.messageId===i&&(clearTimeout(o),removeEventListener("message",a),n(t.regions))};addEventListener("message",a,e),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getRegions",assembly:t,messageId:i})}));return this.regions=n,n}getFeatures(e,t){const{end:n,refName:o,start:i}=e,a=r.readConfObject(this.config,"assemblyId"),s={...e,assemblyName:a};return x.ObservableCreate((async e=>{if(!AN){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)return void e.error("No Apollo data store found");const r=t.getBackendDriver(a),{seq:u}=await r.getSequence(s);return e.next(new kN({id:`${o} ${i}-${n}`,data:{refName:o,start:i,end:n,seq:u}})),void e.complete()}const r=await new Promise(((e,n)=>{const r=setTimeout((()=>{n("timeout")}),2e4),o=eN(),i=t=>{const{data:n}=t;EN(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",i),e(n.sequence))};addEventListener("message",i,t),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getSequence",region:s,messageId:o})}));e.next(new kN({id:`${o} ${i}-${n}`,data:{refName:o,start:i,end:n,seq:r}})),e.complete()}))}freeResources(){}}var ON=r.ConfigurationSchema("ApolloSequenceAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});function RN(e,t,n,r,o,i){const a=r/o;e.fillStyle="black",e.fillRect(t,n,a,i),a>2&&(e.clearRect(t+1,n+1,a-2,i-2),e.fillStyle="rgba(255,255,255,0.75)",e.fillRect(t+1,n+1,a-2,i-2))}var NN=p.observer((function(e){const[t,o]=d.useState(),[i,a]=d.useState(),l=d.useRef(null),f=d.useRef(null),h=d.useRef(null),[p,m]=d.useState(!1),[g,y]=d.useState(!0),[v,_]=d.useState(),[b,w]=d.useState(!1),[S,x]=d.useState([]),{bpPerPx:k,displayModel:E,regions:A}=e,{session:C}=E,{collaborators:O}=C;d.useEffect((()=>s.autorun((()=>{x(s.toJS(O))}))),[]);const[R]=A,N=(R.end-R.start)/k,{apolloFeatureUnderMouse:I,apolloRowHeight:P,apolloRowUnderMouse:T,changeManager:j,codonLayout:F,featureLayout:L,features:D,featuresHeight:q,getAssemblyId:B,selectedFeature:U,setApolloFeatureUnderMouse:z,setApolloRowUnderMouse:G,setSelectedFeature:H,showIntronLines:W,showStartCodons:V,showStopCodons:$}=E,J=[...D.values()].map((e=>[...e.values()].map((e=>u.getSnapshot(e))))),K=d.useMemo((()=>{const{internetAccounts:e}=u.getRoot(C),{assemblyName:t}=R,{assemblyManager:o}=n.getSession(E),i=o.get(t);if(!i)throw new Error(`No assembly found with name ${t}`);const{internetAccountConfigId:a}=r.getConf(i,["sequence","metadata"]),s=e.find((e=>r.getConf(e,"internetAccountId")===a));if(!s)throw new Error(`No InternetAccount found with config id ${a}`);return s}),[E,R,C]),{role:Y}=K;return d.useEffect((()=>{Y?.includes("admin")&&m(!0),(Y?.includes("admin")??Y?.includes("user"))&&y(!1)}),[Y]),d.useEffect((()=>{const e=l.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const n={};t.clearRect(0,0,N,q);for(const[e,r]of L)for(const[o,i]of r){const r=R.reversed?R.end-i.max:i.min-R.start-1,a=i.max-R.start-1,s=r/k,u=a/k;RN(t,s,e*P,a-r,k,P);const c=e*P+P/2;n[o]||(n[o]=[]),n[o].some((e=>e[0]===s&&e[1]===c))||n[o].push([s,c]),n[o].some((e=>e[0]===u&&e[1]===c))||n[o].push([u,c])}if(W){let e=-Math.floor(Object.keys(n).length/2);for(const r in n){t.strokeStyle=`hsl(${e*(180*(3-Math.sqrt(5)))+60},100%,50%)`;const o=n[r].sort(((e,t)=>e[0]-t[0]));let[i]=o;for(const[n,r]of o.entries())if(0!==n){if(n%2==0){const n=[(r[0]-i[0])/2+i[0],Math.max(1,Math.min(i[1],r[1])-P/2+2*e)];t.beginPath(),t.moveTo(i[0],i[1]+2*e),t.lineTo(...n),t.stroke(),t.moveTo(...n),t.lineTo(r[0],r[1]+2*e),t.stroke()}i=r}e+=1}}}),[W,R,k,R.start,R.end,R.reversed,N,L,q,D,P,J]),d.useEffect((()=>{const e=h.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,N,q);for(const[e,{starts:n,stops:r}]of F){const o=k;for(const r of n){const n=r/o;R.start/o<=n&&n<=R.end/o&&(t.fillStyle="rgba(255,0,255,1)",V?t.fillRect(Math.round(n-.5-R.start/o),e*P,1,P):t.clearRect(Math.round(n-.5-R.start/o),e*P,1,P))}for(const n of r){const r=n/o;R.start/o<=r&&r<=R.end/o&&(t.fillStyle="black",$?t.fillRect(Math.round(r-.5-R.start/o),e*P,1,P):t.clearRect(Math.round(r-.5-R.start/o),e*P,1,P))}}}}),[V,$,F,N,q,k,P,R,R.start,R.end]),d.useEffect((()=>{const e=f.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,N,q);for(const e of S){const{locations:n}=e;if(0===n.length)return;for(const r of n){const{end:n,start:o}=r,i=(R.reversed?R.end-o:o-R.start)/k,a=(n-o)/k;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(i,1,a,100),t.fillStyle="black",t.fillText(e.name,i+1,11,a-2)}}}}),[I,T,k,q,N,R,R.start,R.end,R.reversed,v,P,S]),M.default.createElement("div",{style:{position:"relative",width:N,height:q}},M.default.createElement(c.Menu,{open:Boolean(i),anchorReference:"anchorPosition",anchorPosition:t?{left:t[0],top:t[1]}:void 0,"data-testid":"base_linear_display_context_menu",onClose:()=>{a(void 0)}},M.default.createElement(c.MenuItem,{disabled:g,key:1,value:1,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[AR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e,internetAccount:K}]))}},"Add child feature"),M.default.createElement(c.MenuItem,{disabled:g,key:2,value:2,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[RR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e}]))}},"Copy features and annotations"),M.default.createElement(c.MenuItem,{disabled:!p,key:3,value:3,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[IR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e,selectedFeature:U,setSelectedFeature:H}]))}},"Delete feature")),M.default.createElement("canvas",{ref:l,width:N,height:q,style:{position:"absolute",left:0,top:0}}),M.default.createElement("canvas",{ref:f,width:N,height:q,onMouseLeave:function(){z(),G()},onMouseUp:async function(){if(b){if(v){const e=B(R.assemblyName),{bp:t,edge:n,feature:r}=v;let o;if("end"===n){const n=r._id,i=r.max,a=Math.round(t);o=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[n],featureId:n,oldEnd:i,newEnd:a,assembly:e})}else{const n=r._id,i=r.min,a=Math.round(t);o=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[n],featureId:n,oldStart:i,newStart:a,assembly:e})}await j.submit(o)}}else I&&H(I);_(void 0),w(!1)},onContextMenu:function(e){e.preventDefault(),a(I),o([e.pageX,e.pageY])},style:{position:"absolute",left:0,top:0}}),M.default.createElement("canvas",{ref:h,width:N,height:6*P,style:{position:"absolute",left:0,top:0}}))})),IN=r.ConfigurationSchema("ApolloSixFrameRenderer",{},{explicitlyTyped:!0});class PN extends o.RendererType{async renderInClient(e,t){return this.render(t)}async freeResourcesInClient(e,t){return 0}}var TN={};Object.defineProperty(TN,"__esModule",{value:!0}),TN.RefSequenceResult=void 0;var MN=function(){function e(t){ee(this,e),this.label=t.label,this.locString=t.locString,this.renderingComponent=t.renderingComponent,this.displayString=t.displayString,this.matchedAttribute=t.matchedAttribute,this.matchedObject=t.matchedObject,this.textSearchAdapter=t.textSearchAdapter,this.relevance=t.relevance,this.trackId=t.trackId,this.score=t.score||1,this.results=t.results||[]}return ne(e,[{key:"getLabel",value:function(){return this.label}},{key:"getDisplayString",value:function(){return this.displayString||this.label}},{key:"getRenderingComponent",value:function(){return this.renderingComponent}},{key:"getTrackId",value:function(){return this.trackId}},{key:"getScore",value:function(){return this.score}},{key:"updateScore",value:function(e){return this.score=e,this.score}},{key:"getId",value:function(){return"".concat(this.getLabel(),"-").concat(this.getLocation(),"-").concat(this.getTrackId())}},{key:"hasLocation",value:function(){return!!this.locString}},{key:"getLocation",value:function(){return this.locString}},{key:"getComboResults",value:function(){return this.results}}]),e}(),jN=TN.default=MN,FN=function(e){oe(n,e);var t=fe(n);function n(e){var r,o;return ee(this,n),(r=t.call(this,e)).refName=null!==(o=e.refName)&&void 0!==o?o:"",r}return ne(n,[{key:"getLocation",value:function(){return this.refName}}]),n}(MN);TN.RefSequenceResult=FN;class LN extends S.BaseAdapter{get baseURL(){return r.readConfObject(this.config,"baseURL").uri}get trackId(){return r.readConfObject(this.config,"trackId")}get assemblyNames(){return r.readConfObject(this.config,"assemblyNames")}mapBaseResult(e,t,n){return e.map((e=>{const r=t.getCanonicalRefName(e.refSeq);return new jN({label:n,trackId:this.trackId,locString:`${r}:${e.min+1}..${e.max}`})}))}async searchIndex(e){const t=e.queryString,n=[],r=this.pluginManager?.rootModel?.session;if(!r)return n;const{apolloDataStore:o}=r,{assemblyManager:i}=r;for(const r of this.assemblyNames){const a=o.getBackendDriver(r),s=i.get(r);if(!a||!s)continue;const u=await a.searchFeatures(e.queryString,[r]);n.push(...this.mapBaseResult(u,s,t))}return n}freeResources(){}}var DN=r.ConfigurationSchema("ApolloTextSearchAdapter",{assemblyNames:{type:"stringArray",defaultValue:[],description:"List of assemblies covered by text search adapter"},trackId:{type:"string",defaultValue:""},baseURL:{type:"fileLocation",defaultValue:{uri:"",locationType:"UriLocation"}}},{explicitlyTyped:!0,explicitIdentifier:"textSearchAdapterId"});const qN=r.ConfigurationSchema("ApolloPlugin",{ontologies:u.types.array(wR),featureTypeOntologyName:{description:"Name of the feature type ontology",type:"string",defaultValue:"Sequence Ontology"}});function BN(e){if("LinearPileupDisplay"!==e.name)return e;const{stateModel:t}=e,r=t.views((e=>({getFirstRegion:()=>n.getContainingView(e).dynamicBlocks.contentBlocks[0],getAssembly(){const t=e.getFirstRegion(),r=n.getSession(e),{assemblyManager:o}=r,{assemblyName:i}=t,a=o.get(i);if(!a)throw new Error(`Could not find assembly named ${i}`);return a},getRefSeqId(t){const n=e.getFirstRegion(),{refName:r}=n,{refNameAliases:o}=t;if(!o)throw new Error(`Could not find aliases for ${t.name}`);const i=[...Object.entries(o)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t??""}))),a=i.find((e=>e.name===r))?._id;if(!a)throw new Error(`Could not find refSeqId named ${r}`);return a},createFeature(){const t=e.contextMenuFeature,n=e.getAssembly(),r=e.getRefSeqId(n),o=(t.get("CIGAR").toUpperCase().match(/\d+\D/g)??[]).map((e=>[(/\D/.exec(e)??[])[0],Number.parseInt(e,10)]));let i=0;const a=t.get("start");let s;const u=[];for(const[e,t]of o)"M"===e||"="===e?void 0===s&&(s=i+a):"N"===e&&void 0!==s&&(u.push({start:s,end:i+s}),s=void 0),"I"!==e&&(i+=t);void 0!==s&&u.push({start:s,end:i+a});const c={_id:Jn().toHexString(),refSeq:r,min:t.get("start"),max:t.get("end"),type:"mRNA",strand:t.get("strand")};if(0===u.length)return c;c.children={};const[l]=u,f={_id:Jn().toHexString(),refSeq:r,min:l.start,max:l.end,type:"CDS",strand:t.get("strand")};if(c.children[f._id]=f,1===u.length){const e={_id:Jn().toHexString(),refSeq:r,min:l.start,max:l.end,type:"exon",strand:t.get("strand")};return c.children[e._id]=e,c}for(const e of u){f.min=Math.min(f.min,e.start),f.max=Math.max(f.max,e.end);const{end:n,start:o}=e,i={_id:Jn().toHexString(),refSeq:r,min:o,max:n,type:"exon",strand:t.get("strand")};c.children[i._id]=i}return c},async onPileupFeatureContext(){const t=e.createFeature(),r=e.getAssembly(),o=new nr.AddFeatureChange({changedIds:[t._id],typeName:"AddFeatureChange",assembly:r.name,addedFeature:t}),i=n.getSession(e);await i.apolloDataStore.changeManager.submit(o),i.notify("Annotation added successfully","success")}}))).views((e=>{const t=e.contextMenuItems;return{contextMenuItems:()=>e.contextMenuFeature?[...t(),{label:"Create Apollo annotation",icon:$u,onClick:e.onPileupFeatureContext}]:t()}}));return e.stateModel=r,e}const UN=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=d.useState(String(t)),[i,a]=d.useState(!1),[s,u]=d.useState(null);return d.useEffect((()=>{o(String(t))}),[t]),d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]),M.default.createElement(c.TextField,{...n,type:"text",onChange:function(e){o(e.target.value)},value:r,onKeyDown:e=>{"Enter"===e.key?s?.blur():"Escape"===e.key&&(o(String(t)),a(!0))},onBlur:()=>{r!==String(t)&&e(r)},inputRef:e=>{u(e)}})})),zN=new Map([["Gene Ontology",e=>M.default.createElement(VR,{...e,ontologyName:"Gene Ontology"})],["Sequence Ontology",e=>M.default.createElement(VR,{...e,ontologyName:"Sequence Ontology"})]]),GN=["ID","Name","Alias","Target","Gap","Derives_from","Note","Dbxref","Ontology","Is_Circular"],HN=m.makeStyles()((e=>({newAttributePaper:{padding:e.spacing(2)},attributeName:{background:e.palette.secondary.main,color:e.palette.secondary.contrastText,padding:e.spacing(1)}})));function WN(e){const{onChange:t,value:n}=e;return M.default.createElement(UN,{value:n,onChangeCommitted:e=>{t(e.split(","))},variant:"outlined",fullWidth:!0,helperText:"Separate multiple values for the attribute with commas"})}const VN=p.observer((function({assembly:e,editable:t,feature:n,session:r}){const[o,i]=d.useState(""),[a,s]=d.useState(!1),{classes:l}=HN(),[f,h]=d.useState(""),p=Object.fromEntries([...n.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]}))),{notify:m}=r,{changeManager:g}=r.apolloDataStore;async function y(t,r){i("");const o={};if(p){const e=Object.entries({...p,[t]:r});for(const[t,n]of e)if(n&&"parent"!==t.toLowerCase())if([...zN.keys()].includes(t))o[t]=n;else switch(t){case"ID":o._id=n;break;case"Name":o.gff_name=n;break;case"Alias":o.gff_alias=n;break;case"Target":o.gff_target=n;break;case"Gap":o.gff_gap=n;break;case"Derives_from":o.gff_derives_from=n;break;case"Note":o.gff_note=n;break;case"Dbxref":o.gff_dbxref=n;break;case"Ontology_term":o.gff_ontology_term=n;break;case"Is_circular":o.gff_is_circular=n;break;default:o[t.toLowerCase()]=n}}const a=new nr.FeatureAttributeChange({changedIds:[n._id],typeName:"FeatureAttributeChange",assembly:e,featureId:n._id,attributes:o});await g.submit(a),m("Feature attributes modified successfully","success")}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Attributes"),M.default.createElement(c.Grid,{container:!0,direction:"column",spacing:1},Object.entries(p).map((([e,n])=>{if(""===e)return null;const o=zN.get(e)??WN;return M.default.createElement(c.Grid,{container:!0,item:!0,spacing:3,alignItems:"center",key:e},M.default.createElement(c.Grid,{item:!0,xs:"auto"},M.default.createElement(c.Paper,{variant:"outlined",className:l.attributeName},M.default.createElement(c.Typography,null,e))),M.default.createElement(c.Grid,{item:!0,flexGrow:1},M.default.createElement(o,{session:r,value:n,onChange:t=>y(e,t)})),M.default.createElement(c.Grid,{item:!0,xs:1},M.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",disabled:!t,onClick:()=>y(e)},M.default.createElement(qR,{fontSize:"medium",key:e}))))})),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:a||!t,onClick:()=>{s(!0)}},"Add new")),a?M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Paper,{elevation:8,className:l.newAttributePaper},M.default.createElement(c.Grid,{container:!0,direction:"column"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.FormControl,null,M.default.createElement(c.FormLabel,{id:"attribute-radio-button-group"},"Select attribute type"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"custom",name:"radio-buttons-group",onChange:function(e,t){"custom"===t?h(""):zN.has(t)?h(t):i("Unknown attribute type")}},M.default.createElement(c.FormControlLabel,{value:"custom",control:M.default.createElement(c.Radio,null),disableTypography:!0,label:M.default.createElement(c.Grid,{container:!0,spacing:1,alignItems:"center"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Typography,null,"Custom")),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.TextField,{label:"Custom attribute key",variant:"outlined",value:zN.has(f)?"":f,disabled:zN.has(f),onChange:e=>{h(e.target.value)}})))}),[...zN.keys()].map((e=>M.default.createElement(c.FormControlLabel,{key:e,value:e,control:M.default.createElement(c.Radio,null),label:e})))))),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{key:"addButton",color:"primary",variant:"contained",onClick:function(){i(""),0!==f.trim().length?"Parent"!==f?f in p?i(`Attribute "${f}" already exists`):!/^[A-Z]/.test(f)||GN.includes(f)||[...zN.keys()].includes(f)?y(f,[]):i(`Key cannot starts with uppercase letter unless key is one of these: ${GN.join(", ")}`):i('"Parent" -key is handled internally and it cannot be modified manually'):i("Attribute key is mandatory")},disabled:!f},"Add"),M.default.createElement(c.Button,{key:"cancelAddButton",variant:"outlined",type:"submit",onClick:()=>{s(!1),h(""),i("")}},"Cancel")))))):null),o?M.default.createElement(c.Typography,{color:"error"},o):null)})),$N=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=d.useState(String(t)),[i,a]=d.useState(!1),[s,u]=d.useState(null);d.useEffect((()=>{o(String(t))}),[t]),d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]);const l=Number.isNaN(Number(r));return M.default.createElement(c.TextField,{...n,type:"text",onChange:function(e){o(e.target.value)},value:r,onKeyDown:e=>{"Enter"===e.key?s?.blur():"Escape"===e.key&&(o(String(t)),a(!0))},onBlur:()=>{const n=Number(r);r!==String(t)&&(Number.isNaN(n)?o(String(t)):e(n))},inputRef:e=>{u(e)},error:l,helperText:l?"Not a valid number":void 0})})),JN=p.observer((function({assembly:e,feature:t,session:n}){const[r,o]=d.useState(""),[i,a]=d.useState(""),{_id:s,assemblyId:u,max:l,min:f,strand:h,type:p}=t,m=e=>{n.notify(e.message,"error")},{changeManager:g}=n.apolloDataStore;function y(t){const{value:n}=t.target,r=n?Number(n):void 0,o=new nr.StrandChange({typeName:"StrandChange",changedIds:[s],featureId:s,oldStrand:h,newStrand:r,assembly:e});return g.submit(o)}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Basic information"),M.default.createElement($N,{margin:"dense",id:"start",label:"Start",fullWidth:!0,variant:"outlined",value:f+1,onChangeCommitted:function(t){t--;const n=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[s],featureId:s,oldStart:f,newStart:t,assembly:e});return g.submit(n)}}),M.default.createElement($N,{margin:"dense",id:"end",label:"End",fullWidth:!0,variant:"outlined",value:l,onChangeCommitted:function(t){const n=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[s],featureId:s,oldEnd:l,newEnd:t,assembly:e});return g.submit(n)}}),M.default.createElement(ER,{session:n,ontologyName:"Sequence Ontology",value:p,filterTerms:SR,fetchValidTerms:async function(e,t,n){const r=await kR(e,t);if(r)return r;a(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,t),renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(i),helperText:i}),onChange:(e,t)=>{t&&function(e){o("");const t=new nr.TypeChange({typeName:"TypeChange",changedIds:[s],featureId:s,oldType:p,newType:e,assembly:u});return g.submit(t)}(t).catch(m)}}),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"1",checked:1===h,onChange:y}),"Positive Strand (+)"),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"-1",checked:-1===h,onChange:y}),"Negative Strand (-)"),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"",checked:void 0===h,onChange:y}),"No Strand Information"),r?M.default.createElement(c.Typography,{color:"error"},r):null)})),KN=m.makeStyles()({sequence:{width:"100%",resize:"vertical"}}),YN=p.observer((function({assembly:e,feature:t,refName:n,session:r}){const o=r.apolloDataStore.assemblies.get(e),[i,a]=d.useState(!1),{classes:s}=KN();if(!t||!o)return null;const u=o.getByRefName(n);if(!u)return null;const{max:l,min:f}=t;let h="";return i&&(h=u.getSequence(f,l),h?h=function(e,t,n,r,o){return`>${t}:${n+1}–${r}\n${e}`}(h,n,f,l):r.apolloDataStore.loadRefSeq([{assemblyName:e,refName:n,start:f,end:l}])),M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Sequence"),M.default.createElement(c.Button,{variant:"contained",onClick:()=>{a(!i)}},i?"Hide sequence":"Show sequence"),M.default.createElement("div",null,i&&M.default.createElement("textarea",{readOnly:!0,rows:20,className:s.sequence,value:h})))})),ZN=m.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),XN=p.observer((function(e){const{model:t}=e,{assembly:r,feature:o,refName:i}=t,a=n.getSession(t),s=a.apolloDataStore.assemblies.get(r),{classes:u}=ZN();if(!o||!s)return null;const c=s.getByRefName(i);if(!c)return null;const{max:l,min:f}=o;return c.getSequence(f,l)||a.apolloDataStore.loadRefSeq([{assemblyName:r,refName:i,start:f,end:l}]),M.default.createElement("div",{className:u.root},M.default.createElement(JN,{feature:o,session:a,assembly:s._id}),M.default.createElement("hr",null),M.default.createElement(VN,{feature:o,session:a,assembly:s._id,editable:!0}),M.default.createElement("hr",null),M.default.createElement(YN,{feature:o,session:a,assembly:s._id,refName:i}))}));var QN={},eI={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationFeatureModel=void 0;var t=O.default,n=I.default,r=QN,o=n.types.late((function(){return e.AnnotationFeatureModel}));e.AnnotationFeatureModel=n.types.model("AnnotationFeatureModel",{_id:n.types.identifier,refSeq:n.types.string,type:n.types.string,min:n.types.number,max:n.types.number,strand:n.types.maybe(n.types.union(n.types.literal(1),n.types.literal(-1))),children:n.types.maybe(n.types.map(o)),attributes:n.types.map(n.types.array(n.types.string))}).views((function(e){return{get length(){return e.max-e.min},get featureId(){return e.attributes.get("id")},get minWithChildren(){var t=e.min,n=e.children;if(!n)return t;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);t=Math.min(t,i[1].min)}}catch(e){o.e(e)}finally{o.f()}return t},get maxWithChildren(){var t=e.max,n=e.children;if(!n)return t;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);t=Math.max(t,i[1].max)}}catch(e){o.e(e)}finally{o.f()}return t},hasDescendant:function(t){var n=e.children;if(!n)return!1;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);if(i[0]===t)return!0;if(i[1].hasDescendant(t))return!0}}catch(e){o.e(e)}finally{o.f()}return!1},get transcriptParts(){if("mRNA"!==e.type)throw new Error('Only features of type "mRNA" or equivalent can calculate CDS locations');var n=e.children;if(!n)throw new Error("no CDS or exons in mRNA");var r=me(n.values()).filter((function(e){return"CDS"===e.type}));if(0===r.length)throw new Error("no CDS in mRNA");var o,i=[],a=we(r);try{var s=function(){var r,a=o.value,s=a.max,u=a.min,c=[],l=!1,f=[],d=we(n);try{for(d.s();!(r=d.n()).done;){var h=he(r.value,2)[1];"exon"===h.type&&f.push({min:h.min,max:h.max})}}catch(e){d.e(e)}finally{d.f()}f.sort((function(e,t){return e.min-t.min}));for(var p=0,m=f;p<m.length;p++){var g=m[p],y=c.at(-1);y&&c.push({min:y.max,max:g.min,type:"intron"});var v,_=he((0,t.intersection2)(u,s,g.min,g.max),2),b=_[0],w=_[1];v=l?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==b&&void 0!==w?(l=!0,b===g.min&&w===g.max?c.push({min:b,max:w,phase:0,type:"CDS"}):b===g.min?c.push({min:b,max:w,phase:0,type:"CDS"},{min:w,max:g.max,type:v}):w===g.max?c.push({min:g.min,max:b,type:v},{min:b,max:w,phase:0,type:"CDS"}):c.push({min:g.min,max:b,type:v},{min:b,max:w,phase:0,type:"CDS"},{min:w,max:g.max,type:"fivePrimeUTR"===v?"threePrimeUTR":"fivePrimeUTR"})):c.push({min:g.min,max:g.max,type:v})}c.sort((function(e,t){return e.min-t.min})),-1===e.strand&&c.reverse();var S=0,x=c.map((function(e){if("CDS"!==e.type)return e;var t=S;return S=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));i.push(x)};for(a.s();!(o=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}return i}}})).views((function(e){return{get cdsLocations(){return e.transcriptParts.map((function(e){return e.filter((function(e){return"CDS"===e.type}))}))}}})).actions((function(e){return{setAttributes:function(t){e.attributes.clear();var n,r=we(t.entries());try{for(r.s();!(n=r.n()).done;){var o=he(n.value,2);e.attributes.set(o[0],o[1])}}catch(e){r.e(e)}finally{r.f()}},setAttribute:function(t,n){e.attributes.merge(re({},t,n))},setType:function(t){e.type=t},setRefSeq:function(t){e.refSeq=t},setMin:function(t){if(t>e.max)throw new Error('Min "'.concat(t,'" is greater than max "').concat(e.max,'"'));e.min!==t&&(e.min=t)},setMax:function(t){if(t<e.min)throw new Error('Max "'.concat(t,'" is less than Min "').concat(e.min,'"'));e.max!==t&&(e.max=t)},setStrand:function(t){e.strand=t},addChild:function(t){if(e.children&&e.children.size>0){var r=(0,n.getSnapshot)(e.children);e.children.clear();var o,i=we(Object.entries(K(K({},r),{},re({},t._id,t))).sort((function(e,t){var n=he(e,2)[1],r=he(t,2);return n.min-r[1].min})));try{for(i.s();!(o=i.n()).done;){var a=he(o.value,2);e.children.put(a[1])}}catch(e){i.e(e)}finally{i.f()}}else{var s;e.children=(0,n.cast)({}),null===(s=e.children)||void 0===s||s.put(t)}},deleteChild:function(t){var n;null===(n=e.children)||void 0===n||n.delete(t)}}})).actions((function(e){return{update:function(t){var r=t.children,o=t.max,i=t.min,a=t.strand;e.setRefSeq(t.refSeq),e.setMin(i),e.setMax(o),e.setStrand(a),r&&(e.children=(0,n.cast)(r))}}})).views((function(t){return{get parent(){var r;try{r=(0,n.getParentOfType)(t,e.AnnotationFeatureModel)}catch(e){}return r},get topLevelFeature(){var r,o=t;do{try{o=r=(0,n.getParentOfType)(o,e.AnnotationFeatureModel)}catch(e){r=void 0}}while(r);return o},get assemblyId(){return(0,n.getParentOfType)(t,r.ApolloAssembly)._id}}}))}(eI);var tI={},nI={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ApolloRefSeq=e.Sequence=void 0;var t=O.default,n=I.default,r=eI;e.Sequence=n.types.model({start:n.types.number,stop:n.types.number,sequence:n.types.string}),e.ApolloRefSeq=n.types.model("ApolloRefSeq",{_id:n.types.identifier,name:n.types.string,description:"",features:n.types.map(r.AnnotationFeatureModel),sequence:n.types.array(e.Sequence)}).actions((function(e){return{addFeature:function(t){e.features.put(t)},deleteFeature:function(t){return e.features.delete(t)},setDescription:function(t){e.description=t},addSequence:function(t){var n;if(t.sequence.length!==t.stop-t.start)throw new Error("sequence does not match declared length");if(0!==e.sequence.length){var r=e.sequence.map((function(e){return{start:e.start,stop:e.stop,sequence:e.sequence}}));r.push({start:t.start,stop:t.stop,sequence:t.sequence}),r.sort((function(e,t){return e.start-t.start}));var o=r.reduce((function(e,t){var n=e.at(-1);return void 0===n?[t]:(n.stop>=t.start?t.stop>n.stop&&(n.stop=t.stop,n.sequence+=t.sequence.slice(t.stop-n.stop)):e.push(t),e)}),[]);e.sequence.length===o.length&&e.sequence.every((function(e,t){return e.start===o[t].start&&e.stop===o[t].stop}))||(e.sequence.clear(),(n=e.sequence).push.apply(n,me(o)))}else e.sequence.push(t)}}})).views((function(e){return{getSequence:function(n,r){var o,i=we(e.sequence);try{for(i.s();!(o=i.n()).done;){var a=o.value,s=a.sequence,u=a.start;if((0,t.isContainedWithin)(n,r,u,a.stop))return s.slice(n-u,r-u)}}catch(e){i.e(e)}finally{i.f()}return""}}}))}(nI),Object.defineProperty(tI,"__esModule",{value:!0}),tI.ApolloAssembly=void 0;var rI=I.default;tI.ApolloAssembly=rI.types.model("ApolloAssembly",{_id:rI.types.identifier,refSeqs:rI.types.map(nI.ApolloRefSeq),comments:rI.types.array(rI.types.string),backendDriverType:rI.types.optional(rI.types.enumeration("backendDriverType",["CollaborationServerDriver","InMemoryFileDriver","DesktopFileDriver"]),"CollaborationServerDriver")}).views((function(e){return{getByRefName:function(t){return me(e.refSeqs.values()).find((function(e){return e.name===t}))}}})).actions((function(e){return{addRefSeq:function(t,n,r){return e.refSeqs.put({_id:t,name:n,description:r})},addComment:function(t){return e.comments.push(t)}}}));var oI={};Object.defineProperty(oI,"__esModule",{value:!0}),oI.CheckResult=void 0;var iI=I.default;oI.CheckResult=iI.types.model("CheckResult",{_id:iI.types.identifier,name:iI.types.string,ids:iI.types.array(iI.types.safeReference(eI.AnnotationFeatureModel)),refSeq:iI.types.string,start:iI.types.number,end:iI.types.number,ignored:!1,message:iI.types.string}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(eI,e),t.__exportStar(tI,e),t.__exportStar(nI,e),t.__exportStar(oI,e)}(QN);const aI=u.types.model("ApolloFeatureDetailsWidget",{id:g.ElementId,type:u.types.literal("ApolloFeatureDetailsWidget"),feature:u.types.maybe(u.types.reference(QN.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:u.types.string,refName:u.types.string}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const i=o.getFeature(e.tryReload);i&&(e.setFeature(i),e.setTryReload(),t.dispose())})))}}))),sI=u.types.model("ApolloTranscriptDetails",{id:g.ElementId,type:u.types.literal("ApolloTranscriptDetails"),feature:u.types.maybe(u.types.reference(QN.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:u.types.string,refName:u.types.string,changeManager:u.types.frozen()}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const i=o.getFeature(e.tryReload);i&&(e.setFeature(i),e.setTryReload(),t.dispose())})))}}))),uI=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const{notify:i}=o,a=o.apolloDataStore.assemblies.get(e),s=a?.getByRefName(r),{changeManager:u}=o.apolloDataStore,l=c.useTheme();function f(t,n,r,o){if(!r.children)throw new Error("Transcript should have child features");for(const[,a]of r.children){if(o&&t-1===a.min){const o=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[a._id],featureId:r._id,oldStart:t-1,newStart:n-1,assembly:e});return void u.submit(o).catch((()=>{i("Error updating feature start position","error")}))}if(!o&&n===a.max){const t=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[a._id],featureId:r._id,oldEnd:a.max,newEnd:n,assembly:e});return void u.submit(t).catch((()=>{i("Error updating feature start position","error")}))}}}if(!s)return null;const{strand:d,transcriptParts:h}=t,[p]=h,m=p.map(((e,t)=>{const{max:r,min:o,type:i}=e;let a,u,c,f=i;if("threePrimeUTR"===f?f="3` UTR":"fivePrimeUTR"===f&&(f="5` UTR"),"CDS"===i){const{phase:i}=e,f=n.getFrame(o,r,d??1,i);c=l.palette.framesCDS.at(f)?.main;const h=p.at(t-1),m=p.at(t+1);1===d?("intron"===h?.type&&(a=s.getSequence(o-2,o)),"intron"===m?.type&&(u=s.getSequence(r,r+2))):("intron"===h?.type&&(a=n.revcom(s.getSequence(r,r+2))),"intron"===m?.type&&(u=n.revcom(s.getSequence(o-2,o))))}return{min:o,max:r,label:f,fivePrimeSpliceSite:a,threePrimeSpliceSite:u,frameColor:c}})).filter((e=>"intron"!==e.label));return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Structure"),M.default.createElement(c.Typography,{variant:"h6"},1===d?"Forward":"Reverse"," strand"),M.default.createElement(c.TableContainer,{component:c.Paper},M.default.createElement(c.Table,{size:"small"},M.default.createElement(c.TableBody,null,m.map((e=>M.default.createElement(c.TableRow,{key:`${e.label}:${e.min}-${e.max}`},M.default.createElement(c.TableCell,{component:"th",scope:"row",style:{background:e.frameColor}},e.label),M.default.createElement(c.TableCell,null,e.fivePrimeSpliceSite??""),M.default.createElement(c.TableCell,{padding:"none"},M.default.createElement($N,{margin:"dense",variant:"outlined",value:1===d?e.min+1:e.max,onChangeCommitted:n=>{f(1===d?e.min+1:e.max,n,t,1===d)}})),M.default.createElement(c.TableCell,{padding:"none"},M.default.createElement($N,{margin:"dense",variant:"outlined",value:1===d?e.max:e.min+1,onChangeCommitted:n=>{f(1===d?e.max:e.min+1,n,t,1!==d)}})),M.default.createElement(c.TableCell,null,e.threePrimeSpliceSite??""))))))))})),cI=60;function lI(e){switch(e){case"upOrDownstream":return"rgb(255,255,255)";case"UTR":return"rgb(194,106,119)";case"CDS":return"rgb(93,168,153)";case"intron":return"rgb(187,187,187)";case"protein":return"rgb(148,203,236)"}}const fI=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const i=o.apolloDataStore.assemblies.get(e),a=i?.getByRefName(r),[s,u]=d.useState(!1),[l,f]=d.useState("CDS"),h=c.useTheme(),p=d.useRef(null);if(!i||!a)return null;const m=i.getByRefName(r);if(!m)return null;if("mRNA"!==t.type)return null;const g=s?function(e,t,r){const o=[],{cdsLocations:i,strand:a,transcriptParts:s}=t;switch(e){case"genomic":case"cDNA":{const[t]=s;for(const i of t){if("cDNA"===e&&"intron"===i.type)continue;let t=r(i.min,i.max);-1===a&&(t=n.revcom(t));const s="fivePrimeUTR"===i.type||"threePrimeUTR"===i.type?"UTR":i.type,u=o.at(-1);if(u)if(u.type===s){const[e,...n]=u.sequenceLines,r=n.join("")+t;u.sequenceLines=[e,...nr.splitStringIntoChunks(r,cI)],u.locs.push({min:i.min,max:i.max})}else{const e=o.reduce(((e,t)=>e+t.sequenceLines.reduce(((e,t)=>e+t.length),0)),0),n=cI-e%cI,r=t.slice(0,n),a=nr.splitStringIntoChunks(t.slice(n),cI);o.push({type:s,sequenceLines:[r,...a],locs:[{min:i.min,max:i.max}]})}else{const e=nr.splitStringIntoChunks(t,cI);o.push({type:s,sequenceLines:e,locs:[{min:i.min,max:i.max}]})}}return o}case"CDS":{let e="";const[t]=i,s=[];for(const o of t){let t=r(o.min,o.max);-1===a&&(t=n.revcom(t)),e+=t,s.push({min:o.min,max:o.max})}const u=nr.splitStringIntoChunks(e,cI);return o.push({type:"CDS",sequenceLines:u,locs:s}),o}}}(l,t,((e,t)=>a.getSequence(e,t))):[],y=[];if(s){const e=g.flatMap((e=>e.locs));let[t]=e;for(let n=1;n<e.length;n++)t.min===e[n].max||t.max===e[n].min?t={min:Math.min(t.min,e[n].min),max:Math.max(t.max,e[n].max)}:(y.push(t),t=e[n]);y.push(t)}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Sequence"),M.default.createElement("div",null,M.default.createElement(c.Button,{variant:"contained",onClick:()=>{u(!s)}},s?"Hide sequence":"Show sequence")),s&&M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Select,{defaultValue:"CDS",value:l,onChange:function(e){f(e.target.value)}},M.default.createElement(c.MenuItem,{value:"CDS"},"CDS"),M.default.createElement(c.MenuItem,{value:"cDNA"},"cDNA"),M.default.createElement(c.MenuItem,{value:"genomic"},"Genomic")),M.default.createElement(c.Paper,{style:{fontFamily:"monospace",padding:h.spacing(),overflowX:"auto"},ref:p},">",m.name,":",y.map((e=>1===t.strand?`${e.min+1}-${e.max}`:`${e.max}-${e.min+1}`)).join(";"),"(",1===t.strand?"+":"-",")",M.default.createElement("br",null),g.map(((e,t)=>M.default.createElement("span",{key:`${e.type}-${t}`,style:{background:lI(e.type),color:h.palette.getContrastText(lI(e.type))}},e.sequenceLines.map(((t,n)=>M.default.createElement(M.default.Fragment,{key:`${t.slice(0,5)}-${n}`},t,n===e.sequenceLines.length-1&&t.length!==cI?null:M.default.createElement("br",null)))))))),M.default.createElement(c.Button,{variant:"contained",onClick:()=>{const e=p.current;if(!e)return;const t=new Blob([e.outerText],{type:"text/plain"}),n=new Blob([e.outerHTML],{type:"text/html"}),r=new ClipboardItem({[t.type]:t,[n.type]:n});navigator.clipboard.write([r])}},"Copy sequence")))})),dI=m.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),hI=p.observer((function(e){const{classes:t}=dI(),{model:r}=e,{assembly:o,feature:i,refName:a}=r,s=n.getSession(r),c=n.getSession(r),l=c.apolloDataStore.assemblies.get(o),{internetAccounts:f}=u.getRoot(s),d=f.find((e=>"ApolloInternetAccount"===e.type)),h=["admin","user"].includes((d?d.role:"admin")??"");if(!i||!l)return null;const p=l.getByRefName(a);if(!p)return null;const{max:m,min:g}=i;return p.getSequence(g,m)||c.apolloDataStore.loadRefSeq([{assemblyName:o,refName:a,start:g,end:m}]),M.default.createElement("div",{className:t.root},M.default.createElement(uI,{feature:i,session:c,assembly:l._id||"",refName:a}),M.default.createElement("hr",null),M.default.createElement(VN,{feature:i,session:c,assembly:l._id||"",editable:h}),M.default.createElement("hr",null),M.default.createElement(fI,{feature:i,session:c,assembly:l._id||"",refName:a}))})),pI=r.ConfigurationSchema("LinearApolloDisplay",{},{explicitIdentifier:"displayId",explicitlyTyped:!0}),mI=m.makeStyles()({highlighted:{background:"orange"}}),gI=({highlight:e,text:t})=>{const{classes:n}=mI();if(!e)return M.default.createElement(M.default.Fragment,null,t);const r=t.split(e);if(1===r.length)return M.default.createElement(M.default.Fragment,null,t);const o=[];for(let t=0;t<r.length-1;t++)o.push(r[t],M.default.createElement("span",{className:n.highlighted},e));return M.default.createElement(M.default.Fragment,null,o,r.at(-1))},yI=p.observer((function({feature:e,filterText:t}){const n=[...e.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]})).filter((([e])=>e)).map((([e,t])=>`${e}=${Array.isArray(t)?t.join(", "):t}`)).join(", ");return M.default.createElement(gI,{text:n,highlight:t})})),vI=m.makeStyles()((e=>({inputWrapper:{position:"relative"},hiddenWidthSpan:{padding:e.spacing(.5),color:"transparent"},numberTextInput:{border:"none",background:"inherit",font:"inherit",position:"absolute",width:"100%",left:0}}))),_I=p.observer((function({initialValue:e,notifyError:t,onChangeCommitted:n}){const[r,o]=d.useState(e),[i,a]=d.useState(!1),[s,u]=d.useState(null),{classes:c}=vI();return d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]),M.default.createElement("span",{className:c.inputWrapper},M.default.createElement("span",{className:c.hiddenWidthSpan,"aria-hidden":!0},r),M.default.createElement("input",{type:"text",value:r,className:c.numberTextInput,onChange:function(e){const t=Number(e.target.value);Number.isNaN(t)||o(t)},onKeyDown:t=>{"Enter"===t.key?s?.blur():"Escape"===t.key&&(o(e),a(!0))},onBlur:()=>{r!==e&&n(r).catch(t)},ref:e=>{u(e)}}))}));function bI(e,t){return t?.palette.bases[e.toUpperCase()].main.toString()??"lightgray"}function wI(e,t,n,r,o){const i=Math.min(n,10);e.fillStyle="#000",e.font=`${i}px`;const a=e.measureText(r).width;e.fillText(r,t+(n-a)/2,o+10)}function SI(e,t,r,o,i,a,s,u,c){let l=s.slice(u,u+3).toUpperCase();c&&(l=function(e){return[...e].map((e=>n.revcom(e))).reverse().join("")}(l));const f=n.defaultCodonTable[l];if(!f)return;const d={M:"#33ee33","*":"#f44336"}[f.toUpperCase()];d&&(e.fillStyle=d,e.fillRect(r,o,i,a)),t<=.1&&(e.rect(r,o,i,a),e.stroke(),wI(e,r,i,f,o))}function xI(e){return"featureAndGlyphUnderMouse"in e}function kI(e,t){const n=t<=1?2:0;switch(e){case 3:return 0;case 2:return 1;case 1:return 2;case-1:return 3+n;case-2:return 4+n;case-3:return 5+n}}function EI(e,t){if(!(t>1||void 0===e))return 1===e?3:4}function AI(e,t,n,r,o,i){void 0!==o&&(e.fillStyle=t?.palette.action.focus??"rgba(0,0,0,0.04)",e.fillRect(n,r*o,i,r))}function CI(e,t){return Boolean(t&&e._id===t._id)}function OI(e,t){return t?e?.palette.text.primary??"black":e?.palette.background.default??"white"}function RI(e,t,n,r,o,i){e.fillStyle=i,e.fillRect(t,n,r,o)}function NI(e,t,n){const{refName:r,regionNumber:o,x:i}=e,{lgv:a}=n,{offsetPx:s}=a,u=a.bpToPx({refName:r,coord:t.min,regionNumber:o}),c=a.bpToPx({refName:r,coord:t.max,regionNumber:o});if(void 0!==u&&void 0!==c){const e=u.offsetPx-s,t=c.offsetPx-s;if(Math.abs(t-e)<8)return;if(Math.abs(e-i)<4)return"min";if(Math.abs(t-i)<4)return"max"}}const II={draw:function(e,t,n,r,o){const{apolloRowHeight:i,lgv:a,session:s,theme:u}=r,{bpPerPx:c,displayedRegions:l,offsetPx:f}=a,d=l[o],h=(a.bpToPx({refName:d.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-f,{reversed:p}=d,{apolloSelectedFeature:m}=s,g=t.length/c,y=p?h-g:h,v=n*i,_=CI(t,m),b=OI(u,_),w=function(e,t){return t?e?.palette.getContrastText(OI(e,t))??"white":e?.palette.text.primary??"black"}(u,_);!function(e,t,n,r,o,i){RI(e,t,n,r,o,i),r<=2||e.clearRect(t+1,n+1,r-2,o-2)}(e,y,v,g,i,w),g<=2||(function(e,t,n,r,o,i){RI(e,t+1,n+1,r-2,o-2,i)}(e,y,v,g,i,b),function(e,t,n,r,o,i){e.fillStyle=o;const a=Math.max(t+1,0);e.fillText(i,a,n+11,t-1+r-a)}(e,y,v,g,w,t.type))},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:i}=e,{bpPerPx:a,displayedRegions:s,offsetPx:u}=o;if(!n)return;const{current:l,edge:f,feature:d,start:h}=n,p=Math.floor(h.y/r),m=s[h.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/a-u,y=Math.min(l.x,g),v=p*r,_=Math.abs(l.x-g),b=1*r;t.strokeStyle=i?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(i?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,_,b)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{bpPerPx:u,displayedRegions:c,offsetPx:l}=o,{layoutIndex:f,layoutRow:d}=s,h=c[f],{refName:p,reversed:m}=h,{length:g,max:y,min:v}=a,_=(o.bpToPx({refName:p,coord:m?y:v,regionNumber:f})?.offsetPx??0)-l,b=d*r,w=g/u;t.fillStyle=i?.palette.action.focus??"rgba(0,0,0,0.04)",t.fillRect(_,b,w,r)},drawTooltip:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{featureRow:u,layoutIndex:l,layoutRow:f}=s,{bpPerPx:d,displayedRegions:h,offsetPx:p}=o,m=h[l],{refName:g,reversed:y}=m;let v="Loc: ";const{length:_,max:b,min:w}=a;v+=`${w+1}–${b}`;let S=(o.bpToPx({refName:g,coord:y?b:w,regionNumber:l})?.offsetPx??0)-p;const x=(f+u)*r,k=_/d,E=`Type: ${a.type}`,{attributes:A}=a,C=A.get("gff_name")?.find((e=>""!==e)),O=[t.measureText(E).width,t.measureText(v).width];C&&O.push(t.measureText(`Name: ${C}`).width);const R=Math.max(...O);S=S+k+5,t.fillStyle=c.alpha(i?.palette.text.primary??"rgb(1, 1, 1)",.7),t.fillRect(S,x,R+4,3===O.length?45:35),t.beginPath(),t.moveTo(S,x),t.lineTo(S-5,x+5),t.lineTo(S,x+10),t.fill(),t.fillStyle=i?.palette.background.default??"rgba(255, 255, 255)";let N=x+12;t.fillText(E,S+2,N),C&&(N+=12,t.fillText(`Name: ${C}`,S+2,N)),N+=12,t.fillText(v,S+2,N)},getContextMenuItems:function(e){const{apolloHover:t,apolloInternetAccount:r,changeManager:o,regions:i,selectedFeature:a,session:s}=e,u=[];if(!t)return u;const{feature:c}=t,l=r?r.role:"admin",f="admin"===l,d=!(l&&["admin","user"].includes(l)),[h]=i,p=e.getAssemblyId(h.assemblyName),m=e.getAssemblyId(h.assemblyName);return u.push({label:"Add child feature",disabled:d,onClick:()=>{s.queueDialog((e=>[AR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:p,internetAccount:r}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{s.queueDialog((e=>[RR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{s.queueDialog((t=>[IR,{session:s,handleClose:()=>{t()},changeManager:o,sourceFeature:c,sourceAssemblyId:m,selectedFeature:a,setSelectedFeature:t=>{e.setSelectedFeature(t)}}]))}},{label:"Modify feature attribute",disabled:d,onClick:()=>{s.queueDialog((e=>[QR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Edit feature details",onClick:()=>{const e=s.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:c,assembly:m,refName:h.refName});s.showWidget(e)}}),"mRNA"===c.type&&n.isSessionModelWithWidgets(s)&&u.push({label:"Edit transcript details",onClick:()=>{const e=s.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:c,assembly:m,changeManager:o,refName:h.refName});s.showWidget(e)}}),u},getFeatureFromLayout:function(e,t,n){return e},getRowCount:function(e){return 1},getRowForFeature:function(e,t){return 0},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,i=NI(t,o,e);i&&(n.stopPropagation(),e.startDrag(t,o,i))},onMouseLeave:function(){},onMouseMove:function(e,t){if(xI(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(NI(t,r,e))return void e.setCursor("col-resize")}e.setCursor()},onMouseUp:function(e,t){if(e.apolloDragging)return;const{featureAndGlyphUnderMouse:n}=t;n?.feature&&e.setSelectedFeature(n.feature)}};let PI=null,TI=null,MI=null,jI=null;if("document"in globalThis)for(const e of["forward","backward"])for(const t of["light","dark"]){const n=document.createElement("canvas"),r=10;n.width=n.height=r;const o=n.getContext("2d");if(o){const i="light"===t?"rgba(0,0,0,0)":"rgba(0,0,0,0.75)",a="light"===t?"rgba(255,255,255,0.25)":"rgba(0,0,0,0.50)",s="forward"===e?o.createLinearGradient(0,r,r,0):o.createLinearGradient(0,0,r,r);s.addColorStop(0,i),s.addColorStop(.25,i),s.addColorStop(.25,a),s.addColorStop(.5,a),s.addColorStop(.5,i),s.addColorStop(.75,i),s.addColorStop(.75,a),s.addColorStop(1,a),o.fillStyle=s,o.fillRect(0,0,10,10),"forward"===e?"light"===t?PI=o.createPattern(n,"repeat"):MI=o.createPattern(n,"repeat"):"light"===t?TI=o.createPattern(n,"repeat"):jI=o.createPattern(n,"repeat")}}function FI(e,t){const{children:n,type:r}=e;if(!n)return 1;let o=0;if("mRNA"===r){for(const[,e]of n)"CDS"===e.type&&(o+=1);return o}for(const[,e]of n)o+=FI(e);return o}function LI(e){if("gene"!==e.type)throw new Error('Top level feature for GeneGlyph must have type "gene"');const{children:t}=e;if(!t)return[[e]];const n=[];for(const[,r]of t){if("mRNA"!==r.type){n.push([r,e]);continue}if(!r.children)continue;const t=[],o=[];for(const[,e]of r.children)"CDS"===e.type?t.push(e):"exon"===e.type&&o.push(e);for(const i of t)n.push([i,...o,r,e])}return n}function DI(e,t,r){if("gene"===t.type||"mRNA"===t.type)return;const{bp:o,refName:i,regionNumber:a,x:s}=e,{lgv:u}=r,{offsetPx:c}=u,l=u.bpToPx({refName:i,coord:t.min,regionNumber:a}),f=u.bpToPx({refName:i,coord:t.max,regionNumber:a});if(void 0===l||void 0===f)return;const d=l.offsetPx-c,h=f.offsetPx-c;if(!(Math.abs(h-d)<8)){if(Math.abs(d-s)<4)return{feature:t,edge:"min"};if(Math.abs(h-s)<4)return{feature:t,edge:"max"};if("CDS"===t.type){const e=t.parent;if(!e?.children)return;const r=[...e.children.values()].filter((e=>"exon"===e.type)).find((e=>{const[t,r]=n.intersection2(o,o+1,e.min,e.max);return void 0!==t&&void 0!==r}));if(!r)return;const l=u.bpToPx({refName:i,coord:r.min,regionNumber:a}),f=u.bpToPx({refName:i,coord:r.max,regionNumber:a});if(void 0===l||void 0===f)return;const d=l.offsetPx-c,h=f.offsetPx-c;if(Math.abs(h-d)<8)return;if(Math.abs(d-s)<4)return{feature:r,edge:"min"};if(Math.abs(h-s)<4)return{feature:r,edge:"max"}}}}const{drawTooltip:qI,getContextMenuItems:BI,onMouseLeave:UI}=II,zI={draw:function(e,t,r,o,i){const{apolloRowHeight:a,lgv:s,session:u,theme:l}=o,{bpPerPx:f,displayedRegions:d,offsetPx:h}=s,p=d[i],{refName:m,reversed:g}=p,y=a,v=Math.round(.6*y),_=Math.round(.9*y),{children:b,min:w,strand:S}=t;if(!b)return;const{apolloSelectedFeature:x}=u,k=(s.bpToPx({refName:m,coord:w,regionNumber:i})?.offsetPx??0)-h,E=t.length/f,A=g?k-E:k,C=r*y,O=FI(t)*y;e.fillStyle=c.alpha(l?.palette.background.paper??"#ffffff",.6),e.fillRect(A,C,E,O);let R=0;for(const[,t]of b){if("mRNA"!==t.type){R+=1;continue}const{children:n,min:o}=t;if(n)for(const[,a]of n){if("CDS"!==a.type)continue;const n=(s.bpToPx({refName:m,coord:o,regionNumber:i})?.offsetPx??0)-h,u=t.length/f,c=g?n-u:n,d=Math.round((R+.5)*y)+r*y;e.strokeStyle=l?.palette.text.primary??"black",e.beginPath(),e.moveTo(c,d),e.lineTo(c+u,d),e.stroke(),R+=1}}const N="dark"===l?.palette.mode?MI:PI,I="dark"===l?.palette.mode?jI:TI;R=0;for(const[,t]of b)if("mRNA"===t.type)for(const o of t.cdsLocations){const{_id:a,children:u}=t;if(u){for(const[,t]of u){if("exon"!==t.type)continue;const n=(s.bpToPx({refName:m,coord:t.min,regionNumber:i})?.offsetPx??0)-h,o=t.length/f,a=g?n-o:n,u=(r+R)*y+(y-v)/2;if(e.fillStyle=l?.palette.text.primary??"black",e.fillRect(a,u,o,v),o>2&&(e.clearRect(a+1,u+1,o-2,v-2),e.fillStyle=x&&t._id===x._id?"rgb(0,0,0)":"rgb(211,211,211)",e.fillRect(a+1,u+1,o-2,v-2),N&&I&&S)){const t=g?-1:1,[n,r]=S*t==1?[N,I]:[I,N];e.fillStyle=n,e.fillRect(a+1,u+1,o-2,(v-2)/2),e.fillStyle=r,e.fillRect(a+1,u+1+(v-2)/2,o-2,(v-2)/2)}}for(const u of o){const o=(u.max-u.min)/f,c=(s.bpToPx({refName:m,coord:u.min,regionNumber:i})?.offsetPx??0)-h,d=g?c-o:c;e.fillStyle=l?.palette.text.primary??"black";const p=(r+R)*y+(y-_)/2;if(e.fillRect(d,p,o,_),o>2){e.clearRect(d+1,p+1,o-2,_-2);const r=n.getFrame(u.min,u.max,t.strand??1,u.phase),i=l?.palette.framesCDS.at(r)?.main,s=i??"rgb(171,71,188)";if(e.fillStyle=x&&a===x._id?"rgb(0,0,0)":s,e.fillStyle=s,e.fillRect(d+1,p+1,o-2,_-2),N&&I&&S){const t=g?-1:1,[n,r]=S*t==1?[N,I]:[I,N];e.fillStyle=n,e.fillRect(d+1,p+1,o-2,(_-2)/2),e.fillStyle=r,e.fillRect(d+1,p+(_-2)/2,o-2,(_-2)/2)}}}R+=1}}else II.draw(e,t,r,o,i),R+=1},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:i}=e,{bpPerPx:a,displayedRegions:s,offsetPx:u}=o;if(!n)return;const{current:l,edge:f,feature:d,start:h}=n,p=Math.floor(h.y/r),m=s[h.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/a-u,y=Math.min(l.x,g),v=p*r,_=Math.abs(l.x-g),b=1*r;t.strokeStyle=i?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(i?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,_,b)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{bpPerPx:u,displayedRegions:c,offsetPx:l}=o,{featureRow:f,layoutIndex:d,layoutRow:h}=s,p=c[d],{refName:m,reversed:g}=p,{length:y,max:v,min:_}=a,b=(o.bpToPx({refName:m,coord:g?v:_,regionNumber:d})?.offsetPx??0)-l,w=(h+f)*r,S=y/u;t.fillStyle=i?.palette.action.selected??"rgba(0,0,0,04)",t.fillRect(b,w,S,r*FI(a))},drawTooltip:qI,getContextMenuItems:BI,getFeatureFromLayout:function(e,t,n){const r=LI(e)[n]||[];for(const e of r){let n;if(t>=e.min&&t<=e.max&&e.parent&&(n=e),n){if("CDS"===n.type&&n.parent&&"mRNA"===n.parent.type){const{cdsLocations:e}=n.parent;for(const r of e)for(const e of r)if(t>=e.min&&t<=e.max)return n;return n.parent}return n}}return e},getRowCount:FI,getRowForFeature:function(e,t){const n=LI(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,i=DI(t,o,e);i&&(n.stopPropagation(),e.startDrag(t,i.feature,i.edge))},onMouseLeave:UI,onMouseMove:function(e,t){if(xI(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(DI(t,r,e))return void e.setCursor("col-resize")}e.setCursor()},onMouseUp:function(e,t){if(e.apolloDragging)return;const{featureAndGlyphUnderMouse:n}=t;n?.feature&&e.setSelectedFeature(n.feature)}};function GI(e){const t=[[e]];if(e.children)for(const[,n]of e.children)t.push(...GI(n));return t}function HI(e){return GI(e).length}function WI(e,t,n,r,o,i){const a=GI(t)[n-r];for(const t of a)VI(e,t,n,o,i)}function VI(e,t,n,r,o){const{apolloRowHeight:i,lgv:a,session:s}=r,{bpPerPx:u,displayedRegions:c,offsetPx:l}=a,f=c[o],d=(a.bpToPx({refName:f.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-l,{reversed:h}=f,{apolloSelectedFeature:p}=s,m=t.length/u,g=h?d-m:d,y=n*i,v=HI(t),_=CI(t,p);v>1&&RI(e,g,y,m,v*i,_?"rgba(130,0,0,0.45)":"rgba(255,0,0,0.25)"),II.draw(e,t,n,r,o)}const{drawDragPreview:$I,drawTooltip:JI,getContextMenuItems:KI,onMouseDown:YI,onMouseLeave:ZI,onMouseMove:XI,onMouseUp:QI}=II,eP={draw:function(e,t,n,r,o){for(let i=0;i<HI(t);i++)WI(e,t,n+i,n,r,o)},drawDragPreview:$I,drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o}=e;if(!n)return;const{feature:i}=n,a=e.getFeatureLayoutPosition(i);if(!a)return;const{featureRow:s,layoutIndex:u,layoutRow:c}=a,{bpPerPx:l,displayedRegions:f,offsetPx:d}=o,h=f[u],{refName:p,reversed:m}=h,{length:g,max:y,min:v}=i,_=(o.bpToPx({refName:p,coord:m?y:v,regionNumber:u})?.offsetPx??0)-d,b=(c+s)*r,w=g/l;t.fillStyle="rgba(0,0,0,0.2)",t.fillRect(_,b,w,r*HI(i))},drawTooltip:JI,getContextMenuItems:KI,getFeatureFromLayout:function(e,t,n){return GI(e)[n].find((e=>t>=e.min&&t<=e.max))},getRowCount:HI,getRowForFeature:function(e,t){const n=GI(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:YI,onMouseLeave:ZI,onMouseMove:XI,onMouseUp:QI};function tP(e){return function(e){const{children:t}=e;if(!t?.size)return!1;for(const[,e]of t)if("mRNA"===e.type){const{children:t}=e;if(!t?.size)return!1;const n=[...t.values()].some((e=>"CDS"===e.type)),r=[...t.values()].some((e=>"exon"===e.type));if(n&&r)return!0}return!1}(e)?zI:e.children?.size?eP:II}const nP=m.makeStyles()((e=>({typeContent:{display:"inline-block",width:"174px",height:"100%",cursor:"text"},feature:{td:{position:"relative",verticalAlign:"top",paddingLeft:"0.5em"}},arrow:{display:"inline-block",width:"1.6em",textAlign:"center",cursor:"pointer"},arrowExpanded:{transform:"rotate(90deg)"},hoveredFeature:{backgroundColor:e.palette.action.hover},typeInputElement:{border:"none",background:"none"},typeErrorMessage:{color:"red"}})));function rP(e,t){const{changeManager:r,getAssemblyId:o,regions:i,selectedFeature:a,session:s,setSelectedFeature:c}=e;return function(e,t,r,o,i,a,s){const c=function(e){const{internetAccounts:t}=u.getParent(e);return t.find((e=>"ApolloInternetAccount"===e.type))}(a),l=c?c.role:"admin",f="admin"===l,d=!(l&&["admin","user"].includes(l)),h=[];if(e){const u=r(t.assemblyName),l=r(t.assemblyName);h.push({label:"Edit feature details",onClick:()=>{const n=a.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:e,assembly:l,refName:t.refName});a.showWidget(n)}},{label:"Add child feature",disabled:d,onClick:()=>{a.queueDialog((t=>[AR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:u,internetAccount:c}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{a.queueDialog((t=>[RR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{a.queueDialog((t=>[IR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l,selectedFeature:o,setSelectedFeature:i}]))}},{label:"Edit attributes",disabled:d,onClick:()=>{a.queueDialog((t=>[QR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l}]))}}),"mRNA"===e.type&&n.isSessionModelWithWidgets(a)&&h.push({label:"Edit transcript details",onClick:()=>{const n=a.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:e,assembly:l,changeManager:s,refName:t.refName});a.showWidget(n)}})}return h}(t,i[0],o,a,c,s,r)}function oP(e){let t=e;for(;t.parent;)t=t.parent;return t}const iP=p.observer((function e({depth:t,feature:n,isHovered:r,isSelected:o,model:i,selectedFeatureClass:a,setContextMenu:s}){const{classes:u}=nP(),{apolloHover:c,changeManager:l,selectedFeature:f,session:d,tabularEditor:h}=i,{featureCollapsed:p,filterText:m}=h,{_id:g,children:y,max:v,min:_,strand:b,type:w}=n,S=!p.get(g),x=e=>{d.notify(e.message,"error")};return M.default.createElement(M.default.Fragment,null,M.default.createElement("tr",{onMouseEnter:e=>{i.setApolloHover({feature:n,topLevelFeature:oP(n),glyph:tP(oP(n))})},className:u.feature+(o?` ${a}`:r?` ${u.hoveredFeature}`:""),onClick:e=>{e.stopPropagation(),i.setSelectedFeature(n)},onContextMenu:e=>(e.preventDefault(),s({position:{left:e.clientX+2,top:e.clientY-6},items:rP(i,n)}),!1)},M.default.createElement("td",{style:{whiteSpace:"nowrap",borderLeft:2*t+"em solid transparent"}},y?.size?M.default.createElement("div",{onClick:e=>{e.stopPropagation(),h.setFeatureCollapsed(g,S)},className:u.arrow+(S?` ${u.arrowExpanded}`:"")},"❯"):null,M.default.createElement("div",{className:u.typeContent},M.default.createElement(ER,{session:d,ontologyName:"Sequence Ontology",style:{width:170},value:w,filterTerms:SR,fetchValidTerms:aP.bind(null,n),renderInput:e=>M.default.createElement("div",{ref:e.InputProps.ref},M.default.createElement("input",{type:"text",...e.inputProps,className:u.typeInputElement,style:{width:170}}),e.error?M.default.createElement("div",{className:u.typeErrorMessage},e.errorMessage??"unknown error"):null),onChange:(e,t)=>{t&&function(e,t,n,r){const o=t._id,i=new nr.TypeChange({typeName:"TypeChange",changedIds:[o],featureId:o,oldType:String(n),newType:String(r),assembly:t.assemblyId});return e.submit(i)}(l,n,e,t).catch(x)}}))),M.default.createElement("td",null,M.default.createElement(_I,{initialValue:_+1,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,i=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[o],featureId:o,oldStart:n,newStart:r,assembly:t.assemblyId});return e.submit(i)}(l,n,_,e-1)})),M.default.createElement("td",null,M.default.createElement(_I,{initialValue:v,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,i=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[o],featureId:o,oldEnd:n,newEnd:r,assembly:t.assemblyId});return e.submit(i)}(l,n,v,e)})),M.default.createElement("td",null,1===b?"+":-1===b?"-":void 0),M.default.createElement("td",null,M.default.createElement(yI,{filterText:m,feature:n}))),S&&y?[...y.entries()].filter((e=>{if(!m)return!0;const[,t]=e;return JSON.stringify(t).includes(m)})).map((([n,r])=>M.default.createElement(e,{isHovered:c?.feature._id===r._id,isSelected:f?._id===r._id,selectedFeatureClass:a,key:n,depth:(t||0)+1,feature:r,model:i,setContextMenu:s}))):null)}));async function aP(e,t,n){const{parent:r}=e;if(r){const e=(await t.getTermsWithLabelOrSynonym(r.type,{includeSubclasses:!1})).filter(SR);if(e.length>0)return await t.getClassesThat("part_of",e)}}const sP=m.makeStyles()((e=>({scrollableTable:{width:"100%",height:"100%",th:{position:"sticky",top:0,zIndex:2,textAlign:"left",background:e.palette.background.paper,paddingTop:"3.2em"},td:{whiteSpace:"normal"}},selectedFeature:{backgroundColor:e.palette.action.selected}}))),uP=p.observer((function({model:e}){const{apolloHover:t,seenFeatures:n,selectedFeature:r,tabularEditor:o}=e,i=c.useTheme(),{classes:a}=sP(),s=d.useRef(null),[u,l]=d.useState(null),{filterText:f}=o;return d.useEffect((()=>{const e=s.current;if(e&&r){const t=e.querySelector(`.${a.selectedFeature}`);if(t){const n=e.scrollTop,r=t.offsetTop-25;r>n&&r<n+e.offsetHeight||e.scroll({top:r-40,behavior:"smooth"})}}}),[r,n,a.selectedFeature]),M.default.createElement("div",{ref:s,style:{width:"100%",overflowY:"auto",height:"100%"}},M.default.createElement("table",{className:a.scrollableTable},M.default.createElement("thead",null,M.default.createElement("tr",null,M.default.createElement("th",null,"Type"),M.default.createElement("th",null,"Start"),M.default.createElement("th",null,"End"),M.default.createElement("th",null,"Strand"),M.default.createElement("th",null,"Attributes"))),M.default.createElement("tbody",null,[...n.entries()].filter((e=>{if(!f)return!0;const[,t]=e;return JSON.stringify(t).includes(f)})).sort(((e,t)=>e[1].min-t[1].min)).map((([n,o])=>M.default.createElement(iP,{key:n,isSelected:r?._id===n,isHovered:t?.feature._id===n,selectedFeatureClass:a.selectedFeature,feature:o,model:e,depth:0,setContextMenu:l}))))),M.default.createElement(h.Menu,{open:Boolean(u),onMenuItemClick:(e,t)=>{t(),l(null)},onClose:()=>{l(null)},TransitionProps:{onExit:()=>{l(null)}},style:{zIndex:i.zIndex.tooltip},menuItems:u?.items??[],anchorReference:"anchorPosition",anchorPosition:u?.position}))}));var cP={},lP=Hu.exports;Object.defineProperty(cP,"__esModule",{value:!0});var fP=cP.default=void 0;fP=cP.default=(0,lP(Wu).default)((0,N.default.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");var dP={},hP=Hu.exports;Object.defineProperty(dP,"__esModule",{value:!0});var pP=dP.default=void 0;pP=dP.default=(0,hP(Wu).default)((0,N.default.jsx)("path",{d:"M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"}),"UnfoldLess");const mP=m.makeStyles()({toolbar:{width:"100%",display:"flex",paddingRight:"2em",flexDirection:"row",justifyContent:"space-between",position:"absolute",zIndex:4},filterText:{}}),gP=p.observer((function({model:e}){const t=e.tabularEditor,{classes:n}=mP();return M.default.createElement("div",{className:n.toolbar},M.default.createElement(c.Tooltip,{title:"Collapse all"},M.default.createElement(c.IconButton,{"aria-label":"collapse",sx:{marginTop:0},onClick:t.collapseAllFeatures},M.default.createElement(pP,null))),M.default.createElement(c.TextField,{className:n.filterText,label:"Filter features",value:t.filterText,sx:{marginTop:0},variant:"outlined",onChange:e=>{t.setFilterText(e.target.value)},InputProps:{endAdornment:M.default.createElement(c.InputAdornment,{position:"end"},M.default.createElement(c.IconButton,{onClick:()=>{t.clearFilterText()}},M.default.createElement(fP,null)))}}))}));function yP(e){e.stopPropagation()}const vP=p.observer((function({model:e}){return e.tabularEditor.isShown?M.default.createElement("div",{onMouseDown:yP,onClick:yP,style:{width:"100%",height:"100%",position:"relative"}},M.default.createElement(gP,{model:e}),M.default.createElement(uP,{model:e})):null})),_P=u.types.model("TabularEditor",{isShown:!0,featureCollapsed:u.types.map(u.types.boolean),filterText:""}).actions((e=>({setFeatureCollapsed(t,n){e.featureCollapsed.set(t,n)},setFilterText(t){e.filterText=t},clearFilterText(){e.filterText=""},collapseAllFeatures(){const t=u.getParent(e);for(const[n]of t.seenFeatures.entries())e.featureCollapsed.set(n,!0)},togglePane(){e.isShown=!e.isShown},hidePane(){e.isShown=!1},showPane(){e.isShown=!0}})));function bP(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return o.BaseDisplay.named("BaseLinearApolloDisplay").props({type:u.types.literal("LinearApolloDisplay"),configuration:r.ConfigurationReference(t),graphical:!0,table:!1,heightPreConfig:u.types.maybe(u.types.refinement("displayHeight",u.types.number,(e=>e>=20)))}).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...k.getParentRenderProps(e),config:t.renderer})}})).volatile((()=>({scrollTop:0}))).views((e=>({get lgv(){return n.getContainingView(e)},get height(){return e.heightPreConfig?e.heightPreConfig:e.graphical&&e.table?500:e.graphical?200:300}}))).views((e=>({get rendererTypeName(){return e.configuration.renderer.type},get session(){return n.getSession(e)},get regions(){return e.lgv.dynamicBlocks.contentBlocks.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:Math.round(r),end:Math.round(t)})))},regionCannotBeRendered(){if(e.lgv&&e.lgv.bpPerPx>=200)return"Zoom in to see annotations"}}))).views((e=>({get apolloInternetAccount(){const[t]=e.regions,{internetAccounts:n}=u.getRoot(e),{assemblyName:o}=t,{assemblyManager:i}=e.session,a=i.get(o);if(!a)throw new Error(`No assembly found with name ${o}`);const{internetAccountConfigId:s}=r.getConf(a,["sequence","metadata"]);return n.find((e=>r.getConf(e,"internetAccountId")===s))},get changeManager(){return e.session.apolloDataStore.changeManager},getAssemblyId(t){const{assemblyManager:n}=e.session,r=n.get(t);if(!r)throw new Error(`Could not find assembly named ${t}`);return r.name},get selectedFeature(){return e.session.apolloSelectedFeature}}))).actions((e=>({setScrollTop(t){e.scrollTop=t},setHeight:t=>(e.heightPreConfig=Math.max(t,20),e.height),resizeHeight(t){const n=e.height;return this.setHeight(e.height+t)-n},showGraphicalOnly(){e.graphical=!0,e.table=!1},showTableOnly(){e.graphical=!1,e.table=!0},showGraphicalAndTable(){e.graphical=!0,e.table=!0}}))).views((e=>{const{trackMenuItems:t}=e;return{trackMenuItems(){const{graphical:n,table:r}=e;return[...t(),{type:"subMenu",label:"Appearance",subMenu:[{label:"Show graphical display",type:"radio",checked:n&&!r,onClick:()=>{e.showGraphicalOnly()}},{label:"Show table display",type:"radio",checked:r&&!n,onClick:()=>{e.showTableOnly()}},{label:"Show both graphical and table display",type:"radio",checked:r&&n,onClick:()=>{e.showGraphicalAndTable()}}]}]}}})).actions((e=>({setSelectedFeature(t){e.session.apolloSetSelectedFeature(t)},afterAttach(){u.addDisposer(e,s.autorun((()=>{e.lgv.initialized&&!e.regionCannotBeRendered()&&(e.session.apolloDataStore.loadFeatures(e.regions),e.lgv.bpPerPx<=3&&e.session.apolloDataStore.loadRefSeq(e.regions))}),{name:"LinearApolloDisplayLoadFeatures",delay:1e3}))}})))}(0,t);return i.named("LinearApolloDisplayLayouts").props({featuresMinMaxLimit:5e5}).volatile((()=>({seenFeatures:s.observable.map()}))).views((e=>({get featuresMinMax(){const{assemblyManager:t}=e.session;return e.lgv.displayedRegions.map((r=>{const o=t.get(r.assemblyName);let i,a;const{end:s,refName:u,start:c}=r;for(const[,t]of e.seenFeatures)u!==o?.getCanonicalRefName(t.refSeq)||!n.doesIntersect2(c,s,t.min,t.max)||t.length>e.featuresMinMaxLimit||(void 0===i&&({min:i}=t),void 0===a&&({max:a}=t),t.minWithChildren<i&&({min:i}=t),t.maxWithChildren>a&&({max:a}=t));if(void 0!==i&&void 0!==a)return[i,a]}))}}))).actions((e=>({addSeenFeature(t){e.seenFeatures.set(t._id,t)},deleteSeenFeature(t){e.seenFeatures.delete(t)}}))).views((e=>({get featureLayouts(){const{assemblyManager:t}=e.session;return e.lgv.displayedRegions.map(((r,o)=>{const i=t.get(r.assemblyName),a=new Map,s=e.featuresMinMax[o];if(!s)return a;const[c,l]=s,f=[],{end:d,refName:h,start:p}=r;for(const[t,r]of e.seenFeatures.entries()){if(!u.isAlive(r)){e.deleteSeenFeature(t);continue}if(h!==i?.getCanonicalRefName(r.refSeq)||!n.doesIntersect2(p,d,r.min,r.max))continue;const o=tP(r).getRowCount(r,e.lgv.bpPerPx);let s=0,m=!1;for(;!m;){let e=f.slice(s,s+o);if(e.length<o){for(let t=0;t<o-e.length;t++){const e=f.length;f[e]=Array.from({length:l-c}),a.set(e,[])}e=f.slice(s,s+o)}if(e.map((e=>{const t=r.max-r.min==0?r.min+1:r.max;let n=r.min-c,o=t-c;return r.min-c<0&&(n=0,o=t-r.min),e.slice(n,o).some(Boolean)})).some(Boolean))s+=1;else{for(let e=s;e<s+o;e++){let t=r.min-c,n=r.max-c;r.min-c<0&&(t=0,n=r.max-r.min),f[e].fill(!0,t,n);const o=a.get(e);o?.push([e-s,r])}m=!0}}}return a}))},getFeatureLayoutPosition(e){const{featureLayouts:t}=this;for(const[n,r]of t.entries())for(const[t,o]of r)for(const[r,i]of o)if(0===r){if(e._id===i._id)return{layoutIndex:n,layoutRow:t,featureRow:r};if(i.hasDescendant(e._id)){const r=tP(i).getRowForFeature(i,e);if(void 0!==r)return{layoutIndex:n,layoutRow:t,featureRow:r}}}}}))).views((e=>({get highestRow(){return Math.max(0,...e.featureLayouts.map((e=>Math.max(...e.keys()))))}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(e.lgv.initialized&&!e.regionCannotBeRendered())for(const t of e.regions){const r=e.session.apolloDataStore.assemblies.get(t.assemblyName),o=r?.getByRefName(t.refName),i=o?.features;if(i)for(const[,r]of i)n.doesIntersect2(t.start,t.end,r.min,r.max)&&!e.seenFeatures.has(r._id)&&e.addSeenFeature(r)}}),{name:"LinearApolloDisplaySetSeenFeatures",delay:1e3}))}})))}(0,t).named("LinearApolloDisplayRendering").props({sequenceRowHeight:15,apolloRowHeight:20,detailsMinHeight:200,detailsHeight:200,lastRowTooltipBufferHeight:40,isShown:!0}).volatile((()=>({canvas:null,overlayCanvas:null,collaboratorCanvas:null,seqTrackCanvas:null,seqTrackOverlayCanvas:null,theme:void 0}))).views((e=>({get featuresHeight(){return(e.highestRow+1)*e.apolloRowHeight+e.lastRowTooltipBufferHeight}}))).actions((e=>({toggleShown(){e.isShown=!e.isShown},setDetailsHeight(t){e.detailsHeight=e.isShown?Math.max(Math.min(t,e.height-100),Math.min(e.height,e.detailsMinHeight)):t},setCanvas(t){e.canvas=t},setOverlayCanvas(t){e.overlayCanvas=t},setCollaboratorCanvas(t){e.collaboratorCanvas=t},setSeqTrackCanvas(t){e.seqTrackCanvas=t},setSeqTrackOverlayCanvas(t){e.seqTrackOverlayCanvas=t},setTheme(t){e.theme=t},afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.collaboratorCanvas?.getContext("2d");if(t){t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.featuresHeight);for(const n of e.session.collaborators){const{locations:r}=n;if(0===r.length)continue;let o=0;for(const i of e.lgv.displayedRegions){for(const a of r){if(a.refSeq!==i.refName)continue;const{end:r,refSeq:s,start:u}=a,c=e.lgv.bpToPx({refName:s,coord:u,regionNumber:o});if(!c)continue;const l=c.offsetPx-e.lgv.offsetPx,f=(r-u)/e.lgv.bpPerPx;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(l,1,f,100),t.fillStyle="black",t.fillText(n.name,l+1,11,f-2)}o++}}}}),{name:"LinearApolloDisplayRenderCollaborators"}))}})))}(0,t);return i.actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((async()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;if(e.lgv.bpPerPx>3)return;const t=e.seqTrackCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.lgv.bpPerPx<=1?125:95);const r=e.lgv.bpPerPx<=1?[3,2,1,0,0,-1,-2,-3]:[3,2,1,-1,-2,-3];let o=0;for(const n of r){const r=e.theme?.palette.framesCDS.at(n)?.main;r&&(t.fillStyle=r,t.fillRect(0,o,e.lgv.dynamicBlocks.totalWidthPx,e.sequenceRowHeight)),o+=e.sequenceRowHeight}for(const[r,o]of e.regions.entries()){const i=e.session.apolloDataStore.getBackendDriver(o.assemblyName);if(!i)throw new Error("Failed to get the backend driver");const{seq:a}=await i.getSequence(o);if(!a)return;for(const[i,s]of[...a].entries()){const u=(e.lgv.bpToPx({refName:o.refName,coord:o.start+i,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,c=3/e.lgv.bpPerPx,l=e.lgv.displayedRegions[r].reversed?u-c:u;for(let n=2;n>=0;n--)(o.start+i)%3===n&&SI(t,e.lgv.bpPerPx,l,e.sequenceRowHeight*(2-n),c,e.sequenceRowHeight,a,i,!1);if(e.lgv.bpPerPx<=1){const a=(e.lgv.bpToPx({refName:o.refName,coord:o.start+i,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,u=1/e.lgv.bpPerPx,c=e.lgv.displayedRegions[r].reversed?a-u:a;t.beginPath(),t.fillStyle=bI(s,e.theme),t.rect(c,3*e.sequenceRowHeight,u,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),wI(t,c,u,s,3*e.sequenceRowHeight));const l=n.revcom(s);t.beginPath(),t.fillStyle=bI(l,e.theme),t.rect(c,4*e.sequenceRowHeight,u,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),wI(t,c,u,l,4*e.sequenceRowHeight))}for(let n=0;n<=2;n++)(o.start+i)%3===n&&SI(t,e.lgv.bpPerPx,l,e.sequenceRowHeight*((e.lgv.bpPerPx<=1?5:3)+n),c,e.sequenceRowHeight,a,i,!0)}}}),{name:"LinearApolloDisplayRenderSequence"}))}})))}(0,t).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{const{canvas:t,featureLayouts:r,featuresHeight:o,lgv:i}=e;if(!i.initialized||e.regionCannotBeRendered())return;const{displayedRegions:a,dynamicBlocks:s}=i,u=t?.getContext("2d");if(u){u.clearRect(0,0,s.totalWidthPx,o);for(const[t,o]of r.entries()){const r=a[t];for(const[i,a]of o.entries())for(const[o,s]of a)o>0||n.doesIntersect2(r.start,r.end,s.min,s.max)&&tP(s).draw(u,s,i,e,t)}}}),{name:"LinearApolloDisplayRenderFeatures"}))}})))}(0,t);return i.named("LinearApolloDisplayMouseEvents").volatile((()=>({apolloDragging:null,cursor:void 0,apolloHover:void 0}))).views((e=>({getMousePosition(t){const n=function(e,t){const n=e.currentTarget,{clientX:r,clientY:o}=e,{left:i,top:a}=n.getBoundingClientRect(),s=r-i,u=o-a,{coord:c,index:l,refName:f}=t.pxToBp(s);return{x:s,y:u,refName:f,bp:c,regionNumber:l}}(t,e.lgv),{bp:r,regionNumber:o,y:i}=n,a=Math.floor(i/e.apolloRowHeight),s=e.featureLayouts[o].get(a);if(!s)return n;const u=s.find((e=>r>=e[1].min&&r<=e[1].max));if(!u)return n;const[c,l]=u,f=tP(l),d=f.getFeatureFromLayout(l,r,c);return d?{...n,featureAndGlyphUnderMouse:{feature:d,topLevelFeature:l,glyph:f}}:n}}))).actions((e=>({continueDrag(t,n){if(!e.apolloDragging)throw new Error("continueDrag() called with no current drag in progress");n.stopPropagation(),e.apolloDragging={...e.apolloDragging,current:t}},setDragging(t){e.apolloDragging=t??null}}))).actions((e=>({setApolloHover(t){e.apolloHover=t},setCursor(t){e.cursor!==t&&(e.cursor=t)}}))).actions((()=>({onClick(){}})))}(0,t).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.seqTrackOverlayCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.lgv.bpPerPx<=1?125:95);const{apolloHover:r,lgv:o,regions:i,sequenceRowHeight:a,theme:s}=e;if(!r)return;const{feature:u}=r;for(const[e,r]of i.entries())if("CDS"===u.type){const i=u.parent;if(!i)continue;const c=i.cdsLocations.find((e=>u.min===e.at(0)?.min&&u.max===e.at(-1)?.max));if(!c)continue;for(const i of c){const c=kI(n.getFrame(i.min,i.max,u.strand??1,i.phase),o.bpPerPx),l=(o.bpToPx({refName:r.refName,coord:i.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,f=(i.max-i.min)/o.bpPerPx;AI(t,s,o.displayedRegions[e].reversed?l-f:l,a,c,f)}}else{const n=EI(u.strand,o.bpPerPx),i=(o.bpToPx({refName:r.refName,coord:u.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,c=u.length/o.bpPerPx;AI(t,s,o.displayedRegions[e].reversed?i-c:i,a,n,c)}}),{name:"LinearApolloDisplayRenderSeqHighlight"}))}})))}(0,t);return i.views((e=>({contextMenuItems(t){const{apolloHover:n}=e;if(!n||!t)return[];const{topLevelFeature:r}=n;return tP(r).getContextMenuItems(e)}}))).actions((e=>({startDrag(t,n,r){e.apolloDragging={start:t,current:t,feature:n,edge:r}},endDrag(){if(!e.apolloDragging)throw new Error("endDrag() called with no current drag in progress");const{current:t,edge:n,feature:r,start:o}=e.apolloDragging;if(Math.abs(t.x-o.x)<=4)return e.setDragging(),void e.setCursor();const{displayedRegions:i}=e.lgv,a=e.getAssemblyId(i[o.regionNumber].assemblyName);let s;if("max"===n){const e=r._id;s=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[e],featureId:e,oldEnd:r.max,newEnd:t.bp,assembly:a})}else{const e=r._id;s=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[e],featureId:e,oldStart:r.min,newStart:t.bp,assembly:a})}e.changeManager.submit(s),e.setDragging(),e.setCursor()}}))).actions((e=>({onMouseDown(t){const n=e.getMousePosition(t);xI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseDown(e,n,t)},onMouseMove(t){const n=e.getMousePosition(t);if(e.apolloDragging)return e.setCursor("col-resize"),void e.continueDrag(n,t);xI(n)?n.featureAndGlyphUnderMouse.glyph.onMouseMove(e,n,t):(e.setApolloHover(),e.setCursor())},onMouseLeave(t){e.setDragging(),e.setApolloHover();const n=e.getMousePosition(t);xI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseLeave(e,n,t)},onMouseUp(t){const n=e.getMousePosition(t);xI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseUp(e,n,t),e.apolloDragging&&e.endDrag()}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.overlayCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.featuresHeight);const{apolloDragging:n,apolloHover:r}=e;if(!r)return;const{glyph:o}=r;o.drawHover(e,t),o.drawTooltip(e,t),n&&tP(n.feature.topLevelFeature).drawDragPreview(e,t)}),{name:"LinearApolloDisplayRenderMouseoverAndDrag"}))}})))}(0,t).props({tabularEditor:u.types.optional(_P,{})}).named("LinearApolloDisplay")}var wP={},SP=Hu.exports;Object.defineProperty(wP,"__esModule",{value:!0});var xP=wP.default=void 0;xP=wP.default=(0,SP(Wu).default)((0,N.default.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");var kP={},EP=Hu.exports;Object.defineProperty(kP,"__esModule",{value:!0});var AP=kP.default=void 0;AP=kP.default=(0,EP(Wu).default)((0,N.default.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");var CP={},OP=Hu.exports;Object.defineProperty(CP,"__esModule",{value:!0});var RP=CP.default=void 0;RP=CP.default=(0,OP(Wu).default)((0,N.default.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}),"Error");const NP=m.makeStyles()((e=>({canvasContainer:{position:"relative",left:0},canvas:{position:"absolute",left:0},ellipses:{textOverflow:"ellipsis",overflow:"hidden"},avatar:{position:"absolute",color:e.palette.warning.light,backgroundColor:e.palette.warning.contrastText}}))),IP=p.observer((function(e){const t=c.useTheme(),{model:r}=e,{apolloRowHeight:o,contextMenuItems:i,cursor:a,featuresHeight:s,isShown:u,onMouseDown:l,onMouseLeave:f,onMouseMove:p,onMouseUp:m,regionCannotBeRendered:g,session:y,setCanvas:v,setCollaboratorCanvas:_,setOverlayCanvas:b,setSeqTrackCanvas:w,setSeqTrackOverlayCanvas:S,setTheme:x}=r,{classes:k}=NP(),E=n.getContainingView(r);d.useEffect((()=>{x(t)}),[t,x]);const[A,C]=d.useState(),[O,R]=d.useState([]),N=g();if(!u)return null;const{assemblyManager:I}=y;return M.default.createElement(M.default.Fragment,null,E.bpPerPx<=3?M.default.createElement("div",{className:k.canvasContainer,style:{width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95}},M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),w(e)},width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95,className:k.canvas,"data-testid":"seqTrackCanvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),S(e)},width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95,className:k.canvas,"data-testid":"seqTrackOverlayCanvas"})):null,M.default.createElement("div",{className:k.canvasContainer,style:{width:E.dynamicBlocks.totalWidthPx,height:s},onContextMenu:e=>{if(e.preventDefault(),O.length>0)R([]);else{const t=[e.clientX,e.clientY];C(t),R(i(t))}}},N?M.default.createElement(c.Alert,{severity:"warning",classes:{message:k.ellipses}},M.default.createElement(c.Tooltip,{title:N},M.default.createElement("div",null,N))):M.default.createElement(M.default.Fragment,null,M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),_(e)},width:E.dynamicBlocks.totalWidthPx,height:s,className:k.canvas,"data-testid":"collaboratorCanvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),v(e)},width:E.dynamicBlocks.totalWidthPx,height:s,className:k.canvas,"data-testid":"canvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),b(e)},width:E.dynamicBlocks.totalWidthPx,height:s,onMouseMove:p,onMouseLeave:f,onMouseDown:l,onMouseUp:m,className:k.canvas,style:{cursor:a??"default"},"data-testid":"overlayCanvas"}),E.displayedRegions.flatMap(((e,t)=>{const i=I.get(e.assemblyName);return[...y.apolloDataStore.checkResults.values()].filter((t=>i?.isValidRefName(t.refSeq)&&i.getCanonicalRefName(t.refSeq)===e.refName&&n.doesIntersect2(e.start,e.end,t.start,t.end))).map((n=>{const i=(E.bpToPx({refName:e.refName,coord:n.start,regionNumber:t})?.offsetPx??0)-E.offsetPx,[a]=n.ids;if(!a)return null;const{topLevelFeature:s}=a,u=parent?r.getFeatureLayoutPosition(s)?.layoutRow??0:0;return M.default.createElement(c.Tooltip,{key:n._id,title:n.message},M.default.createElement(c.Avatar,{className:k.avatar,style:{top:u*o,left:i,height:o,width:o}},M.default.createElement(RP,null)))}))})),M.default.createElement(h.Menu,{open:O.length>0,onMenuItemClick:(e,t)=>{t(),R([])},onClose:()=>{R([])},TransitionProps:{onExit:()=>{R([])}},anchorReference:"anchorPosition",anchorPosition:A?{top:A[1],left:A[0]}:void 0,style:{zIndex:t.zIndex.tooltip},menuItems:O}))))})),PP=p.observer((function({model:e}){const{height:t}=e;return M.default.createElement("div",{style:{position:"absolute",left:0,top:t/2,width:"100%"}},M.default.createElement("hr",{style:{margin:0,top:0,color:"black"}}))})),TP=m.makeStyles()((e=>({shading:{background:c.alpha(e.palette.primary.main,.2),overflowY:"scroll",overflowX:"hidden"},details:{background:e.palette.background.paper},accordionControl:{height:12,width:"100%","&:hover":{background:e.palette.action.hover},display:"flex",alignItems:"center",justifyContent:"center"},accordionRoot:{background:e.palette.divider},resizeHandle:{width:"100%",height:4,position:"absolute",cursor:"row-resize",zIndex:100},expandIcon:{},title:{userSelect:"none"},alertContainer:{display:"flex",alignItems:"center",justifyContent:"center"}}))),MP=({onResize:e})=>{const{classes:t}=TP(),n=d.useCallback((t=>{t.stopPropagation(),t.preventDefault(),e(t.movementY)}),[e]),r=d.useCallback((e=>{e.stopPropagation(),e.preventDefault(),globalThis.removeEventListener("mousemove",n),globalThis.removeEventListener("mouseup",r),globalThis.removeEventListener("mouseleave",r)}),[n]);return M.default.createElement("div",{onMouseDown:e=>{e.stopPropagation(),globalThis.addEventListener("mousemove",n),globalThis.addEventListener("mouseup",r),globalThis.addEventListener("mouseleave",r)},onClick:e=>{e.stopPropagation(),e.preventDefault()},className:t.resizeHandle})},jP=p.observer((function({onClick:e,onResize:t,open:n,title:r}){const{classes:o}=TP();return M.default.createElement("div",{className:o.accordionRoot},n&&t?M.default.createElement(MP,{onResize:t}):null,M.default.createElement("div",{className:o.accordionControl,onClick:e},M.default.createElement(n?xP:AP,{className:o.expandIcon}),r?M.default.createElement(c.Typography,{className:o.title,variant:"caption",component:"span"},r):null))})),FP=p.observer((function({model:e,...t}){const r=n.getSession(e),{ontologyManager:o}=r.apolloDataStore,{featureTypeOntology:i}=o,a=i?.dataStore,{classes:s}=TP(),{detailsHeight:u,graphical:l,height:f,isShown:h,selectedFeature:p,table:m,tabularEditor:g,toggleShown:y}=e,v=d.useRef(null);d.useEffect((()=>{!function(e,t){const{apolloRowHeight:n,selectedFeature:r}=e;if(t.current&&r){const o=e.getFeatureLayoutPosition(r);o&&t.current.scroll({top:(o.layoutRow+o.featureRow)*n,behavior:"smooth"})}}(e,v)}),[e,p]);const _=t=>{e.setDetailsHeight(u-t)};if(!a)return M.default.createElement("div",{className:s.alertContainer},M.default.createElement(c.Alert,{severity:"error"},"Could not load feature type ontology."));if(l&&m){const n=g.isShown?u:0,r=h?f-u-24:0;return M.default.createElement("div",{style:{height:f}},M.default.createElement(jP,{open:h,title:"Graphical",onClick:y}),M.default.createElement("div",{className:s.shading,ref:v,style:{height:r}},M.default.createElement(IP,{model:e,...t})),M.default.createElement(jP,{title:"Table",open:g.isShown,onClick:g.togglePane,onResize:_}),M.default.createElement("div",{className:s.details,style:{height:n}},M.default.createElement(vP,{model:e})))}return l?M.default.createElement("div",{className:s.shading,ref:v,style:{height:f}},M.default.createElement(IP,{model:e,...t})):M.default.createElement("div",{className:s.details,style:{height:f}},M.default.createElement(vP,{model:e}))}));var LP={},DP=Hu.exports;Object.defineProperty(LP,"__esModule",{value:!0});var qP=LP.default=void 0;qP=LP.default=(0,DP(Wu).default)((0,N.default.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"}),"Save");const BP=u.types.model("JobsManager",{}).views((e=>({get jobStatusWidget(){const{widgets:t}=n.getSession(e);let r=t.get("JobsList");return r||(r=n.getSession(e).addWidget("JobsListWidget","JobsList")),r}}))).actions((e=>({update(t,n,r){e.jobStatusWidget.updateJobStatusMessage(t,n),r&&e.jobStatusWidget.updateJobProgressPct(t,r)},abortJob(t,r){const o=n.getSession(e);if(n.isSessionModelWithWidgets(o)){o.showWidget(e.jobStatusWidget),e.jobStatusWidget.updateJobStatusMessage(t,r??"Aborted unexpectedly");const n=e.jobStatusWidget.jobs.findIndex((e=>e.name===t));e.jobStatusWidget.addAbortedJob({...e.jobStatusWidget.jobs[n]}),e.jobStatusWidget.removeJob(t),o.notify("Job aborted","info")}},runJob(t){const r=n.getSession(e);n.isSessionModelWithWidgets(r)&&(r.showWidget(e.jobStatusWidget),e.jobStatusWidget.addJob(t))},done(t){const r=n.getSession(e);n.isSessionModelWithWidgets(r)&&(r.showWidget(e.jobStatusWidget),e.jobStatusWidget.removeJob(t.name),e.jobStatusWidget.addFinishedJob({name:t.name,statusMessage:"All operations successful",progressPct:100,cancelCallback:t.cancelCallback}))}})));class UP{clientStore;constructor(e){this.clientStore=e}}class zP{dataStore;constructor(e){this.dataStore=e}recentChanges=[];async submit(e,t={}){const{addToRecents:r=!0,submitToBackend:o=!0,updateJobsManager:i=!1}=t,a=n.getSession(this.dataStore),s=new AbortController,{jobsManager:u}=n.getSession(this.dataStore),c={name:e.typeName,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{s.abort()}};i&&u.runJob(c);const l=await nr.validationRegistry.frontendPreValidate(e);if(!l.ok){const e=`Pre-validation failed: "${l.resultsMessages}"`;return i&&u.abortJob(c.name,e),void a.notify(e,"error")}try{await e.execute(this.dataStore)}catch(e){return i&&u.abortJob(c.name,String(e)),console.error(e),void a.notify(String(e),"error")}if((await nr.validationRegistry.frontendPostValidate(e,this.dataStore)).ok||await this.revert(e),o){i&&u.update(c.name,"Submitting to driver");const{collaborationServerDriver:n,getBackendDriver:r}=this.dataStore,o=z.isAssemblySpecificChange(e)?r(e.assembly):n;let s;try{s=await o.submitChange(e,t)}catch(t){return i&&u.abortJob(c.name,String(t)),console.error(t),a.notify(String(t),"error"),void await this.revert(e,!1)}if(!s.ok){const t=`Post-validation failed: "${l.resultsMessages}"`;return i&&u.abortJob(c.name,t),a.notify(t,"error"),void await this.revert(e,!1)}e.notification&&a.notify(e.notification,"success")}r&&this.recentChanges.push(e),i&&u.done(c)}async revert(e,t=!0){const n=e.getInverse();return this.submit(n,{submitToBackend:t,addToRecents:!1})}async revertLastChange(){const e=this.recentChanges.pop();if(e)return this.revert(e);n.getSession(this.dataStore).notify("No changes to undo!","warning")}}class GP extends UP{inFlight=new Map;async fetch(e,t,n){return e.getFetcher({locationType:"UriLocation",uri:t.toString()})(t,n)}async searchFeatures(e,t){const n=this.clientStore.getInternetAccount(t[0]),{baseURL:r}=n,o=new URL("features/searchFeatures",r),i=new URLSearchParams({assemblies:t.join(","),term:e});o.search=i.toString();const a=o.toString(),s=await this.fetch(n,a);if(!s.ok){const e=await fd(s,"searchFeatures failed");throw new Error(e)}return s.json()}async getFeatures(e){const{assemblyName:t,end:o,refName:i,start:a}=e,{assemblyManager:s}=n.getSession(this.clientStore),u=s.get(t);if(!u)throw new Error(`Could not find assembly with name "${t}"`);const{ids:c}=r.getConf(u,["sequence","metadata"]),l=c[i];if(!l)throw new Error(`Could not find refSeq "${i}"`);const f=this.clientStore.getInternetAccount(t),{baseURL:d}=f,h=new URL("features/getFeatures",d),p=new URLSearchParams({refSeq:l,start:String(a),end:String(o)});h.search=p.toString();const m=h.toString(),g=await this.fetch(f,m);if(!g.ok){const e=await fd(g,"getFeatures failed");throw new Error(e)}return this.checkSocket(t,i,f),g.json()}checkSocket(e,t,n){const{socket:r}=n,o=n.retrieveToken(),i=`${e}-${t}`,a=new zP(this.clientStore);r.hasListeners(i)||r.on(i,(async e=>{if(n.setLastChangeSequenceNumber(Number(e.changeSequence)),e.userSessionId!==o&&e.channel===i){const t=z.Change.fromJSON(e.changeInfo);await a.submit(t,{submitToBackend:!1})}}))}async getSequence(e){const t=`${e.refName}:${e.start}-${e.end}`,o=this.inFlight.get(t),{assemblyName:i,end:a,refName:s,start:u}=e,{assemblyManager:c}=n.getSession(this.clientStore),l=c.get(i);if(!l)throw new Error(`Could not find assembly with name "${i}"`);const{ids:f}=r.getConf(l,["sequence","metadata"]),d=f[s];if(!d)throw new Error(`Could not find refSeq "${s}"`);if(o)return{seq:await o,refSeq:d};let h=this.clientStore.assemblies.get(i);h||(h=this.clientStore.addAssembly(i));let p=h.refSeqs.get(d);p||(p=h.addRefSeq(d,s));const m=p.getSequence(u,a);if(m.length===a-u)return{seq:m,refSeq:d};const g=this.clientStore.getInternetAccount(i),{baseURL:y}=g,v=new URL("sequence",y),_=new URLSearchParams({refSeq:d,start:String(u),end:String(a)});v.search=_.toString();const b=v.toString(),w=this.getSeqFromServer(g,b,p,u,a);this.inFlight.set(t,w);const S=await w;return this.checkSocket(i,s,g),this.inFlight.delete(t),{seq:S,refSeq:d}}async getSeqFromServer(e,t,n,r,o){const i=await this.fetch(e,t);if(!i.ok){let e;try{e=await i.text()}catch{e=""}throw new Error(`getSequence failed: ${i.status} (${i.statusText})${e?` (${e})`:""}`)}const a=await i.text();return n.addSequence({sequence:a,start:r,stop:o}),a}async getRefNameAliases(e){const{assemblyManager:t}=n.getSession(this.clientStore);if(!t.get(e))throw new Error(`Could not find assembly with name "${e}"`);const r=this.clientStore.getInternetAccount(e),{baseURL:o}=r,i=new URL("refSeqs",o),a=new URLSearchParams({assembly:e});i.search=a.toString();const s=i.toString(),u=await this.fetch(r,s);if(!u.ok){let e;try{e=await u.text()}catch{e=""}throw new Error(`getRefNameAliases failed: ${u.status} (${u.statusText})${e?` (${e})`:""}`)}return(await u.json()).map((e=>({refName:e.name,aliases:[e._id,...e.aliases],uniqueId:`alias-${e._id}`})))}async getRegions(e){const{assemblyManager:t}=n.getSession(this.clientStore);if(!t.get(e))throw new Error(`Could not find assembly with name "${e}"`);const r=this.clientStore.getInternetAccount(e),{baseURL:o}=r,i=new URL("refSeqs",o),a=new URLSearchParams({assembly:e});i.search=a.toString();const s=i.toString(),u=await this.fetch(r,s);if(!u.ok){let e;try{e=await u.text()}catch{e=""}throw new Error(`getRegions failed: ${u.status} (${u.statusText})${e?` (${e})`:""}`)}return(await u.json()).map((e=>({refName:e.name,start:0,end:e.length})))}getAssemblies(e){const{assemblyManager:t}=n.getSession(this.clientStore);return t.assemblies.filter((t=>{const n=r.getConf(t,["sequence","metadata"]);return!(!(n&&n.apollo&&n.internetAccountConfigId)||e&&n.internetAccountConfigId!==e)}))}async submitChange(e,t={}){const{internetAccountId:n}=t,r=this.clientStore.getInternetAccount("assembly"in e?e.assembly:void 0,n),{baseURL:o}=r,i=new URL("changes",o).href,a=await this.fetch(r,i,{method:"POST",body:JSON.stringify(e.toJSON()),headers:{"Content-Type":"application/json"}});if(!a.ok){const e=await fd(a,"submitChange failed");throw new Error(e)}const s=new nr.ValidationResultSet;return a.ok||(s.ok=!1),s}}class HP extends UP{async getFeatures(){return[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,i=this.clientStore.assemblies.get(t);if(!i)return{seq:"",refSeq:r};const a=i.refSeqs.get(r);return a?{seq:a.getSequence(o,n),refSeq:r}:{seq:"",refSeq:r}}async getRefNameAliases(e){const t=this.clientStore.assemblies.get(e),n=[];if(!t)return n;for(const[,e]of t.refSeqs)n.push({refName:e.name,aliases:[e._id],uniqueId:`alias-${e._id}`});return n}async getRegions(e){const t=this.clientStore.assemblies.get(e);if(!t)return[];const n=[];for(const[,r]of t.refSeqs)n.push({assemblyName:e,refName:r.name,start:r.sequence[0].start,end:r.sequence[0].stop});return n}getAssemblies(){const{assemblyManager:e}=n.getSession(this.clientStore);return e.assemblies.filter((e=>{const t=r.getConf(e,["sequence","metadata"]);return Boolean(t&&t.apollo&&!t.file&&!t.internetAccountConfigId)}))}async submitChange(e,t={}){return new nr.ValidationResultSet}async searchFeatures(e,t){return[]}}class WP extends UP{async loadAssembly(e){const{assemblyManager:t}=n.getSession(this.clientStore),o=t.get(e);if(!o)throw new Error(`Assembly ${e} not found`);const{file:i}=r.getConf(o,["sequence","metadata"]),a=require("node:fs");return cd(e,await a.promises.readFile(i,"utf8"),this.clientStore)}async getAssembly(e){let t=this.clientStore.assemblies.get(e);return t||(t=await this.loadAssembly(e)),t}async getRefNameAliases(e){const t=await this.getAssembly(e),n=[];for(const[,e]of t.refSeqs)n.push({refName:e.name,aliases:[e._id],uniqueId:`alias-${e._id}`});return n}async getFeatures(e){return await this.getAssembly(e.assemblyName),[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,i=(await this.getAssembly(t)).refSeqs.get(r);if(!i)throw new Error(`refSeq ${r} not found in client data store`);return{seq:i.getSequence(o,n),refSeq:r}}async getRegions(e){const t=await this.getAssembly(e),n=[];for(const[,r]of t.refSeqs)n.push({assemblyName:e,refName:r.name,start:r.sequence[0].start,end:r.sequence[0].stop});return n}getAssemblies(){const{assemblyManager:e}=n.getSession(this.clientStore);return e.assemblies.filter((e=>{const t=r.getConf(e,["sequence","metadata"]);return Boolean(t&&t.apollo&&!t.internetAccountConfigId&&t.file)}))}async submitChange(e){if(!z.isAssemblySpecificChange(e))throw new Error(`Cannot use this type of change with local file: "${e.typeName}"`);const{assemblyManager:t}=n.getSession(this.clientStore),o=t.get(e.assembly);if(!o)throw new Error(`Could not find assembly with name "${e.assembly}"`);const{file:i}=r.getConf(o,["sequence","metadata"]),a=this.clientStore.assemblies.get(e.assembly);if(!a)throw new Error(`Could not find assembly in client with name "${e.assembly}"`);const s=new Set(...a.refSeqs.keys()),{checkResults:c}=this.clientStore;for(const e of c.values())s.has(e.refSeq)&&c.delete(e._id);const l=await ld(a);this.clientStore.addCheckResults(l);const f=[{directive:"gff-version",value:"3"}];for(const[,e]of a.refSeqs)f.push({directive:"sequence-region",value:`${e.name} 1 ${e.sequence[0].stop}`});for(const e of a.comments)f.push({comment:e});for(const[,e]of a.refSeqs){const{features:t}=e;for(const[,e]of t)f.push(nr.makeGFF3Feature(u.getSnapshot(e)))}for(const[,e]of a.refSeqs){const[t]=e.sequence,n=nr.splitStringIntoChunks(t.sequence,80).join("\n");f.push({id:e.name,description:e.description,sequence:n})}const d=ud.formatSync(f),h=require("node:fs");return await h.promises.writeFile(i,d,"utf8"),new nr.ValidationResultSet}async searchFeatures(e,t){return[]}}function VP(e,t){const o=new AbortController,{signal:i}=o,a=e.evaluateExtensionPoint("Apollo-extendAnnotationFeature",QN.AnnotationFeatureModel),c=function(e){return u.types.model("ClientDataStore",{typeName:u.types.optional(u.types.literal("Client"),"Client"),assemblies:u.types.map(QN.ApolloAssembly),checkResults:u.types.map(QN.CheckResult),ontologyManager:u.types.optional(_R,{})}).views((t=>({get internetAccounts(){return u.getRoot(t).internetAccounts},get pluginConfiguration(){return u.getRoot(t).jbrowse.configuration.ApolloPlugin},getFeature:n=>u.resolveIdentifier(e,t.assemblies,n)}))).actions((e=>({addAssembly(t,n){const r={_id:t,refSeqs:{}};return n&&(r.backendDriverType=n),e.assemblies.put(r)},addFeature(t,n){const r=e.assemblies.get(t);if(!r)throw new Error(`Could not find assembly "${t}" to add feature "${n._id}"`);const o=r.refSeqs.get(n.refSeq);if(!o)throw new Error(`Could not find refSeq "${n.refSeq}" to add feature "${n._id}"`);o.features.put(n)},deleteFeature(t){const n=e.getFeature(t);if(!n)throw new Error(`Could not find feature "${t}" to delete`);const{_id:r,parent:o}=n;o?o.deleteChild(t):u.getParentOfType(n,QN.ApolloRefSeq).deleteFeature(r)},deleteAssembly(t){e.assemblies.delete(t)},addCheckResult(t){e.checkResults.put(t)},addCheckResults(t){for(const n of t)e.checkResults.has(n._id)||e.checkResults.put(n)},deleteCheckResult(t){e.checkResults.delete(t)}}))).volatile((e=>({changeManager:new zP(e),collaborationServerDriver:new GP(e),inMemoryFileDriver:new HP(e),desktopFileDriver:n.isElectron?new WP(e):void 0}))).actions((e=>({afterCreate(){u.addDisposer(e,s.autorun((()=>{const{ontologyManager:t,pluginConfiguration:n}=e,o=n.ontologies;for(const e of o||[]){const[n,o,i,a]=[r.readConfObject(e,"name"),r.readConfObject(e,"version"),r.readConfObject(e,"source"),r.readConfObject(e,"textIndexFields")];t.findOntology(n)||t.addOntology(n,o,i,{textIndexing:{indexFields:a}})}})))}}))).views((e=>({getBackendDriver(t){if(!t)return e.collaborationServerDriver;const o=n.getSession(e),{assemblyManager:i}=o,a=i.get(t);if(!a)return e.collaborationServerDriver;const{file:s,internetAccountConfigId:u}=r.getConf(a,["sequence","metadata"]);return n.isElectron&&s?e.desktopFileDriver:u?e.collaborationServerDriver:e.inMemoryFileDriver},getInternetAccount(t,o){if(!(t??o))throw new Error("Must provide either assemblyName or internetAccountId");let i=o;if(t&&!i){const{assemblyManager:o}=n.getSession(e),a=o.get(t);if(!a)throw new Error(`No assembly found with name ${t}`);({internetAccountConfigId:i}=r.getConf(a,["sequence","metadata"]))}const{internetAccounts:a}=e,s=a.find((e=>e.internetAccountId===i));if(!s)throw new Error(`No InternetAccount found with config id ${o}`);return s}}))).actions((e=>({loadFeatures:u.flow((function*(t){for(const n of t){const t=e.getBackendDriver(n.assemblyName);if(!t)return;const[r,o]=yield t.getFeatures(n);if(0===r.length)continue;const{assemblyName:i,refName:a}=n;let s=e.assemblies.get(i);s||(s=e.assemblies.put({_id:i,refSeqs:{}}));const[u]=r;let c=s.refSeqs.get(u.refSeq);c||(c=s.refSeqs.put({_id:u.refSeq,name:a,features:{}}));for(const e of r)c.features.has(e._id)||c.features.put(e);e.addCheckResults(o)}})),loadRefSeq:u.flow((function*(t){for(const n of t){const t=e.getBackendDriver(n.assemblyName);if(!t)return;const{refSeq:r,seq:o}=yield t.getSequence(n),{assemblyName:i,end:a,refName:s,start:u}=n;let c=e.assemblies.get(i);c||(c=e.assemblies.put({_id:i,refSeqs:{}}));let l=c.refSeqs.get(r);l||(l=c.refSeqs.put({_id:r,name:s,sequence:[]})),l.addSequence({start:u,stop:a,sequence:o})}}))})))}(a),l=t.props({apolloDataStore:u.types.optional(c,{typeName:"Client"}),apolloSelectedFeature:u.types.safeReference(a),jobsManager:u.types.optional(BP,{})}).extend((()=>{const e=s.observable.array([]);return{views:{get collaborators(){return e}},actions:{addOrUpdateCollaborator(t){const n=e.find((e=>e.id===t.id));n?n.locations=t.locations:e.push(t)}}}})).actions((e=>({apolloSetSelectedFeature(t){e.apolloSelectedFeature=t},addApolloTrackConfig(t,n){const o=`apollo_track_${t.name}`;e.tracks.some((e=>e.trackId===o))||e.addTrackConf({type:"ApolloTrack",trackId:o,name:`Annotations (${r.getConf(t,"displayName")||t.name})`,assemblyNames:[t.name],textSearching:{textSearchAdapter:{type:"ApolloTextSearchAdapter",trackId:o,assemblyNames:[t.name],textSearchAdapterId:`apollo_search_${t.name}`,...n?{baseURL:{uri:n,locationType:"UriLocation"}}:{}}},displays:[{type:"LinearApolloDisplay",displayId:`${o}-LinearApolloDisplay`},{type:"SixFrameFeatureDisplay",displayId:`${o}-SixFrameFeatureDisplay`}]})},broadcastLocations(){const{internetAccounts:t}=u.getRoot(e),n=[];for(const t of e.views){if("LinearGenomeView"!==t.type)return;const e=t;if(e.initialized){const{dynamicBlocks:t}=e;t.forEach((e=>{if(void 0!==e.regionNumber){const{assemblyName:t,end:r,refName:o,start:i}=e;n.push({assemblyName:t,refName:o,start:i,end:r})}}))}}if(0===n.length){for(const e of t)"baseURL"in e&&e.postUserLocation([]);return}const r=[];for(const e of t)if("baseURL"in e){for(const e of n)r.push({assemblyId:e.assemblyName,refSeq:e.refName,start:e.start,end:e.end});e.postUserLocation(r)}}}))).actions((e=>({afterCreate:u.flow((function*(){const t=u.getSnapshot(e),{id:n,name:r}=t;u.applySnapshot(e,{name:r,id:n});const{internetAccounts:o,jbrowse:a}=u.getRoot(e);s.autorun((()=>{const t=[];for(const n of e.views){if("LinearGenomeView"!==n.type)return;const e=n;if(e.initialized){const{dynamicBlocks:n}=e;n.forEach((e=>{if(void 0!==e.regionNumber){const{assemblyName:n,end:r,refName:o,start:i}=e;t.push({assemblyName:n,refName:o,start:i,end:r})}}))}}if(0===t.length){for(const e of o)"baseURL"in e&&e.postUserLocation([]);return}const n=[];for(const e of o)if("baseURL"in e){for(const e of t)n.push({assemblyId:e.assemblyName,refSeq:e.refName,start:e.start,end:e.end});e.postUserLocation(n)}}),{name:"ApolloSession"});for(const n of o){if("ApolloInternetAccount"!==n.type)continue;const{baseURL:r}=n,o=new URL("jbrowse/config.json",r).href,s=n.getFetcher({locationType:"UriLocation",uri:o});let c,l;try{c=yield s(o,{signal:i})}catch(e){console.error(e);continue}if(c.ok){try{l=yield c.json()}catch(e){console.error(e);continue}u.applySnapshot(a,l),u.applySnapshot(e,t)}else{const e=yield fd(c,"Failed to fetch assemblies");console.error(e)}}})),beforeDestroy(){o.abort("destroying session model")}}))).views((e=>{const t=e.getTrackActionMenuItems;return{getTrackActionMenuItems(n){if("ApolloTrack"===n.type||"ReferenceSequenceTrack"===n.type)return t?.(n);const o=r.readConfObject(n,"trackId");return o.endsWith("-sessionTrack")?[...t?.(n)??[],{label:"Save track to Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=u.getRoot(e),i=u.getSnapshot(r);let a;a=nr.filterJBrowseConfig(i),0===Object.keys(a).length&&(a=void 0);const s={...u.getSnapshot(n),trackId:o.slice(0,o.length-13)};for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new nr.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:a,newJBrowseConfig:{...a,tracks:a?.tracks&&[...a.tracks,s]}}),{internetAccountId:r}=n;await e.apolloDataStore.changeManager.submit(t,{internetAccountId:r});const{notify:o}=e;o("Track added","success")}e.deleteTrackConf(n),r.addTrackConf(s)},icon:qP}]:[...t?.(n)??[],{label:"Remove track from Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=u.getRoot(e),i=u.getSnapshot(r);let a;a=nr.filterJBrowseConfig(i),0===Object.keys(a).length&&(a=void 0);const s=a?.tracks?.filter((e=>e.trackId!==o));for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new nr.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:a,newJBrowseConfig:{...a,tracks:s}}),{internetAccountId:r}=n;await e.apolloDataStore.changeManager.submit(t,{internetAccountId:r});const{notify:o}=e;o("Track removed","success")}e.deleteTrackConf(n),r.deleteTrackConf(n)},icon:qP}]}}}));return u.types.snapshotProcessor(l,{postProcessor(e){e.apolloSelectedFeature=void 0;const t=Object.fromEntries(Object.entries(e.apolloDataStore.assemblies).filter((([,e])=>"InMemoryFileDriver"===e.backendDriverType)));return e.apolloDataStore={typeName:"Client",assemblies:t,checkResults:{}},e}})}const $P={0:2,1:1,2:0},JP={3:0,4:1,5:2};function KP(e,t){const o=e.getPlugin("LinearGenomeViewPlugin"),{BaseLinearDisplay:i}=o.exports;return i.named("SixFrameFeatureDisplay").props({type:u.types.literal("SixFrameFeatureDisplay"),configuration:r.ConfigurationReference(t),apolloRowHeight:20,detailsMinHeight:200,showStartCodons:!1,showStopCodons:!0,showIntronLines:!0}).volatile((()=>({apolloFeatureUnderMouse:void 0,apolloRowUnderMouse:void 0}))).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...k.getParentRenderProps(e),config:t.renderer})}})).views((e=>({get regions(){let t;try{({blockDefinitions:t}=e)}catch{return[]}return t.contentBlocks.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))},regionCannotBeRendered(){const t=n.getContainingView(e);if(t&&t.bpPerPx>=200)return"Zoom in to see annotations"},get session(){return n.getSession(e)}}))).actions((e=>{let t=[];return{afterAttach(){u.addDisposer(e,s.autorun((()=>{const r=n.getSession(e);if(n.getContainingView(e).initialized){if(e.regionCannotBeRendered())return;const n=[],o=[];for(const r of e.blockDefinitions.contentBlocks)n.push(r.key),t.includes(r.key)||o.push(r);r.apolloDataStore.loadFeatures(o.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))),r.apolloDataStore.loadRefSeq(o.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))),t=n}}),{name:"SixFrameFeatureDisplay"}))}}})).views((e=>({get rendererTypeName(){return e.configuration.renderer.type},get changeManager(){return n.getSession(e).apolloDataStore.changeManager},get sequence(){const{regions:t}=e,r=n.getSession(e),o=new Map;for(const e of t){const t=r.apolloDataStore.assemblies.get(e.assemblyName),n=t?.getByRefName(e.refName),i=n?.getSequence(e.start,e.end);o.set(e.start,i??"")}return o},get features(){const{regions:t}=e,r=n.getSession(e),o=new Map;for(const e of t){const t=r.apolloDataStore.assemblies.get(e.assemblyName),n=t?.getByRefName(e.refName);let i=o.get(e.refName);i||(i=new Map,o.set(e.refName,i));for(const[t,r]of n?.features.entries()??new Map)e.start<r.end&&e.end>r.start&&i.set(t,r)}return o},get featuresMinMax(){const e={};for(const[t,n]of this.features||[]){let r,o;for(const[,e]of n)void 0===r&&({min:r}=e),void 0===o&&({max:o}=e),e.min<r&&({min:r}=e),e.max>o&&({max:o}=e);void 0!==r&&void 0!==o&&(e[t]=[r,o])}return e},get codonLayout(){const e=new Map;let t="",r=0;for(const[e,n]of this.sequence||[])n&&(t||(r=e),t+=n);for(let o=0;o<6;o++){const i=[],a=[],s=o in JP;let u,c,l;s?(u=(t.length+r)%3,c=(JP[o]+u+3)%3,l=n.reverse(t).slice(c)):(u=3-r%3,c=($P[o]+u+3)%3,l=t.slice(c));for(let e=0;e<l.length;e+=3){const t=l.slice(e,e+3),o=s?n.reverse(n.revcom(t)):t,u=s?r+l.length-(3+e):r+e+c;n.defaultStarts.includes(o.toUpperCase())?i.push(u):n.defaultStops.includes(o.toUpperCase())&&a.push(u)}e.set(o,{starts:i,stops:a})}return e},get featureLayout(){const e=new Map;for(const[t,n]of this.features||[]){if(!n)continue;const r=this.featuresMinMax[t];if(!r)continue;const[o,i]=r,a=[],s=6;for(let t=0;t<s;t++){const t=a.length;a[t]=Array.from({length:i-o}),e.set(t,[])}for(const t of[...n.values()].sort(((e,t)=>{const{max:n,min:r}=e,{max:o,min:i}=t;return r-i||n-o})))for(const[,n]of t.children??new Map)if("mRNA"===n.type)for(const[,r]of n.children||new Map){let o;if("CDS"===r.type){let i;r.discontinuousLocations.length>0?({discontinuousLocations:i}=r):i=[r];for(const r of i){const i=r.start+3,a=r.end-3;for(const[s,{stops:u}]of this.codonLayout)if(s<3&&1===t.strand||s>=3&&-1===t.strand){const t=u.filter((e=>e>=i&&e<=a));if(0===t.length){o=s;const t=e.get(o);t?.push([n.featureId,r]);break}}}}}}return e},getAssemblyId(t){const{assemblyManager:r}=n.getSession(e),o=r.get(t);if(!o)throw new Error(`Could not find assembly named ${t}`);return o.name},get selectedFeature(){return n.getSession(e).apolloSelectedFeature},get setSelectedFeature(){return n.getSession(e).apolloSetSelectedFeature}}))).actions((e=>({setSelectedFeature(t){n.getSession(e).apolloSetSelectedFeature(t)},setApolloFeatureUnderMouse(t){e.apolloFeatureUnderMouse=t},setApolloRowUnderMouse(t){e.apolloRowUnderMouse=t},toggleShowStartCodons(){e.showStartCodons=!e.showStartCodons},toggleShowStopCodons(){e.showStopCodons=!e.showStopCodons},toggleShowIntronLines(){e.showIntronLines=!e.showIntronLines}}))).views((e=>({get highestRow(){return 0===e.featureLayout.size?0:Math.max(...e.featureLayout.keys())},get featuresHeight(){return(this.highestRow+1)*e.apolloRowHeight},get detailsHeight(){return Math.max(e.detailsMinHeight,e.height-this.featuresHeight)},trackMenuItems:()=>[{label:"Show start codons",type:"checkbox",checked:e.showStartCodons,onClick:()=>{e.toggleShowStartCodons()}},{label:"Show stop codons",type:"checkbox",checked:e.showStopCodons,onClick:()=>{e.toggleShowStopCodons()}},{label:"Show intron lines",type:"checkbox",checked:e.showIntronLines,onClick:()=>{e.toggleShowIntronLines()}}]})))}var YP=r.ConfigurationSchema("ApolloRefNameAliasAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});const ZP="undefined"==typeof sessionStorage;class XP extends S.BaseAdapter{refNameAliases;async getRefNameAliases(){const e=r.readConfObject(this.config,"assemblyId");if(!ZP){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)throw new Error("No Apollo data store found");const n=t.getBackendDriver(e);return await n.getRefNameAliases(e)}const t=await new Promise(((t,n)=>{const r=setTimeout((()=>{n(new Error("timeout"))}),2e4),o=eN(),i=e=>{const n=e.data;(function(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo&&"refNameAliases"in e})(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",i),t(n.refNameAliases))};addEventListener("message",i),rpcServer.emit("apollo",{apollo:!0,method:"getRefNameAliases",assembly:e,messageId:o})}));return this.refNameAliases=t,t}freeResources(){}}const QP="WorkerGlobalScope"in globalThis;for(const[e,t]of Object.entries(nr.changes))z.changeRegistry.registerChange(e,t);const eT=new nr.CDSCheck;z.checkRegistry.registerCheck(eT.name,eT),nr.validationRegistry.registerValidation(new nr.CoreValidation),nr.validationRegistry.registerValidation(new nr.ParentChildValidation),e.default=class extends C.default{name="ApolloPlugin";version="0.2.0";configurationSchema=qN;install(e){!function(e){e.addAdapterType((()=>new D.default({name:"ApolloSequenceAdapter",configSchema:ON,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:CN})))}(e),function(e){e.addAdapterType((()=>new D.default({name:"ApolloRefNameAliasAdapter",configSchema:YP,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:XP})))}(e),function(e){e.addTextSearchAdapterType((()=>new o.TextSearchAdapterType({name:"ApolloTextSearchAdapter",displayName:"Apollo text search adapter",configSchema:DN,AdapterClass:LN,description:"Apollo Text Search adapter"})))}(e),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloFeatureDetailsWidget",{});return new o.WidgetType({name:"ApolloFeatureDetailsWidget",heading:"Apollo feature details",configSchema:e,stateModel:aI,ReactComponent:XN})})),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloTranscriptDetails",{});return new o.WidgetType({name:"ApolloTranscriptDetails",heading:"Apollo transcript details",configSchema:e,stateModel:sI,ReactComponent:hI})})),e.addTrackType((()=>{const t=r.ConfigurationSchema("ApolloTrack",{adapter:""},{baseConfiguration:o.createBaseTrackConfig(e),explicitIdentifier:"trackId"});return new o.TrackType({name:"ApolloTrack",configSchema:t,stateModel:o.createBaseTrackModel(e,"ApolloTrack",t)})})),e.addInternetAccountType((()=>new o.InternetAccountType({name:"ApolloInternetAccount",configSchema:Ju,stateModel:bN(Ju)}))),e.addDisplayType((()=>new o.DisplayType({name:"LinearApolloDisplay",configSchema:pI,stateModel:bP(0,pI),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:FP}))),e.addDisplayType((()=>{const t=function(e){const t=e.getPlugin("LinearGenomeViewPlugin"),{baseLinearDisplayConfigSchema:n}=t.exports;return r.ConfigurationSchema("SixFrameFeatureDisplay",{renderer:IN,height:{type:"number",defaultValue:120}},{baseConfiguration:n,explicitlyTyped:!0})}(e),n=function(e){const t=e.getPlugin("LinearGenomeViewPlugin");if(!t)throw new Error("LinearGenomeView plugin not found");const{BaseLinearDisplayComponent:n}=t.exports;return p.observer((function({model:e,...t}){const{classes:r}=TP(),{height:o,selectedFeature:i}=e;let{detailsHeight:a}=e;return i||(a=0),M.default.createElement("div",{style:{height:e.height}},M.default.createElement("div",{className:r.shading,style:{height:o-a}},M.default.createElement(n,{model:e,...t})),M.default.createElement("div",{className:"testTrackLines"},M.default.createElement(PP,{model:e})))}))}(e);return new o.DisplayType({name:"SixFrameFeatureDisplay",configSchema:t,stateModel:KP(e,t),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:n})})),e.addRendererType((()=>new PN({name:"ApolloSixFrameRenderer",ReactComponent:NN,configSchema:IN,pluginManager:e}))),e.addToExtensionPoint("Core-extendSession",VP.bind(this,e)),e.addToExtensionPoint("Core-extendPluggableElement",(e=>{if("LinearGenomeView"===e.name){const{stateModel:t}=e,r=t.views((e=>{const t=e.rubberBandMenuItems;return{rubberBandMenuItems:()=>[...t(),{label:"Add new feature",icon:$u,onClick:()=>{const t=n.getSession(e),{leftOffset:r,rightOffset:o}=e,i=e.getSelectedRegions(r,o);t.queueDialog((e=>[CR,{session:t,handleClose:()=>{e()},region:i[0],changeManager:t.apolloDataStore.changeManager}]))}}]}}));e.stateModel=r}return e})),e.addToExtensionPoint("Core-extendPluggableElement",BN),QP||e.addToExtensionPoint("Core-extendWorker",(t=>"on"in t&&t.on?(t.on("apollo",(async n=>{if("object"!=typeof(r=n)||null===r||!("apollo"in r)||!0!==r.apollo)return;var r;const{apollo:o,messageId:i,method:a}=n;switch(a){case"getSequence":{const{region:r}=n,{assemblyName:a}=r,s=e.rootModel?.session?.apolloDataStore;if(!s)break;const u=s.getBackendDriver(a),{seq:c}=await u.getSequence(r);t.workers[0].postMessage({apollo:o,messageId:i,sequence:c});break}case"getRegions":{const{assembly:r}=n,a=e.rootModel?.session?.apolloDataStore;if(!a)break;const s=a.getBackendDriver(r),u=await s.getRegions(r);t.workers[0].postMessage({apollo:o,messageId:i,regions:u});break}case"getRefNameAliases":{const{assembly:r}=n,a=e.rootModel?.session?.apolloDataStore;if(!a)break;const s=a.getBackendDriver(r),u=await s.getRefNameAliases(r);t.workers[0].postMessage({apollo:o,messageId:i,refNameAliases:u});break}}})),t):t))}configure(e){n.isAbstractMenuManager(e.rootModel)&&(e.rootModel.appendToMenu("Apollo",{label:"Download GFF3",onClick:e=>{e.queueDialog((t=>[TR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Manage Checks",onClick:e=>{e.queueDialog((t=>[FR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View Change Log",onClick:e=>{e.queueDialog((t=>[rN,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Open local GFF3 file",onClick:e=>{e.queueDialog((t=>[tN,{session:e,handleClose:()=>{t()},inMemoryFileDriver:e.apolloDataStore.inMemoryFileDriver}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View check results",onClick:e=>{e.queueDialog((t=>[sN,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Log out",onClick:e=>{e.queueDialog((t=>[jR,{session:e,handleClose:()=>{t()}}]))}}))}},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@jbrowse/core/Plugin"),require("@jbrowse/core/util"),require("@jbrowse/core/configuration"),require("@jbrowse/core/pluggableElementTypes"),require("@mui/material/utils"),require("react/jsx-runtime"),require("mobx"),require("mobx-state-tree"),require("@mui/material"),require("@mui/material/InputAdornment"),require("@mui/material/LinearProgress"),require("react"),require("@jbrowse/core/ui"),require("mobx-react"),require("tss-react/mui"),require("@jbrowse/core/util/types/mst"),require("@jbrowse/core/util/io"),require("@mui/material/Checkbox"),require("@mui/material/FormControlLabel"),require("@mui/x-data-grid"),require("@jbrowse/core/pluggableElementTypes/AdapterType"),require("@jbrowse/core/data_adapters/BaseAdapter"),require("@jbrowse/core/util/rxjs"),require("@jbrowse/core/util/tracks")):"function"==typeof define&&define.amd?define(["exports","@jbrowse/core/Plugin","@jbrowse/core/util","@jbrowse/core/configuration","@jbrowse/core/pluggableElementTypes","@mui/material/utils","react/jsx-runtime","mobx","mobx-state-tree","@mui/material","@mui/material/InputAdornment","@mui/material/LinearProgress","react","@jbrowse/core/ui","mobx-react","tss-react/mui","@jbrowse/core/util/types/mst","@jbrowse/core/util/io","@mui/material/Checkbox","@mui/material/FormControlLabel","@mui/x-data-grid","@jbrowse/core/pluggableElementTypes/AdapterType","@jbrowse/core/data_adapters/BaseAdapter","@jbrowse/core/util/rxjs","@jbrowse/core/util/tracks"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).JBrowsePluginApollo={},e.JBrowseExports["@jbrowse/core/Plugin"],e.JBrowseExports["@jbrowse/core/util"],e.JBrowseExports["@jbrowse/core/configuration"],e.JBrowseExports["@jbrowse/core/pluggableElementTypes"],e.JBrowseExports["@mui/material/utils"],e.JBrowseExports["react/jsx-runtime"],e.JBrowseExports.mobx,e.JBrowseExports["mobx-state-tree"],e.JBrowseExports["@mui/material"],e.JBrowseExports["@mui/material/InputAdornment"],e.JBrowseExports["@mui/material/LinearProgress"],e.JBrowseExports.react,e.JBrowseExports["@jbrowse/core/ui"],e.JBrowseExports["mobx-react"],e.JBrowseExports["tss-react/mui"],e.JBrowseExports["@jbrowse/core/util/types/mst"],e.JBrowseExports["@jbrowse/core/util/io"],e.JBrowseExports["@mui/material/Checkbox"],e.JBrowseExports["@mui/material/FormControlLabel"],e.JBrowseExports["@mui/x-data-grid"],e.JBrowseExports["@jbrowse/core/pluggableElementTypes/AdapterType"],e.JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"],e.JBrowseExports["@jbrowse/core/util/rxjs"],e.JBrowseExports["@jbrowse/core/util/tracks"])}(this,(function(e,t,n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k){"use strict";function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function A(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,t}var C=E(t),O=E(n),R=E(i),N=E(a),I=E(u),P=E(l),T=E(f),M=E(d),j=A(d),F=E(v),L=E(_),D=E(w),q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function B(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t}function U(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var z={};function G(e){var t,n;function r(t,n){try{var i=e[t](n),a=i.value,s=a instanceof H;Promise.resolve(s?a.v:a).then((function(n){if(s){var u="return"===t?"return":"next";if(!a.k||n.done)return r(u,n);n=e[u](n).value}o(i.done?"return":"normal",n)}),(function(e){r("throw",e)}))}catch(e){o("throw",e)}}function o(e,o){switch(e){case"return":t.resolve({value:o,done:!0});break;case"throw":t.reject(o);break;default:t.resolve({value:o,done:!1})}(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,o){return new Promise((function(i,a){var s={key:e,arg:o,resolve:i,reject:a,next:null};n?n=n.next=s:(t=n=s,r(e,o))}))},"function"!=typeof e.return&&(this.return=void 0)}function H(e,t){this.v=e,this.k=t}function W(e){var t,n,r,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);o--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new V(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function V(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return V=function(e){this.s=e,this.n=e.next},V.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new V(e)}function $(e){return new H(e,0)}function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach((function(t){re(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Y(){Y=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var i=Object.create((t&&t.prototype instanceof y?t:y).prototype),a=new N(r||[]);return o(i,"_invoke",{value:A(e,n,a)}),i}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var d="suspendedStart",h="suspendedYield",p="executing",m="completed",g={};function y(){}function v(){}function _(){}var b={};c(b,a,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(I([])));S&&S!==n&&r.call(S,a)&&(b=S);var x=_.prototype=y.prototype=Object.create(b);function k(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function E(e,t){function n(o,i,a,s){var u=f(e[o],e,i);if("throw"!==u.type){var c=u.arg,l=c.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,s)}))}s(u.arg)}var i;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return i=i?i.then(o,o):o()}})}function A(t,n,r){var o=d;return function(i,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:e,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var u=C(s,r);if(u){if(u===g)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=p;var c=f(t,n,r);if("normal"===c.type){if(o=r.done?m:h,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(o=m,r.method="throw",r.arg=c.arg)}}}function C(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=f(o,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var a=i.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=_,o(x,"constructor",{value:_,configurable:!0}),o(_,"constructor",{value:v,configurable:!0}),v.displayName=c(_,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,c(e,u,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},k(E.prototype),c(E.prototype,s,(function(){return this})),t.AsyncIterator=E,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new E(l(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},k(x),c(x,u,"Generator"),c(x,a,(function(){return this})),c(x,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,N.prototype={constructor:N,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(R),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return s.type="throw",s.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;R(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function X(e,t,n,r,o,i,a){try{var s=e[i](a),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,o)}function Q(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){X(i,r,o,a,s,"next",e)}function s(e){X(i,r,o,a,s,"throw",e)}a(void 0)}))}}function ee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function te(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Se(r.key),r)}}function ne(e,t,n){return t&&te(e.prototype,t),n&&te(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function re(e,t,n){return(t=Se(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oe(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ae(e,t)}function ie(e){return ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ie(e)}function ae(e,t){return ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ae(e,t)}function se(){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(e){return!1}}function ue(e,t,n){return ue=se()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ae(o,n.prototype),o},ue.apply(null,arguments)}function ce(e){var t="function"==typeof Map?new Map:void 0;return ce=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return ue(e,arguments,ie(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ae(n,e)},ce(e)}function le(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fe(e){var t=se();return function(){var n,r=ie(e);if(t){var o=ie(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return le(e)}(this,n)}}function de(){return de="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ie(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},de.apply(this,arguments)}function he(e,t){return ge(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||ve(e,t)||be()}function pe(e){return ge(e)||ye(e)||ve(e)||be()}function me(e){return function(e){if(Array.isArray(e))return _e(e)}(e)||ye(e)||ve(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ge(e){if(Array.isArray(e))return e}function ye(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function ve(e,t){if(e){if("string"==typeof e)return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_e(e,t):void 0}}function _e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function be(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function we(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ve(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function Se(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}G.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},G.prototype.next=function(e){return this._invoke("next",e)},G.prototype.throw=function(e){return this._invoke("throw",e)},G.prototype.return=function(e){return this._invoke("return",e)};var xe=function(e,t){return xe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},xe(e,t)};function ke(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}xe(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Ee=function(){return Ee=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Ee.apply(this,arguments)};function Ae(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function Ce(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"===("undefined"==typeof Reflect?"undefined":Z(Reflect))&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function Oe(e,t){return function(n,r){t(n,r,e)}}function Re(e,t){if("object"===("undefined"==typeof Reflect?"undefined":Z(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Ne(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}u((r=r.apply(e,t||[])).next())}))}function Ie(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}var Pe=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function Te(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||Pe(t,e,n)}function Me(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function je(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function Fe(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(je(arguments[t]));return e}function Le(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)r[o]=i[a];return r}function De(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function qe(e){return this instanceof qe?(this.v=e,this):new qe(e)}function Be(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof qe?Promise.resolve(e.value.v).then(u,c):l(i[0][2],e)}(o[e](t))}catch(e){l(i[0][3],e)}}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function Ue(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:qe(e[r](t)),done:!1}:o?o(t):t}:o}}function ze(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Me(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}}function Ge(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var He=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function We(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&Pe(t,e,n);return He(t,e),t}function Ve(e){return e&&e.__esModule?e:{default:e}}function $e(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Je(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function Ke(e,t){if(null===t||"object"!==Z(t)&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function Ye(e,t,n){if(null!=t){if("object"!==Z(t)&&"function"!=typeof t)throw new TypeError("Object expected.");var r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose]}if("function"!=typeof r)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var Ze="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function Xe(e){function t(t){e.error=e.hasError?new Ze(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function n(){for(;e.stack.length;){var r=e.stack.pop();try{var o=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(o).then(n,(function(e){return t(e),n()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}var Qe={__proto__:null,__extends:ke,get __assign(){return Ee},__rest:Ae,__decorate:Ce,__param:Oe,__esDecorate:function(e,t,n,r,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,u=r.kind,c="getter"===u?"get":"setter"===u?"set":"value",l=!t&&e?r.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d=!1,h=n.length-1;h>=0;h--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var g=(0,n[h])("accessor"===u?{get:f.get,set:f.set}:f[c],p);if("accessor"===u){if(void 0===g)continue;if(null===g||"object"!==Z(g))throw new TypeError("Object expected");(s=a(g.get))&&(f.get=s),(s=a(g.set))&&(f.set=s),(s=a(g.init))&&o.unshift(s)}else(s=a(g))&&("field"===u?o.unshift(s):f[c]=s)}l&&Object.defineProperty(l,r.name,f),d=!0},__runInitializers:function(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0},__propKey:function(e){return"symbol"===Z(e)?e:"".concat(e)},__setFunctionName:function(e,t,n){return"symbol"===Z(t)&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})},__metadata:Re,__awaiter:Ne,__generator:Ie,__createBinding:Pe,__exportStar:Te,__values:Me,__read:je,__spread:Fe,__spreadArrays:Le,__spreadArray:De,__await:qe,__asyncGenerator:Be,__asyncDelegator:Ue,__asyncValues:ze,__makeTemplateObject:Ge,__importStar:We,__importDefault:Ve,__classPrivateFieldGet:$e,__classPrivateFieldSet:Je,__classPrivateFieldIn:Ke,__addDisposableResource:Ye,__disposeResources:Xe,default:{__extends:ke,__assign:Ee,__rest:Ae,__decorate:Ce,__param:Oe,__metadata:Re,__awaiter:Ne,__generator:Ie,__createBinding:Pe,__exportStar:Te,__values:Me,__read:je,__spread:Fe,__spreadArrays:Le,__spreadArray:De,__await:qe,__asyncGenerator:Be,__asyncDelegator:Ue,__asyncValues:ze,__makeTemplateObject:Ge,__importStar:We,__importDefault:Ve,__classPrivateFieldGet:$e,__classPrivateFieldSet:Je,__classPrivateFieldIn:Ke,__addDisposableResource:Ye,__disposeResources:Xe}},et=B(Qe),tt={};Object.defineProperty(tt,"__esModule",{value:!0}),tt.ApolloPlugin=void 0;var nt=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"apolloInstall",value:function(e){}}]),n}(et.__importDefault(C.default).default);tt.ApolloPlugin=nt;var rt={},ot={},it={};Object.defineProperty(it,"__esModule",{value:!0}),it.changeRegistry=void 0,it.changeRegistry=new(function(){function e(){ee(this,e),this.changes=new Map}return ne(e,[{key:"registerChange",value:function(e,t){if(this.changes.has(e))throw new Error('change type "'.concat(e,'" has already been registered'));this.changes.set(e,t)}},{key:"getChangeType",value:function(e){var t=this.changes.get(e);if(!t)throw new Error('No change constructor registered for "'.concat(e,'"'));return t}}]),e}());var at={};Object.defineProperty(at,"__esModule",{value:!0}),at.Operation=void 0;var st=function(){function e(t,n){var r;ee(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ne(e,[{key:"execute",value:(t=Q(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("Server"!==(n=t.typeName)){e.next=4;break}return r=this.executeOnServer(t),e.abrupt("return",t.pluginsService.evaluateExtensionPoint("".concat(this.typeName,"-transformResults"),r,{operation:this,backend:t}));case 4:if("LocalGFF3"!==n){e.next=6;break}return e.abrupt("return",this.executeOnLocalGFF3(t));case 6:throw new Error("no operation implementation for backend type '".concat(n,"'"));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}();at.Operation=st,Object.defineProperty(ot,"__esModule",{value:!0}),ot.Change=void 0,ot.isChange=function(e){return void 0!==e.executeOnClient};var ut=it,ct=function(e){oe(r,e);var t,n=fe(r);function r(){return ee(this,r),n.apply(this,arguments)}return ne(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("LocalGFF3"!==(n=t.typeName)&&"Server"!==n){e.next=3;break}return e.abrupt("return",de(ie(r.prototype),"execute",this).call(this,t));case 3:if("Client"!==n){e.next=5;break}return e.abrupt("return",this.executeOnClient(t));case 5:throw new Error("no change implementation for backend type '".concat(n,"'"));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}],[{key:"fromJSON",value:function(e,t){return new(ut.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(at.Operation);ot.Change=ct,Object.defineProperty(rt,"__esModule",{value:!0}),rt.AssemblySpecificChange=void 0,rt.isAssemblySpecificChange=function(e){return(0,lt.isChange)(e)&&void 0!==e.assembly};var lt=ot;rt.AssemblySpecificChange=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ne(n)}(lt.Change);var ft={};Object.defineProperty(ft,"__esModule",{value:!0}),ft.Check=void 0,ft.Check=ne((function e(){ee(this,e)}));var dt={};Object.defineProperty(dt,"__esModule",{value:!0}),dt.checkRegistry=void 0,dt.checkRegistry=new(function(){function e(){ee(this,e),this.checks=new Map}return ne(e,[{key:"registerCheck",value:function(e,t){if(this.checks.has(e))throw new Error('check "'.concat(e,'" has already been registered'));this.checks.set(e,t)}},{key:"getCheck",value:function(e){var t=this.checks.get(e);if(!t)throw new Error('No check constructor registered for "'.concat(e,'"'));return t}},{key:"getChecks",value:function(){return this.checks}}]),e}());var ht={},pt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function mt(){throw new Error("setTimeout has not been defined")}function gt(){throw new Error("clearTimeout has not been defined")}var yt=mt,vt=gt;function _t(e){if(yt===setTimeout)return setTimeout(e,0);if((yt===mt||!yt)&&setTimeout)return yt=setTimeout,setTimeout(e,0);try{return yt(e,0)}catch(t){try{return yt.call(null,e,0)}catch(t){return yt.call(this,e,0)}}}"function"==typeof pt.setTimeout&&(yt=setTimeout),"function"==typeof pt.clearTimeout&&(vt=clearTimeout);var bt,wt=[],St=!1,xt=-1;function kt(){St&&bt&&(St=!1,bt.length?wt=bt.concat(wt):xt=-1,wt.length&&Et())}function Et(){if(!St){var e=_t(kt);St=!0;for(var t=wt.length;t;){for(bt=wt,wt=[];++xt<t;)bt&&bt[xt].run();xt=-1,t=wt.length}bt=null,St=!1,function(e){if(vt===clearTimeout)return clearTimeout(e);if((vt===gt||!vt)&&clearTimeout)return vt=clearTimeout,clearTimeout(e);try{return vt(e)}catch(t){try{return vt.call(null,e)}catch(t){return vt.call(this,e)}}}(e)}}function At(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];wt.push(new Ct(e,t)),1!==wt.length||St||_t(Et)}function Ct(e,t){this.fun=e,this.array=t}function Ot(){}Ct.prototype.run=function(){this.fun.apply(null,this.array)};var Rt=Ot,Nt=Ot,It=Ot,Pt=Ot,Tt=Ot,Mt=Ot,jt=Ot,Ft=pt.performance||{},Lt=Ft.now||Ft.mozNow||Ft.msNow||Ft.oNow||Ft.webkitNow||function(){return(new Date).getTime()},Dt=new Date,qt={nextTick:At,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Rt,addListener:Nt,once:It,off:Pt,removeListener:Tt,removeAllListeners:Mt,emit:jt,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*Lt.call(Ft),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-Dt)/1e3}},Bt=[],Ut=[],zt="undefined"!=typeof Uint8Array?Uint8Array:Array,Gt=!1;function Ht(){Gt=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Bt[t]=e[t],Ut[e.charCodeAt(t)]=t;Ut["-".charCodeAt(0)]=62,Ut["_".charCodeAt(0)]=63}function Wt(e,t,n){for(var r,o=[],i=t;i<n;i+=3)o.push(Bt[(r=(e[i]<<16)+(e[i+1]<<8)+e[i+2])>>18&63]+Bt[r>>12&63]+Bt[r>>6&63]+Bt[63&r]);return o.join("")}function Vt(e,t,n,r,o){var i,a,s=8*o-r-1,u=(1<<s)-1,c=u>>1,l=-7,f=n?o-1:0,d=n?-1:1,h=e[t+f];for(f+=d,i=h&(1<<-l)-1,h>>=-l,l+=s;l>0;i=256*i+e[t+f],f+=d,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=256*a+e[t+f],f+=d,l-=8);if(0===i)i=1-c;else{if(i===u)return a?NaN:Infinity*(h?-1:1);a+=Math.pow(2,r),i-=c}return(h?-1:1)*a*Math.pow(2,i-r)}function $t(e,t,n,r,o,i){var a,s,u,c=8*i-o-1,l=(1<<c)-1,f=l>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,p=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||Infinity===t?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?d/u:d*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,o),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,o),a=0));o>=8;e[n+h]=255&s,h+=p,s/=256,o-=8);for(a=a<<o|s,c+=o;c>0;e[n+h]=255&a,h+=p,a/=256,c-=8);e[n+h-p]|=128*m}var Jt={}.toString,Kt=Array.isArray||function(e){return"[object Array]"==Jt.call(e)};function Yt(){return Xt.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Zt(e,t){if(Yt()<t)throw new RangeError("Invalid typed array length");return Xt.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Xt.prototype:(null===e&&(e=new Xt(t)),e.length=t),e}function Xt(e,t,n){if(!(Xt.TYPED_ARRAY_SUPPORT||this instanceof Xt))return new Xt(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return tn(this,e)}return Qt(this,e,t,n)}function Qt(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),Xt.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Xt.prototype:e=nn(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!Xt.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|an(t,n),o=(e=Zt(e,r)).write(t,n);return o!==r&&(e=e.slice(0,o)),e}(e,t,n):function(e,t){if(on(t)){var n=0|rn(t.length);return 0===(e=Zt(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?Zt(e,0):nn(e,t);if("Buffer"===t.type&&Kt(t.data))return nn(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function en(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function tn(e,t){if(en(t),e=Zt(e,t<0?0:0|rn(t)),!Xt.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function nn(e,t){var n=t.length<0?0:0|rn(t.length);e=Zt(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function rn(e){if(e>=Yt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Yt().toString(16)+" bytes");return 0|e}function on(e){return!(null==e||!e._isBuffer)}function an(e,t){if(on(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Tn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Mn(e).length;default:if(r)return Tn(e).length;t=(""+t).toLowerCase(),r=!0}}function sn(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Sn(this,t,n);case"utf8":case"utf-8":return vn(this,t,n);case"ascii":return bn(this,t,n);case"latin1":case"binary":return wn(this,t,n);case"base64":return yn(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xn(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function un(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function cn(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=Xt.from(t,r)),on(t))return 0===t.length?-1:ln(e,t,n,r,o);if("number"==typeof t)return t&=255,Xt.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):ln(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function ln(e,t,n,r,o){var i,a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var l=-1;for(i=n;i<s;i++)if(c(e,i)===c(t,-1===l?0:i-l)){if(-1===l&&(l=i),i-l+1===u)return l*a}else-1!==l&&(i-=i-l),l=-1}else for(n+u>s&&(n=s-u),i=n;i>=0;i--){for(var f=!0,d=0;d<u;d++)if(c(e,i+d)!==c(t,d)){f=!1;break}if(f)return i}return-1}function fn(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function dn(e,t,n,r){return jn(Tn(t,e.length-n),e,n,r)}function hn(e,t,n,r){return jn(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function pn(e,t,n,r){return hn(e,t,n,r)}function mn(e,t,n,r){return jn(Mn(t),e,n,r)}function gn(e,t,n,r){return jn(function(e,t){for(var n,r,o=[],i=0;i<e.length&&!((t-=2)<0);++i)r=(n=e.charCodeAt(i))>>8,o.push(n%256),o.push(r);return o}(t,e.length-n),e,n,r)}function yn(e,t,n){return function(e){var t;Gt||Ht();for(var n=e.length,r=n%3,o="",i=[],a=16383,s=0,u=n-r;s<u;s+=a)i.push(Wt(e,s,s+a>u?u:s+a));return 1===r?(o+=Bt[(t=e[n-1])>>2],o+=Bt[t<<4&63],o+="=="):2===r&&(o+=Bt[(t=(e[n-2]<<8)+e[n-1])>>10],o+=Bt[t>>4&63],o+=Bt[t<<2&63],o+="="),i.push(o),i.join("")}(0===t&&n===e.length?e:e.slice(t,n))}function vn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var i,a,s,u,c=e[o],l=null,f=c>239?4:c>223?3:c>191?2:1;if(o+f<=n)switch(f){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(u=(31&c)<<6|63&i)>127&&(l=u);break;case 3:a=e[o+2],128==(192&(i=e[o+1]))&&128==(192&a)&&(u=(15&c)<<12|(63&i)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:a=e[o+2],s=e[o+3],128==(192&(i=e[o+1]))&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,f=1):l>65535&&(r.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=_n)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=_n));return n}(r)}Xt.TYPED_ARRAY_SUPPORT=void 0===pt.TYPED_ARRAY_SUPPORT||pt.TYPED_ARRAY_SUPPORT,Xt.poolSize=8192,Xt._augment=function(e){return e.__proto__=Xt.prototype,e},Xt.from=function(e,t,n){return Qt(null,e,t,n)},Xt.TYPED_ARRAY_SUPPORT&&(Xt.prototype.__proto__=Uint8Array.prototype,Xt.__proto__=Uint8Array),Xt.alloc=function(e,t,n){return function(e,t,n,r){return en(t),t<=0?Zt(e,t):void 0!==n?"string"==typeof r?Zt(e,t).fill(n,r):Zt(e,t).fill(n):Zt(e,t)}(null,e,t,n)},Xt.allocUnsafe=function(e){return tn(null,e)},Xt.allocUnsafeSlow=function(e){return tn(null,e)},Xt.isBuffer=Fn,Xt.compare=function(e,t){if(!on(e)||!on(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},Xt.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Xt.concat=function(e,t){if(!Kt(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Xt.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=Xt.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var i=e[n];if(!on(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(r,o),o+=i.length}return r},Xt.byteLength=an,Xt.prototype._isBuffer=!0,Xt.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)un(this,t,t+1);return this},Xt.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)un(this,t,t+3),un(this,t+1,t+2);return this},Xt.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)un(this,t,t+7),un(this,t+1,t+6),un(this,t+2,t+5),un(this,t+3,t+4);return this},Xt.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?vn(this,0,e):sn.apply(this,arguments)},Xt.prototype.equals=function(e){if(!on(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Xt.compare(this,e)},Xt.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},Xt.prototype.compare=function(e,t,n,r,o){if(!on(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(i,a),u=this.slice(r,o),c=e.slice(t,n),l=0;l<s;++l)if(u[l]!==c[l]){i=u[l],a=c[l];break}return i<a?-1:a<i?1:0},Xt.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},Xt.prototype.indexOf=function(e,t,n){return cn(this,e,t,n,!0)},Xt.prototype.lastIndexOf=function(e,t,n){return cn(this,e,t,n,!1)},Xt.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return fn(this,e,t,n);case"utf8":case"utf-8":return dn(this,e,t,n);case"ascii":return hn(this,e,t,n);case"latin1":case"binary":return pn(this,e,t,n);case"base64":return mn(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return gn(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},Xt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var _n=4096;function bn(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function wn(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function Sn(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",i=t;i<n;++i)o+=Pn(e[i]);return o}function xn(e,t,n){for(var r=e.slice(t,n),o="",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}function kn(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function En(e,t,n,r,o,i){if(!on(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function An(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o<i;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function Cn(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o<i;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function On(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Rn(e,t,n,r,o){return o||On(e,0,n,4),$t(e,t,n,r,23,4),n+4}function Nn(e,t,n,r,o){return o||On(e,0,n,8),$t(e,t,n,r,52,8),n+8}Xt.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),Xt.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=Xt.prototype;else{var o=t-e;n=new Xt(o,void 0);for(var i=0;i<o;++i)n[i]=this[i+e]}return n},Xt.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r},Xt.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},Xt.prototype.readUInt8=function(e,t){return t||kn(e,1,this.length),this[e]},Xt.prototype.readUInt16LE=function(e,t){return t||kn(e,2,this.length),this[e]|this[e+1]<<8},Xt.prototype.readUInt16BE=function(e,t){return t||kn(e,2,this.length),this[e]<<8|this[e+1]},Xt.prototype.readUInt32LE=function(e,t){return t||kn(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Xt.prototype.readUInt32BE=function(e,t){return t||kn(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Xt.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},Xt.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},Xt.prototype.readInt8=function(e,t){return t||kn(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Xt.prototype.readInt16LE=function(e,t){t||kn(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Xt.prototype.readInt16BE=function(e,t){t||kn(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Xt.prototype.readInt32LE=function(e,t){return t||kn(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Xt.prototype.readInt32BE=function(e,t){return t||kn(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Xt.prototype.readFloatLE=function(e,t){return t||kn(e,4,this.length),Vt(this,e,!0,23,4)},Xt.prototype.readFloatBE=function(e,t){return t||kn(e,4,this.length),Vt(this,e,!1,23,4)},Xt.prototype.readDoubleLE=function(e,t){return t||kn(e,8,this.length),Vt(this,e,!0,52,8)},Xt.prototype.readDoubleBE=function(e,t){return t||kn(e,8,this.length),Vt(this,e,!1,52,8)},Xt.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||En(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i<n&&(o*=256);)this[t+i]=e/o&255;return t+n},Xt.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||En(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+n},Xt.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,1,255,0),Xt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Xt.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,65535,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):An(this,e,t,!0),t+2},Xt.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,65535,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):An(this,e,t,!1),t+2},Xt.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,4294967295,0),Xt.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Cn(this,e,t,!0),t+4},Xt.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,4294967295,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Cn(this,e,t,!1),t+4},Xt.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);En(this,e,t,n,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<n&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},Xt.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);En(this,e,t,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},Xt.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,1,127,-128),Xt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Xt.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,32767,-32768),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):An(this,e,t,!0),t+2},Xt.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,32767,-32768),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):An(this,e,t,!1),t+2},Xt.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,2147483647,-2147483648),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Cn(this,e,t,!0),t+4},Xt.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Cn(this,e,t,!1),t+4},Xt.prototype.writeFloatLE=function(e,t,n){return Rn(this,e,t,!0,n)},Xt.prototype.writeFloatBE=function(e,t,n){return Rn(this,e,t,!1,n)},Xt.prototype.writeDoubleLE=function(e,t,n){return Nn(this,e,t,!0,n)},Xt.prototype.writeDoubleBE=function(e,t,n){return Nn(this,e,t,!1,n)},Xt.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!Xt.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},Xt.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!Xt.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var i;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var a=on(e)?e:Tn(new Xt(e,r).toString()),s=a.length;for(i=0;i<n-t;++i)this[i+t]=a[i%s]}return this};var In=/[^+\/0-9A-Za-z-_]/g;function Pn(e){return e<16?"0"+e.toString(16):e.toString(16)}function Tn(e,t){var n;t=t||Infinity;for(var r=e.length,o=null,i=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function Mn(e){return function(e){var t,n,r,o,i,a;Gt||Ht();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=new zt(3*s/4-(i="="===e[s-2]?2:"="===e[s-1]?1:0)),r=i>0?s-4:s;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)o=Ut[e.charCodeAt(t)]<<18|Ut[e.charCodeAt(t+1)]<<12|Ut[e.charCodeAt(t+2)]<<6|Ut[e.charCodeAt(t+3)],a[u++]=o>>16&255,a[u++]=o>>8&255,a[u++]=255&o;return 2===i?(o=Ut[e.charCodeAt(t)]<<2|Ut[e.charCodeAt(t+1)]>>4,a[u++]=255&o):1===i&&(o=Ut[e.charCodeAt(t)]<<10|Ut[e.charCodeAt(t+1)]<<4|Ut[e.charCodeAt(t+2)]>>2,a[u++]=o>>8&255,a[u++]=255&o),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(In,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function jn(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function Fn(e){return null!=e&&(!!e._isBuffer||Ln(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Ln(e.slice(0,0))}(e))}function Ln(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}for(var Dn=Math.floor(16777215*Math.random()),qn=$n.index=parseInt(16777215*Math.random(),10),Bn=(void 0===qt||"number"!=typeof qt.pid?Math.floor(1e5*Math.random()):qt.pid)%65535,Un=function(){try{return _Buffer}catch(e){try{return Xt}catch(e){return null}}}(),zn=function(e){return!(null==e||!e.constructor||"function"!=typeof e.constructor.isBuffer||!e.constructor.isBuffer(e))},Gn=[],Hn=0;Hn<256;Hn++)Gn[Hn]=(Hn<=15?"0":"")+Hn.toString(16);var Wn=new RegExp("^[0-9a-fA-F]{24}$"),Vn=[];for(Hn=0;Hn<10;)Vn[48+Hn]=Hn++;for(;Hn<16;)Vn[55+Hn]=Vn[87+Hn]=Hn++;function $n(e){if(!(this instanceof $n))return new $n(e);if(e&&(e instanceof $n||"ObjectID"===e._bsontype))return e;if(this._bsontype="ObjectID",null!=e&&"number"!=typeof e){var t=$n.isValid(e);if(!t&&null!=e)throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");if(t&&"string"==typeof e&&24===e.length)return $n.createFromHexString(e);if(null==e||12!==e.length){if(null!=e&&"function"==typeof e.toHexString)return e;throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters")}this.id=e}else this.id=this.generate(e)}var Jn=$n;$n.default=$n,$n.createFromTime=function(e){return new $n(function(e,t){return 8===(t=t.toString(16)).length?t:"00000000".substring(t.length,8)+t}(0,e=parseInt(e,10)%4294967295)+"0000000000000000")},$n.createFromHexString=function(e){if(void 0===e||null!=e&&24!==e.length)throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");for(var t="",n=0;n<24;)t+=String.fromCharCode(Vn[e.charCodeAt(n++)]<<4|Vn[e.charCodeAt(n++)]);return new $n(t)},$n.isValid=function(e){return null!=e&&("number"==typeof e||("string"==typeof e?12===e.length||24===e.length&&Wn.test(e):e instanceof $n||(zn(e)?$n.isValid(e.toString("hex")):!("function"!=typeof e.toHexString||!Un||!(e.id instanceof Un||"string"==typeof e.id))&&(12===e.id.length||24===e.id.length&&Wn.test(e.id)))))},$n.prototype={constructor:$n,toHexString:function(){if(!this.id||!this.id.length)throw new Error("invalid ObjectId, ObjectId.id must be either a string or a Buffer, but is ["+JSON.stringify(this.id)+"]");if(24===this.id.length)return this.id;if(zn(this.id))return this.id.toString("hex");for(var e="",t=0;t<this.id.length;t++)e+=Gn[this.id.charCodeAt(t)];return e},equals:function(e){return e instanceof $n?this.toString()===e.toString():"string"==typeof e&&$n.isValid(e)&&12===e.length&&zn(this.id)?e===this.id.toString("binary"):"string"==typeof e&&$n.isValid(e)&&24===e.length?e.toLowerCase()===this.toHexString():"string"==typeof e&&$n.isValid(e)&&12===e.length?e===this.id:!(null==e||!(e instanceof $n||e.toHexString))&&e.toHexString()===this.toHexString()},getTimestamp:function(){var e,t=new Date;return e=zn(this.id)?this.id[3]|this.id[2]<<8|this.id[1]<<16|this.id[0]<<24:this.id.charCodeAt(3)|this.id.charCodeAt(2)<<8|this.id.charCodeAt(1)<<16|this.id.charCodeAt(0)<<24,t.setTime(1e3*Math.floor(e)),t},generate:function(e){"number"!=typeof e&&(e=~~(Date.now()/1e3)),e=parseInt(e,10)%4294967295;var t=qn=(qn+1)%16777215;return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e,Dn>>16&255,Dn>>8&255,255&Dn,Bn>>8&255,255&Bn,t>>16&255,t>>8&255,255&t)}};var Kn=Symbol&&Symbol.for&&Symbol.for("nodejs.util.inspect.custom")||"inspect";$n.prototype[Kn]=function(){return"ObjectID("+this+")"},$n.prototype.toJSON=$n.prototype.toHexString,$n.prototype.toString=$n.prototype.toHexString,Object.defineProperty(ht,"__esModule",{value:!0}),ht.FeatureChange=void 0,ht.isFeatureChange=function(e){return(0,Zn.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var Yn=et.__importDefault(Jn),Zn=rt,Xn=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ne(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,i,a=this.logger;if(null===(n=a.verbose)||void 0===n||n.call(a,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=a.debug)||void 0===r||r.call(a,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=a.debug)||void 0===o||o.call(a,"FeatureId was not found on top level so lets make recursive call...");var s,u=we(null!==(i=e.children)&&void 0!==i?i:new Map);try{for(u.s();!(s=u.n()).done;){var c=he(s.value,2),l=this.getFeatureFromId(c[1],t);if(l)return l}}catch(e){u.e(e)}finally{u.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=we((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=he(t.value,2);n.push.apply(n,[o[0]].concat(me(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new Yn.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,i=Object.values(e.children);o<i.length;o++){var a=this.generateNewIds(i[o],t);r[a._id]=a}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return K(K({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(Zn.AssemblySpecificChange);ht.FeatureChange=Xn;var Qn={};Object.defineProperty(Qn,"__esModule",{value:!0}),Qn.operationRegistry=void 0,Qn.operationRegistry=new(function(){function e(){ee(this,e),this.operations=new Map}return ne(e,[{key:"registerOperation",value:function(e,t){if(this.operations.has(e))throw new Error('operation type "'.concat(e,'" has already been registered'));this.operations.set(e,t)}},{key:"getOperationType",value:function(e){var t=this.operations.get(e);if(!t)throw new Error('No operation constructor registered for "'.concat(e,'"'));return t}}]),e}());var er={};Object.defineProperty(er,"__esModule",{value:!0}),er.Validation=void 0,er.isContext=function(e){return"context"in e&&"reflector"in e};var tr=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();er.Validation=tr,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(tt,e),t.__exportStar(rt,e),t.__exportStar(ot,e),t.__exportStar(it,e),t.__exportStar(ft,e),t.__exportStar(dt,e),t.__exportStar(ht,e),t.__exportStar(at,e),t.__exportStar(Qn,e),t.__exportStar(er,e)}(z);var nr={},rr={},or={},ir={},ar={},sr={};Object.defineProperty(sr,"__esModule",{value:!0}),sr.ApolloPlugin=void 0;var ur=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"apolloInstall",value:function(e){}}]),n}(et.__importDefault(C.default).default);sr.ApolloPlugin=ur;var cr={},lr={},fr={};Object.defineProperty(fr,"__esModule",{value:!0}),fr.changeRegistry=void 0,fr.changeRegistry=new(function(){function e(){ee(this,e),this.changes=new Map}return ne(e,[{key:"registerChange",value:function(e,t){if(this.changes.has(e))throw new Error('change type "'.concat(e,'" has already been registered'));this.changes.set(e,t)}},{key:"getChangeType",value:function(e){var t=this.changes.get(e);if(!t)throw new Error('No change constructor registered for "'.concat(e,'"'));return t}}]),e}());var dr={};Object.defineProperty(dr,"__esModule",{value:!0}),dr.Operation=void 0;var hr=function(){function e(t,n){var r;ee(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ne(e,[{key:"execute",value:(t=Q(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("Server"!==(n=t.typeName)){e.next=4;break}return r=this.executeOnServer(t),e.abrupt("return",t.pluginsService.evaluateExtensionPoint("".concat(this.typeName,"-transformResults"),r,{operation:this,backend:t}));case 4:if("LocalGFF3"!==n){e.next=6;break}return e.abrupt("return",this.executeOnLocalGFF3(t));case 6:throw new Error("no operation implementation for backend type '".concat(n,"'"));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}();dr.Operation=hr,Object.defineProperty(lr,"__esModule",{value:!0}),lr.Change=void 0,lr.isChange=function(e){return void 0!==e.executeOnClient};var pr=fr,mr=function(e){oe(r,e);var t,n=fe(r);function r(){return ee(this,r),n.apply(this,arguments)}return ne(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("LocalGFF3"!==(n=t.typeName)&&"Server"!==n){e.next=3;break}return e.abrupt("return",de(ie(r.prototype),"execute",this).call(this,t));case 3:if("Client"!==n){e.next=5;break}return e.abrupt("return",this.executeOnClient(t));case 5:throw new Error("no change implementation for backend type '".concat(n,"'"));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}],[{key:"fromJSON",value:function(e,t){return new(pr.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(dr.Operation);lr.Change=mr,Object.defineProperty(cr,"__esModule",{value:!0}),cr.AssemblySpecificChange=void 0,cr.isAssemblySpecificChange=function(e){return(0,gr.isChange)(e)&&void 0!==e.assembly};var gr=lr;cr.AssemblySpecificChange=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ne(n)}(gr.Change);var yr={};Object.defineProperty(yr,"__esModule",{value:!0}),yr.Check=void 0,yr.Check=ne((function e(){ee(this,e)}));var vr={};Object.defineProperty(vr,"__esModule",{value:!0}),vr.checkRegistry=void 0,vr.checkRegistry=new(function(){function e(){ee(this,e),this.checks=new Map}return ne(e,[{key:"registerCheck",value:function(e,t){if(this.checks.has(e))throw new Error('check "'.concat(e,'" has already been registered'));this.checks.set(e,t)}},{key:"getCheck",value:function(e){var t=this.checks.get(e);if(!t)throw new Error('No check constructor registered for "'.concat(e,'"'));return t}},{key:"getChecks",value:function(){return this.checks}}]),e}());var _r={};Object.defineProperty(_r,"__esModule",{value:!0}),_r.FeatureChange=void 0,_r.isFeatureChange=function(e){return(0,wr.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var br=et.__importDefault(Jn),wr=cr,Sr=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ne(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,i,a=this.logger;if(null===(n=a.verbose)||void 0===n||n.call(a,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=a.debug)||void 0===r||r.call(a,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=a.debug)||void 0===o||o.call(a,"FeatureId was not found on top level so lets make recursive call...");var s,u=we(null!==(i=e.children)&&void 0!==i?i:new Map);try{for(u.s();!(s=u.n()).done;){var c=he(s.value,2),l=this.getFeatureFromId(c[1],t);if(l)return l}}catch(e){u.e(e)}finally{u.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=we((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=he(t.value,2);n.push.apply(n,[o[0]].concat(me(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new br.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,i=Object.values(e.children);o<i.length;o++){var a=this.generateNewIds(i[o],t);r[a._id]=a}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return K(K({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(wr.AssemblySpecificChange);_r.FeatureChange=Sr;var xr={};Object.defineProperty(xr,"__esModule",{value:!0}),xr.operationRegistry=void 0,xr.operationRegistry=new(function(){function e(){ee(this,e),this.operations=new Map}return ne(e,[{key:"registerOperation",value:function(e,t){if(this.operations.has(e))throw new Error('operation type "'.concat(e,'" has already been registered'));this.operations.set(e,t)}},{key:"getOperationType",value:function(e){var t=this.operations.get(e);if(!t)throw new Error('No operation constructor registered for "'.concat(e,'"'));return t}}]),e}());var kr={};Object.defineProperty(kr,"__esModule",{value:!0}),kr.Validation=void 0,kr.isContext=function(e){return"context"in e&&"reflector"in e};var Er=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();kr.Validation=Er,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(sr,e),t.__exportStar(cr,e),t.__exportStar(lr,e),t.__exportStar(fr,e),t.__exportStar(yr,e),t.__exportStar(vr,e),t.__exportStar(_r,e),t.__exportStar(dr,e),t.__exportStar(xr,e),t.__exportStar(kr,e)}(ar);var Ar={},Cr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.internalToGFF=e.gffToInternal=void 0,e.isGFFReservedAttribute=function(t){return t in e.gffToInternal},e.gffToInternal={ID:"gff_id",Name:"gff_name",Alias:"gff_alias",Parent:"gff_parent",Target:"gff_target",Gap:"gff_gap",Derives_from:"gff_derives_from",Note:"gff_note",Dbxref:"gff_dbxref",Ontology_term:"gff_ontology_term",Is_circular:"gff_is_circular"},e.internalToGFF={gff_id:"ID",gff_name:"Name",gff_alias:"Alias",gff_parent:"Parent",gff_target:"Target",gff_gap:"Gap",gff_derives_from:"Derives_from",gff_note:"Note",gff_dbxref:"Dbxref",gff_ontology_term:"Ontology_term",gff_is_circular:"Is_circular"}}(Cr);var Or={};Object.defineProperty(Or,"__esModule",{value:!0}),Or.gff3ToAnnotationFeature=function e(t,n,r){var o=he(t,1)[0],i=o.end,a=o.seq_id,s=o.start,u=o.strand,c=o.type;if(!a)throw new Error("feature does not have seq_id: ".concat(JSON.stringify(o)));if(!c)throw new Error("feature does not have type: ".concat(JSON.stringify(o)));if(null===s)throw new Error("feature does not have start: ".concat(JSON.stringify(o)));if(null===i)throw new Error("feature does not have end: ".concat(JSON.stringify(o)));var l=he(function(e){if(e.length>1&&!e.every((function(e){return"CDS"===e.type})))throw new Error("GFF3 features has multiple locations but is not a CDS");var t=e.map((function(e){return e.start})).filter((function(e){return null!==e})),n=e.map((function(e){return e.end})).filter((function(e){return null!==e}));return[Math.min.apply(Math,me(t))-1,Math.max.apply(Math,me(n))]}(t),2),f=l[0],d=l[1],h=function(t,n,r){var o={},i=t.filter((function(e){return e.child_features.length>0}));if(i.length>1)throw new Error("Features with multiple locations may not have children");if(0!==i.length){var a,s=[],u=we(he(i,1)[0].child_features);try{for(u.s();!(a=u.n()).done;){var c=a.value,l=he(c,1)[0];if("three_prime_UTR"!==l.type&&"five_prime_UTR"!==l.type&&"intron"!==l.type&&"start_codon"!==l.type&&"stop_codon"!==l.type)if("CDS"===l.type)s.push(c);else{var f=e(c,n,r);o[f._id]=f}}}catch(e){u.e(e)}finally{u.f()}var d,h=s.length>0?function(t,n,r){var o=t.map((function(e){return e.length}));if(o.some((function(e){return e>1})))return t.map((function(t){return e(t,n,r)}));var i=t.map((function(e){return e[0]})).filter((function(e){return null!==e.start&&null!==e.end})).sort((function(e,t){return e.start-t.start}));if(!i.some((function(e,t){var n=i.at(t+1);return!!n&&(0,Rr.doesIntersect2)(e.start,e.end,n.start,n.end)})))return[e(i,n,r)];var a,s=t.map((function(e){return e[0]})),u=[],c=we(s);try{var l=function(){var e=a.value,t=u.at(-1);if(!t)return u.push([e]),1;t.some((function(t){return(0,Rr.doesIntersect2)(t.start,t.end,e.start,e.end)}))?u.push([e]):t.push(e)};for(c.s();!(a=c.n()).done;)l()}catch(e){c.e(e)}finally{c.f()}return u.map((function(t){return e(t,n,r)}))}(s,n,r):[],p=we(h);try{for(p.s();!(d=p.n()).done;){var m=d.value;o[m._id]=m}}catch(e){p.e(e)}finally{p.f()}return Object.keys(o).length>0?o:void 0}}(t,n,r),p=function(e){var t={},n=e.map((function(e){return e.score})).filter((function(e){return null!==e})),r=e.map((function(e){return e.source})).filter((function(e){return null!==e})),o=e.map((function(e){return e.attributes})).filter((function(e){return null!==e}));if(n.length>0){var i=he(n,1)[0];n.length>1&&(i=n.reduce((function(e,t){return e+t}),0)/n.length),t.gff_score=[String(i)]}if(r.length>0){var a=he(r,1)[0];r.length>1&&(a=me(new Set(r)).join(",")),t.gff_source=[a]}if(o.length>0){var s,u=we(o);try{for(u.s();!(s=u.n()).done;)for(var c=0,l=Object.entries(s.value);c<l.length;c++){var f=he(l[c],2),d=f[0],h=f[1];if(h&&"Parent"!==d){var p=(0,Ir.isGFFReservedAttribute)(d)?Ir.gffToInternal[d]:d,m=t[p];if(m){var g=new Set([].concat(me(m),me(h)));t[p]=me(g)}else t[p]=h}}}catch(e){u.e(e)}finally{u.f()}}if(Object.keys(t).length>0)return t}(t),m={_id:(new Nr.default).toHexString(),refSeq:null!=n?n:a,type:c,min:f,max:d};if(u)if("+"===u)m.strand=1;else{if("-"!==u)throw new Error('Unknown strand: "'.concat(u,'"'));m.strand=-1}return h&&(m.children=h),p&&(m.attributes=p),r&&r.push(m._id),m};var Rr=O.default,Nr=et.__importDefault(Jn),Ir=Cr;!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(Cr,e),t.__exportStar(Or,e)}(Ar),Object.defineProperty(ir,"__esModule",{value:!0}),ir.FromFileBaseChange=void 0;var Pr=Ar,Tr=function(e){oe(i,e);var t,n,r,o=fe(i);function i(){var e;ee(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return re(le(e=o.call.apply(o,[this].concat(n))),"refSeqCache",new Map),e}return ne(i,[{key:"addRefSeqIntoDb",value:(r=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P,T,M,j,F,L,D,q,B,U,z,G,H,V,$,J,Z,X;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.logger,a=r.filesService,s=r.refSeqChunkModel,u=r.refSeqModel,c=r.user,f=(l=qt.env.CHUNK_SIZE)&&Number(l),d=0,h=0,m="text/x-gff3"!==t.type,g=a.getFileStream(t),y="",v="",_=!0,b=!1,null===(o=i.debug)||void 0===o||o.call(i,"starting sequence stream"),w=0,S=!1,x=!1,e.prev=16,E=W(g);case 18:return e.next=20,E.next();case 20:if(!(S=!(A=e.sent).done)){e.next=102;break}C=A.value.toString(),_=!C.endsWith("\n"),O=C.split(/\r?\n/),v&&(O[0]="".concat(v).concat(O[0]),v=""),_&&(v=O.pop()||""),R=!1,N=!1,e.prev=29,P=W(O);case 31:return e.next=33,P.next();case 33:if(!(R=!(T=e.sent).done)){e.next=83;break}if(M=T.value,++w%1e6==0&&(null===(j=i.debug)||void 0===j||j.call(i,"Processed ".concat(w," lines"))),m){e.next=40;break}return"##FASTA"===M.trim()&&(m=!0),e.abrupt("continue",80);case 40:if(!(F=/^>\s*(\S+)\s*(.*)/.exec(M))){e.next=66;break}if(b=!0,null===(L=i.debug)||void 0===L||L.call(i,'Reference sequence information line "'.concat(F[0],'"')),""===y){e.next=51;break}if(p){e.next=47;break}throw new Error("No refSeq document found");case 47:return h+=y.length,e.next=50,s.create([{refSeq:p._id,n:d,sequence:y,user:c,status:-1}]);case 50:y="";case 51:return e.next=53,null===(D=p)||void 0===D?void 0:D.updateOne({length:h});case 53:return h=0,d=0,B=F[1].trim(),U=F[2]?F[2].trim():"",e.next=59,u.create([K(K({name:B,description:U,assembly:n,length:0},f?{chunkSize:f}:null),{},{user:c,status:-1})]);case 59:z=he(e.sent,1),G=z[0],null===(q=i.debug)||void 0===q||q.call(i,'Added new refSeq "'.concat(B,'", desc "').concat(U,'", docId "').concat(G._id,'"')),p=G,e.next=80;break;case 66:if(!/\S/.test(M)){e.next=80;break}if(p){e.next=69;break}throw new Error("No refSeq document found");case 69:V=(H=p)._id,$=H.chunkSize,y+=M.replaceAll(/\s/g,"");case 71:if(!(y.length>=$)){e.next=80;break}return J=y.slice(0,$),h+=J.length,e.next=76,s.create([{refSeq:V,n:d,sequence:J,user:c,status:-1}]);case 76:d++,y=y.slice($),e.next=71;break;case 80:R=!1,e.next=31;break;case 83:e.next=89;break;case 85:e.prev=85,e.t0=e.catch(29),N=!0,I=e.t0;case 89:if(e.prev=89,e.prev=90,!R||null==P.return){e.next=94;break}return e.next=94,P.return();case 94:if(e.prev=94,!N){e.next=97;break}throw I;case 97:return e.finish(94);case 98:return e.finish(89);case 99:S=!1,e.next=18;break;case 102:e.next=108;break;case 104:e.prev=104,e.t1=e.catch(16),x=!0,k=e.t1;case 108:if(e.prev=108,e.prev=109,!S||null==E.return){e.next=113;break}return e.next=113,E.return();case 113:if(e.prev=113,!x){e.next=116;break}throw k;case 116:return e.finish(113);case 117:return e.finish(108);case 118:if(b){e.next=120;break}throw new Error("No reference sequences found in file");case 120:if(!y&&!_){e.next=131;break}if(p){e.next=123;break}throw new Error("No refSeq document found");case 123:return _&&(y+=v),h+=y.length,null===(Z=i.verbose)||void 0===Z||Z.call(i,'*** Add the very last chunk to ref seq ("'.concat(p._id,'", index ').concat(d," and total length for ref seq is ").concat(h,'): "').concat(y,'"')),null===(X=i.debug)||void 0===X||X.call(i,"Creating refSeq chunk number ".concat(d,' of "').concat(p._id,'"')),e.next=129,s.create([{refSeq:p._id,n:d,sequence:y,user:c,status:-1}]);case 129:return e.next=131,p.updateOne({length:h});case 131:case"end":return e.stop()}}),e,this,[[16,104,108,118],[29,85,89,99],[90,,94,98],[109,,113,117]])}))),function(e,t,n){return r.apply(this,arguments)})},{key:"removeExistingFeatures",value:(n=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.featureModel,o=t.refSeqModel,i=this.assembly,null===(n=(a=this.logger).debug)||void 0===n||n.call(a,"Removing existing features for assembly = ".concat(i)),e.next=5,o.find({assembly:i}).exec();case 5:s=we(e.sent),e.prev=7,s.s();case 9:if((u=s.n()).done){e.next=15;break}return c=u.value,e.next=13,r.deleteMany({refSeq:c._id});case 13:e.next=9;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(7),s.e(e.t0);case 20:return e.prev=20,s.f(),e.finish(20);case 23:case"end":return e.stop()}}),e,this,[[7,17,20,23]])}))),function(e){return n.apply(this,arguments)})},{key:"addFeatureIntoDb",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f,d,h;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.refSeqModel,i=n.user,a=this.assembly,s=this.refSeqCache,u=he(t,1),c=u[0].seq_id){e.next=5;break}throw new Error("Valid seq_id not found in feature ".concat(JSON.stringify(t)));case 5:if(l=s.get(c)){e.next=20;break}return e.next=9,o.findOne({assembly:a,name:c}).exec();case 9:if(e.t1=f=e.sent,e.t0=null!==e.t1,!e.t0){e.next=13;break}e.t0=void 0!==f;case 13:if(!e.t0){e.next=17;break}e.t2=f,e.next=18;break;case 17:e.t2=void 0;case 18:(l=e.t2)&&s.set(c,l);case 20:if(l){e.next=22;break}throw new Error('RefSeq was not found by assembly "'.concat(a,'" and seq_id "').concat(c,'" not found'));case 22:return h=(0,Pr.gff3ToAnnotationFeature)(t,l._id,d=[]),e.next=26,r.create([K(K({allIds:d},h),{},{user:i,status:-1})]);case 26:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),i}(ar.AssemblySpecificChange);ir.FromFileBaseChange=Tr,Object.defineProperty(or,"__esModule",{value:!0}),or.AddAssemblyAndFeaturesFromFileChange=void 0;var Mr=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddAssemblyAndFeaturesFromFileChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.fileModel,i=t.filesService,a=t.user,s=this.assembly,u=this.logger,c=we(this.changes),e.prev=3,c.s();case 5:if((l=c.n()).done){e.next=71;break}if(g=(m=l.value).assemblyName,y=m.fileIds.fa,qt.env.FILE_UPLOAD_FOLDER){e.next=12;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 12:return e.next=14,o.findById(y).exec();case 14:if(v=e.sent){e.next=17;break}throw new Error('File "'.concat(y,'" not found in Mongo'));case 17:return null===(f=u.debug)||void 0===f||f.call(u,'FileId "'.concat(y,'", checksum "').concat(v.checksum,'"')),e.next=20,n.findOne({name:g}).exec();case 20:if(!e.sent){e.next=23;break}throw new Error('Assembly "'.concat(g,'" already exists'));case 23:return e.next=25,r.find({default:!0}).exec();case 25:return _=e.sent.map((function(e){return e._id.toHexString()})),e.next=29,n.create([{_id:s,name:g,user:a,status:-1,fileId:y,checks:_}]);case 29:return b=he(e.sent,1),w=b[0],null===(d=u.debug)||void 0===d||d.call(u,'Added new assembly "'.concat(g,'", docId "').concat(w._id.toHexString(),'"')),null===(h=u.debug)||void 0===h||h.call(u,'File type: "'.concat(v.type,'"')),e.next=36,this.addRefSeqIntoDb(v,w._id.toString(),t);case 36:null===(p=u.debug)||void 0===p||p.call(u,'**************** LOOPATAAN KAIKKI FEATURET SEURAAVAKSI File type: "'.concat(v.type,'"')),S=i.parseGFF3(i.getFileStream(v)),x=!1,k=!1,e.prev=40,A=W(S);case 42:return e.next=44,A.next();case 44:if(!(x=!(C=e.sent).done)){e.next=53;break}return R=C.value,null===(O=u.verbose)||void 0===O||O.call(u,"ENTRY=".concat(JSON.stringify(R))),e.next=50,this.addFeatureIntoDb(R,t);case 50:x=!1,e.next=42;break;case 53:e.next=59;break;case 55:e.prev=55,e.t0=e.catch(40),k=!0,E=e.t0;case 59:if(e.prev=59,e.prev=60,!x||null==A.return){e.next=64;break}return e.next=64,A.return();case 64:if(e.prev=64,!k){e.next=67;break}throw E;case 67:return e.finish(64);case 68:return e.finish(59);case 69:e.next=5;break;case 71:e.next=76;break;case 73:e.prev=73,e.t1=e.catch(3),c.e(e.t1);case 76:return e.prev=76,c.f(),e.finish(76);case 79:case"end":return e.stop()}}),e,this,[[3,73,76,79],[40,55,59,69],[60,,64,68]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ir.FromFileBaseChange);or.AddAssemblyAndFeaturesFromFileChange=Mr;var jr={},Fr={},Lr=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ee(this,e),this.baseOverrides={},this.url=t;var r=n.fetch||globalThis.fetch.bind(globalThis);if(!r)throw new TypeError("no fetch function supplied, and none found in global environment");n.overrides&&(this.baseOverrides=n.overrides),this.fetchImplementation=r}var t,n,r,o,i,a;return ne(e,[{key:"getBufferFromResponse",value:(a=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.buffer){e.next=4;break}return e.abrupt("return",t.buffer());case 4:if("function"!=typeof t.arrayBuffer){e.next=11;break}return e.next=7,t.arrayBuffer();case 7:return e.abrupt("return",Xt.from(e.sent));case 11:throw new TypeError("invalid HTTP response object, has no buffer method, and no arrayBuffer method");case 12:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"fetch",value:(i=Q(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.fetchImplementation(t,n);case 3:case 12:r=e.sent,e.next=16;break;case 6:if(e.prev=6,e.t0=e.catch(0),!"".concat(e.t0).includes("Failed to fetch")){e.next=15;break}return console.warn("generic-filehandle: refetching ".concat(t," to attempt to work around chrome CORS header caching bug")),e.next=12,this.fetchImplementation(t,K(K({},n),{},{cache:"reload"}));case 15:throw e.t0;case 16:return e.abrupt("return",r);case 17:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t){return i.apply(this,arguments)})},{key:"read",value:(o=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=y.length>1&&void 0!==y[1]?y[1]:0,o=y.length>3&&void 0!==y[3]?y[3]:0,s=void 0===(a=(i=y.length>4&&void 0!==y[4]?y[4]:{}).headers)?{}:a,u=i.signal,l=void 0===(c=i.overrides)?{}:c,(r=y.length>2?y[2]:void 0)<Infinity?s.range="bytes=".concat(o,"-").concat(o+r):Infinity===r&&0!==o&&(s.range="bytes=".concat(o,"-")),f=K(K(K({},this.baseOverrides),l),{},{headers:K(K(K({},s),l.headers),this.baseOverrides.headers),method:"GET",redirect:"follow",mode:"cors",signal:u}),e.next=9,this.fetch(this.url,f);case 9:if((d=e.sent).ok){e.next=12;break}throw new Error("HTTP ".concat(d.status," ").concat(d.statusText," ").concat(this.url));case 12:if((200!==d.status||0!==o)&&206!==d.status){e.next=21;break}return e.next=15,this.getBufferFromResponse(d);case 15:return p=(h=e.sent).copy(t,n,0,Math.min(r,h.length)),m=d.headers.get("content-range"),(g=/\/(\d+)$/.exec(m||""))&&g[1]&&(this._stat={size:parseInt(g[1],10)}),e.abrupt("return",{bytesRead:p,buffer:t});case 21:if(200!==d.status){e.next=23;break}throw new Error("${this.url} fetch returned status 200, expected 206");case 23:throw new Error("HTTP ".concat(d.status," fetching ").concat(this.url));case 24:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Q(Y().mark((function e(){var t,n,r,o,i,a,s,u,c,l=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof(t=l.length>0&&void 0!==l[0]?l[0]:{})?(n=t,r={}):(n=t.encoding,delete(r=t).encoding),s=void 0===(a=(o=r).overrides)?{}:a,u=K(K({headers:void 0===(i=o.headers)?{}:i,method:"GET",redirect:"follow",mode:"cors",signal:o.signal},this.baseOverrides),s),e.next=6,this.fetch(this.url,u);case 6:if(c=e.sent){e.next=9;break}throw new Error("generic-filehandle failed to fetch");case 9:if(200===c.status){e.next=11;break}throw Object.assign(new Error("HTTP ".concat(c.status," fetching ").concat(this.url)),{status:c.status});case 11:if("utf8"!==n){e.next=13;break}return e.abrupt("return",c.text());case 13:if(!n){e.next=15;break}throw new Error("unsupported encoding: ".concat(n));case 15:return e.abrupt("return",this.getBufferFromResponse(c));case 16:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"stat",value:(n=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._stat){e.next=6;break}return t=Xt.allocUnsafe(10),e.next=4,this.read(t,0,10,0);case 4:if(this._stat){e.next=6;break}throw new Error("unable to determine size of file at ".concat(this.url));case 6:return e.abrupt("return",this._stat);case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"close",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return");case 1:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}]),e}();function Dr(e){var t=new FileReader;return new Promise((function(n,r){t.onerror=function(){t.abort(),r(new Error("problem reading blob"))},t.onabort=function(){r(new Error("blob reading was aborted"))},t.onload=function(){t.result&&"string"!=typeof t.result?n(t.result):r(new Error("unknown error reading blob"))},t.readAsArrayBuffer(e)}))}function qr(e){var t=new FileReader;return new Promise((function(n,r){t.onerror=function(){t.abort(),r(new Error("problem reading blob"))},t.onabort=function(){r(new Error("blob reading was aborted"))},t.onload=function(){t.result&&"string"==typeof t.result?n(t.result):r(new Error("unknown error reading blob"))},t.readAsText(e)}))}var Br=function(){function e(t){ee(this,e),this.blob=t,this.size=t.size}var t,n,r,o;return ne(e,[{key:"read",value:(o=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=c.length>1&&void 0!==c[1]?c[1]:0,o=c.length>3&&void 0!==c[3]?c[3]:0,r=c.length>2?c[2]:void 0){e.next=5;break}return e.abrupt("return",{bytesRead:0,buffer:t});case 5:return a=(i=o)+r,e.next=9,Dr(this.blob.slice(i,a));case 9:return s=Xt.from(e.sent),u=s.copy(t,n),e.abrupt("return",{bytesRead:u,buffer:s});case 13:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("utf8"!==(n="string"==typeof t?t:t&&t.encoding)){e.next=3;break}return e.abrupt("return",qr(this.blob));case 3:if(!n){e.next=5;break}throw new Error("unsupported encoding: ".concat(n));case 5:return e.next=7,Dr(this.blob);case 7:return e.abrupt("return",Xt.from(e.sent));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"stat",value:(n=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{size:this.size});case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"close",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return");case 1:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}]),e}();function Ur(e){return new Lr(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}var zr={__proto__:null,open:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(void 0!==n)return n;if(void 0!==e)return Ur(e,r);if(void 0!==t)return new Fr(t,r);throw new Error("no url, path, or filehandle provided, cannot open")},fromUrl:Ur,RemoteFile:Lr,LocalFile:Fr,BlobFile:Br},Gr={};!function(e){var t="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!==Z(r))throw new TypeError(r+"must be non-object");for(var o in r)n(r,o)&&(e[o]=r[o])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,r,o){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),o);else for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){var t,n,r,o,i,a;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(a=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)a.set(i=e[t],o),o+=i.length;return a}},o={arraySet:function(e,t,n,r,o){for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){return[].concat.apply([],e)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,r)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,o))},e.setTyped(t)}(Gr);var Hr={},Wr={},Vr={},$r=Gr;function Jr(e){for(var t=e.length;--t>=0;)e[t]=0}var Kr=15,Yr=16,Zr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Xr=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Qr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],eo=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],to=new Array(576);Jr(to);var no=new Array(60);Jr(no);var ro=new Array(512);Jr(ro);var oo=new Array(256);Jr(oo);var io=new Array(29);Jr(io);var ao,so,uo,co=new Array(30);function lo(e,t,n,r,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=o,this.has_stree=e&&e.length}function fo(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function ho(e){return e<256?ro[e]:ro[256+(e>>>7)]}function po(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function mo(e,t,n){e.bi_valid>Yr-n?(e.bi_buf|=t<<e.bi_valid&65535,po(e,e.bi_buf),e.bi_buf=t>>Yr-e.bi_valid,e.bi_valid+=n-Yr):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function go(e,t,n){mo(e,n[2*t],n[2*t+1])}function yo(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function vo(e,t,n){var r,o,i=new Array(Kr+1),a=0;for(r=1;r<=Kr;r++)i[r]=a=a+n[r-1]<<1;for(o=0;o<=t;o++){var s=e[2*o+1];0!==s&&(e[2*o]=yo(i[s]++,s))}}function _o(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function bo(e){e.bi_valid>8?po(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function wo(e,t,n,r){var o=2*t,i=2*n;return e[o]<e[i]||e[o]===e[i]&&r[t]<=r[n]}function So(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&wo(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!wo(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function xo(e,t,n){var r,o,i,a,s=0;if(0!==e.last_lit)do{r=e.pending_buf[e.d_buf+2*s]<<8|e.pending_buf[e.d_buf+2*s+1],o=e.pending_buf[e.l_buf+s],s++,0===r?go(e,o,t):(go(e,(i=oo[o])+256+1,t),0!==(a=Zr[i])&&mo(e,o-=io[i],a),go(e,i=ho(--r),n),0!==(a=Xr[i])&&mo(e,r-=co[i],a))}while(s<e.last_lit);go(e,256,t)}function ko(e,t){var n,r,o,i=t.dyn_tree,a=t.stat_desc.static_tree,s=t.stat_desc.has_stree,u=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=573,n=0;n<u;n++)0!==i[2*n]?(e.heap[++e.heap_len]=c=n,e.depth[n]=0):i[2*n+1]=0;for(;e.heap_len<2;)i[2*(o=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[o]=0,e.opt_len--,s&&(e.static_len-=a[2*o+1]);for(t.max_code=c,n=e.heap_len>>1;n>=1;n--)So(e,i,n);o=u;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],So(e,i,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,i[2*o]=i[2*n]+i[2*r],e.depth[o]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,i[2*n+1]=i[2*r+1]=o,e.heap[1]=o++,So(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,o,i,a,s,u=t.dyn_tree,c=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(i=0;i<=Kr;i++)e.bl_count[i]=0;for(u[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(i=u[2*u[2*(r=e.heap[n])+1]+1]+1)>p&&(i=p,m++),u[2*r+1]=i,r>c||(e.bl_count[i]++,a=0,r>=h&&(a=d[r-h]),e.opt_len+=(s=u[2*r])*(i+a),f&&(e.static_len+=s*(l[2*r+1]+a)));if(0!==m){do{for(i=p-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[p]--,m-=2}while(m>0);for(i=p;0!==i;i--)for(r=e.bl_count[i];0!==r;)(o=e.heap[--n])>c||(u[2*o+1]!==i&&(e.opt_len+=(i-u[2*o+1])*u[2*o],u[2*o+1]=i),r--)}}(e,t),vo(i,c,e.bl_count)}function Eo(e,t,n){var r,o,i=-1,a=t[1],s=0,u=7,c=4;for(0===a&&(u=138,c=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)o=a,a=t[2*(r+1)+1],++s<u&&o===a||(s<c?e.bl_tree[2*o]+=s:0!==o?(o!==i&&e.bl_tree[2*o]++,e.bl_tree[32]++):s<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=0,i=o,0===a?(u=138,c=3):o===a?(u=6,c=3):(u=7,c=4))}function Ao(e,t,n){var r,o,i=-1,a=t[1],s=0,u=7,c=4;for(0===a&&(u=138,c=3),r=0;r<=n;r++)if(o=a,a=t[2*(r+1)+1],!(++s<u&&o===a)){if(s<c)do{go(e,o,e.bl_tree)}while(0!=--s);else 0!==o?(o!==i&&(go(e,o,e.bl_tree),s--),go(e,16,e.bl_tree),mo(e,s-3,2)):s<=10?(go(e,17,e.bl_tree),mo(e,s-3,3)):(go(e,18,e.bl_tree),mo(e,s-11,7));s=0,i=o,0===a?(u=138,c=3):o===a?(u=6,c=3):(u=7,c=4)}}Jr(co);var Co=!1;function Oo(e,t,n,r){mo(e,0+(r?1:0),3),function(e,t,n,r){bo(e),po(e,n),po(e,~n),$r.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n)}Vr._tr_init=function(e){Co||(function(){var e,t,n,r,o,i=new Array(Kr+1);for(n=0,r=0;r<28;r++)for(io[r]=n,e=0;e<1<<Zr[r];e++)oo[n++]=r;for(oo[n-1]=r,o=0,r=0;r<16;r++)for(co[r]=o,e=0;e<1<<Xr[r];e++)ro[o++]=r;for(o>>=7;r<30;r++)for(co[r]=o<<7,e=0;e<1<<Xr[r]-7;e++)ro[256+o++]=r;for(t=0;t<=Kr;t++)i[t]=0;for(e=0;e<=143;)to[2*e+1]=8,e++,i[8]++;for(;e<=255;)to[2*e+1]=9,e++,i[9]++;for(;e<=279;)to[2*e+1]=7,e++,i[7]++;for(;e<=287;)to[2*e+1]=8,e++,i[8]++;for(vo(to,287,i),e=0;e<30;e++)no[2*e+1]=5,no[2*e]=yo(e,5);ao=new lo(to,Zr,257,286,Kr),so=new lo(no,Xr,0,30,Kr),uo=new lo(new Array(0),Qr,0,19,7)}(),Co=!0),e.l_desc=new fo(e.dyn_ltree,ao),e.d_desc=new fo(e.dyn_dtree,so),e.bl_desc=new fo(e.bl_tree,uo),e.bi_buf=0,e.bi_valid=0,_o(e)},Vr._tr_stored_block=Oo,Vr._tr_flush_block=function(e,t,n,r){var o,i,a=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),ko(e,e.l_desc),ko(e,e.d_desc),a=function(e){var t;for(Eo(e,e.dyn_ltree,e.l_desc.max_code),Eo(e,e.dyn_dtree,e.d_desc.max_code),ko(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*eo[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),(i=e.static_len+3+7>>>3)<=(o=e.opt_len+3+7>>>3)&&(o=i)):o=i=n+5,n+4<=o&&-1!==t?Oo(e,t,n,r):4===e.strategy||i===o?(mo(e,2+(r?1:0),3),xo(e,to,no)):(mo(e,4+(r?1:0),3),function(e,t,n,r){var o;for(mo(e,t-257,5),mo(e,n-1,5),mo(e,r-4,4),o=0;o<r;o++)mo(e,e.bl_tree[2*eo[o]+1],3);Ao(e,e.dyn_ltree,t-1),Ao(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),xo(e,e.dyn_ltree,e.dyn_dtree)),_o(e),r&&bo(e)},Vr._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(oo[n]+256+1)]++,e.dyn_dtree[2*ho(t)]++),e.last_lit===e.lit_bufsize-1},Vr._tr_align=function(e){mo(e,2,3),go(e,256,to),function(e){16===e.bi_valid?(po(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)};var Ro=function(e,t,n,r){for(var o=65535&e|0,i=e>>>16&65535|0,a=0;0!==n;){n-=a=n>2e3?2e3:n;do{i=i+(o=o+t[r++]|0)|0}while(--a);o%=65521,i%=65521}return o|i<<16|0};function No(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}var Io,Po=No(),To=function(e,t,n,r){var o=Po,i=r+n;e^=-1;for(var a=r;a<i;a++)e=e>>>8^o[255&(e^t[a])];return-1^e},Mo={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},jo=Gr,Fo=Vr,Lo=Ro,Do=To,qo=Mo,Bo=0,Uo=0,zo=-2,Go=2,Ho=8,Wo=286,Vo=30,$o=19,Jo=2*Wo+1,Ko=15,Yo=3,Zo=258,Xo=Zo+Yo+1,Qo=42,ei=103,ti=113,ni=666;function ri(e,t){return e.msg=qo[t],t}function oi(e){return(e<<1)-(e>4?9:0)}function ii(e){for(var t=e.length;--t>=0;)e[t]=0}function ai(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(jo.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function si(e,t){Fo._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ai(e.strm)}function ui(e,t){e.pending_buf[e.pending++]=t}function ci(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function li(e,t){var n,r,o=e.max_chain_length,i=e.strstart,a=e.prev_length,s=e.nice_match,u=e.strstart>e.w_size-Xo?e.strstart-(e.w_size-Xo):0,c=e.window,l=e.w_mask,f=e.prev,d=e.strstart+Zo,h=c[i+a-1],p=c[i+a];e.prev_length>=e.good_match&&(o>>=2),s>e.lookahead&&(s=e.lookahead);do{if(c[(n=t)+a]===p&&c[n+a-1]===h&&c[n]===c[i]&&c[++n]===c[i+1]){i+=2,n++;do{}while(c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&i<d);if(r=Zo-(d-i),i=d-Zo,r>a){if(e.match_start=t,a=r,r>=s)break;h=c[i+a-1],p=c[i+a]}}}while((t=f[t&l])>u&&0!=--o);return a<=e.lookahead?a:e.lookahead}function fi(e){var t,n,r,o,i,a,s,u,c,l,f=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-Xo)){jo.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=n=e.hash_size;do{r=e.head[--t],e.head[t]=r>=f?r-f:0}while(--n);t=n=f;do{r=e.prev[--t],e.prev[t]=r>=f?r-f:0}while(--n);o+=f}if(0===e.strm.avail_in)break;if(s=e.window,u=e.strstart+e.lookahead,l=void 0,(l=(a=e.strm).avail_in)>(c=o)&&(l=c),n=0===l?0:(a.avail_in-=l,jo.arraySet(s,a.input,a.next_in,l,u),1===a.state.wrap?a.adler=Lo(a.adler,s,l,u):2===a.state.wrap&&(a.adler=Do(a.adler,s,l,u)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=n,e.lookahead+e.insert>=Yo)for(e.ins_h=e.window[i=e.strstart-e.insert],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+Yo-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<Yo)););}while(e.lookahead<Xo&&0!==e.strm.avail_in)}function di(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(fi(e),0===e.lookahead&&t===Bo)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,si(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-Xo&&(si(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(si(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&si(e,!1),1)}function hi(e,t){for(var n,r;;){if(e.lookahead<Xo){if(fi(e),e.lookahead<Xo&&t===Bo)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=Yo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yo-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-Xo&&(e.match_length=li(e,n)),e.match_length>=Yo)if(r=Fo._tr_tally(e,e.strstart-e.match_start,e.match_length-Yo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Yo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yo-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=Fo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(si(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<Yo-1?e.strstart:Yo-1,4===t?(si(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(si(e,!1),0===e.strm.avail_out)?1:2}function pi(e,t){for(var n,r,o;;){if(e.lookahead<Xo){if(fi(e),e.lookahead<Xo&&t===Bo)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=Yo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yo-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Yo-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-Xo&&(e.match_length=li(e,n),e.match_length<=5&&(1===e.strategy||e.match_length===Yo&&e.strstart-e.match_start>4096)&&(e.match_length=Yo-1)),e.prev_length>=Yo&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-Yo,r=Fo._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-Yo),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yo-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=Yo-1,e.strstart++,r&&(si(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=Fo._tr_tally(e,0,e.window[e.strstart-1]))&&si(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Fo._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Yo-1?e.strstart:Yo-1,4===t?(si(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(si(e,!1),0===e.strm.avail_out)?1:2}function mi(e,t,n,r,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=o}function gi(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ho,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new jo.Buf16(2*Jo),this.dyn_dtree=new jo.Buf16(2*(2*Vo+1)),this.bl_tree=new jo.Buf16(2*(2*$o+1)),ii(this.dyn_ltree),ii(this.dyn_dtree),ii(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new jo.Buf16(Ko+1),this.heap=new jo.Buf16(2*Wo+1),ii(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new jo.Buf16(2*Wo+1),ii(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function yi(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=Go,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Qo:ti,e.adler=2===t.wrap?0:1,t.last_flush=Bo,Fo._tr_init(t),Uo):ri(e,zo)}function vi(e){var t,n=yi(e);return n===Uo&&((t=e.state).window_size=2*t.w_size,ii(t.head),t.max_lazy_match=Io[t.level].max_lazy,t.good_match=Io[t.level].good_length,t.nice_match=Io[t.level].nice_length,t.max_chain_length=Io[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=Yo-1,t.match_available=0,t.ins_h=0),n}function _i(e,t,n,r,o,i){if(!e)return zo;var a=1;if(-1===t&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>9||n!==Ho||r<8||r>15||t<0||t>9||i<0||i>4)return ri(e,zo);8===r&&(r=9);var s=new gi;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=o+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+Yo-1)/Yo),s.window=new jo.Buf8(2*s.w_size),s.head=new jo.Buf16(s.hash_size),s.prev=new jo.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new jo.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=i,s.method=n,vi(e)}Io=[new mi(0,0,0,0,di),new mi(4,4,8,4,hi),new mi(4,5,16,8,hi),new mi(4,6,32,32,hi),new mi(4,4,16,16,pi),new mi(8,16,32,32,pi),new mi(8,16,128,128,pi),new mi(8,32,128,256,pi),new mi(32,128,258,1024,pi),new mi(32,258,258,4096,pi)],Wr.deflateInit=function(e,t){return _i(e,t,Ho,15,8,0)},Wr.deflateInit2=_i,Wr.deflateReset=vi,Wr.deflateResetKeep=yi,Wr.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?zo:(e.state.gzhead=t,Uo):zo},Wr.deflate=function(e,t){var n,r,o,i;if(!e||!e.state||t>5||t<0)return e?ri(e,zo):zo;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===ni&&4!==t)return ri(e,0===e.avail_out?-5:zo);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===Qo)if(2===r.wrap)e.adler=0,ui(r,31),ui(r,139),ui(r,8),r.gzhead?(ui(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),ui(r,255&r.gzhead.time),ui(r,r.gzhead.time>>8&255),ui(r,r.gzhead.time>>16&255),ui(r,r.gzhead.time>>24&255),ui(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),ui(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(ui(r,255&r.gzhead.extra.length),ui(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=Do(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(ui(r,0),ui(r,0),ui(r,0),ui(r,0),ui(r,0),ui(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),ui(r,3),r.status=ti);else{var a=Ho+(r.w_bits-8<<4)<<8;a|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(a|=32),a+=31-a%31,r.status=ti,ci(r,a),0!==r.strstart&&(ci(r,e.adler>>>16),ci(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),ai(e),o=r.pending,r.pending!==r.pending_buf_size));)ui(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),ai(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}i=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,ui(r,i)}while(0!==i);r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),0===i&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),ai(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}i=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,ui(r,i)}while(0!==i);r.gzhead.hcrc&&r.pending>o&&(e.adler=Do(e.adler,r.pending_buf,r.pending-o,o)),0===i&&(r.status=ei)}else r.status=ei;if(r.status===ei&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&ai(e),r.pending+2<=r.pending_buf_size&&(ui(r,255&e.adler),ui(r,e.adler>>8&255),e.adler=0,r.status=ti)):r.status=ti),0!==r.pending){if(ai(e),0===e.avail_out)return r.last_flush=-1,Uo}else if(0===e.avail_in&&oi(t)<=oi(n)&&4!==t)return ri(e,-5);if(r.status===ni&&0!==e.avail_in)return ri(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==Bo&&r.status!==ni){var s=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(fi(e),0===e.lookahead)){if(t===Bo)return 1;break}if(e.match_length=0,n=Fo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(si(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(si(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(si(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,r,o,i,a=e.window;;){if(e.lookahead<=Zo){if(fi(e),e.lookahead<=Zo&&t===Bo)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=Yo&&e.strstart>0&&(r=a[o=e.strstart-1])===a[++o]&&r===a[++o]&&r===a[++o]){i=e.strstart+Zo;do{}while(r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&o<i);e.match_length=Zo-(i-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Yo?(n=Fo._tr_tally(e,1,e.match_length-Yo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Fo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(si(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(si(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(si(e,!1),0===e.strm.avail_out)?1:2}(r,t):Io[r.level].func(r,t);if(3!==s&&4!==s||(r.status=ni),1===s||3===s)return 0===e.avail_out&&(r.last_flush=-1),Uo;if(2===s&&(1===t?Fo._tr_align(r):5!==t&&(Fo._tr_stored_block(r,0,0,!1),3===t&&(ii(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),ai(e),0===e.avail_out))return r.last_flush=-1,Uo}return 4!==t?Uo:r.wrap<=0?1:(2===r.wrap?(ui(r,255&e.adler),ui(r,e.adler>>8&255),ui(r,e.adler>>16&255),ui(r,e.adler>>24&255),ui(r,255&e.total_in),ui(r,e.total_in>>8&255),ui(r,e.total_in>>16&255),ui(r,e.total_in>>24&255)):(ci(r,e.adler>>>16),ci(r,65535&e.adler)),ai(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?Uo:1)},Wr.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==Qo&&69!==t&&73!==t&&91!==t&&t!==ei&&t!==ti&&t!==ni?ri(e,zo):(e.state=null,t===ti?ri(e,-3):Uo):zo},Wr.deflateSetDictionary=function(e,t){var n,r,o,i,a,s,u,c,l=t.length;if(!e||!e.state)return zo;if(2===(i=(n=e.state).wrap)||1===i&&n.status!==Qo||n.lookahead)return zo;for(1===i&&(e.adler=Lo(e.adler,t,l,0)),n.wrap=0,l>=n.w_size&&(0===i&&(ii(n.head),n.strstart=0,n.block_start=0,n.insert=0),c=new jo.Buf8(n.w_size),jo.arraySet(c,t,l-n.w_size,n.w_size,0),t=c,l=n.w_size),a=e.avail_in,s=e.next_in,u=e.input,e.avail_in=l,e.next_in=0,e.input=t,fi(n);n.lookahead>=Yo;){r=n.strstart,o=n.lookahead-(Yo-1);do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+Yo-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++}while(--o);n.strstart=r,n.lookahead=Yo-1,fi(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=Yo-1,n.match_available=0,e.next_in=s,e.input=u,e.avail_in=a,n.wrap=i,Uo},Wr.deflateInfo="pako deflate (from Nodeca project)";var bi={},wi=Gr,Si=!0,xi=!0;try{String.fromCharCode.apply(null,[0])}catch(e){Si=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){xi=!1}for(var ki=new wi.Buf8(256),Ei=0;Ei<256;Ei++)ki[Ei]=Ei>=252?6:Ei>=248?5:Ei>=240?4:Ei>=224?3:Ei>=192?2:1;function Ai(e,t){if(t<65534&&(e.subarray&&xi||!e.subarray&&Si))return String.fromCharCode.apply(null,wi.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}ki[254]=ki[254]=1,bi.string2buf=function(e){var t,n,r,o,i,a=e.length,s=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new wi.Buf8(s),i=0,o=0;i<s;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|63&n):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|63&n):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|63&n);return t},bi.buf2binstring=function(e){return Ai(e,e.length)},bi.binstring2buf=function(e){for(var t=new wi.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t},bi.buf2string=function(e,t){var n,r,o,i,a=t||e.length,s=new Array(2*a);for(r=0,n=0;n<a;)if((o=e[n++])<128)s[r++]=o;else if((i=ki[o])>4)s[r++]=65533,n+=i-1;else{for(o&=2===i?31:3===i?15:7;i>1&&n<a;)o=o<<6|63&e[n++],i--;i>1?s[r++]=65533:o<65536?s[r++]=o:(s[r++]=55296|(o-=65536)>>10&1023,s[r++]=56320|1023&o)}return Ai(s,r)},bi.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+ki[e[n]]>t?n:t};var Ci=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Oi=Wr,Ri=Gr,Ni=bi,Ii=Mo,Pi=Ci,Ti=Object.prototype.toString,Mi=0,ji=-1,Fi=0,Li=8;function Di(e){if(!(this instanceof Di))return new Di(e);this.options=Ri.assign({level:ji,method:Li,chunkSize:16384,windowBits:15,memLevel:8,strategy:Fi,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Pi,this.strm.avail_out=0;var n=Oi.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Mi)throw new Error(Ii[n]);if(t.header&&Oi.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?Ni.string2buf(t.dictionary):"[object ArrayBuffer]"===Ti.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Oi.deflateSetDictionary(this.strm,r))!==Mi)throw new Error(Ii[n]);this._dict_set=!0}}function qi(e,t){var n=new Di(t);if(n.push(e,!0),n.err)throw n.msg||Ii[n.err];return n.result}Di.prototype.push=function(e,t){var n,r,o=this.strm,i=this.options.chunkSize;if(this.ended)return!1;r=t===~~t?t:!0===t?4:0,o.input="string"==typeof e?Ni.string2buf(e):"[object ArrayBuffer]"===Ti.call(e)?new Uint8Array(e):e,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new Ri.Buf8(i),o.next_out=0,o.avail_out=i),1!==(n=Oi.deflate(o,r))&&n!==Mi)return this.onEnd(n),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==r&&2!==r)||this.onData("string"===this.options.to?Ni.buf2binstring(Ri.shrinkBuf(o.output,o.next_out)):Ri.shrinkBuf(o.output,o.next_out))}while((o.avail_in>0||0===o.avail_out)&&1!==n);return 4===r?(n=Oi.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Mi):2!==r||(this.onEnd(Mi),o.avail_out=0,!0)},Di.prototype.onData=function(e){this.chunks.push(e)},Di.prototype.onEnd=function(e){e===Mi&&(this.result="string"===this.options.to?this.chunks.join(""):Ri.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},Hr.Deflate=Di,Hr.deflate=qi,Hr.deflateRaw=function(e,t){return(t=t||{}).raw=!0,qi(e,t)},Hr.gzip=function(e,t){return(t=t||{}).gzip=!0,qi(e,t)};var Bi={},Ui={},zi=Gr,Gi=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Hi=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Wi=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Vi=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],$i=Gr,Ji=Ro,Ki=To,Yi=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A;E=e.input,o=(r=e.next_in)+(e.avail_in-5),A=e.output,a=(i=e.next_out)-(t-e.avail_out),s=i+(e.avail_out-257),u=(n=e.state).dmax,c=n.wsize,l=n.whave,f=n.wnext,d=n.window,h=n.hold,p=n.bits,m=n.lencode,g=n.distcode,y=(1<<n.lenbits)-1,v=(1<<n.distbits)-1;e:do{p<15&&(h+=E[r++]<<p,h+=E[r++]<<(p+=8),p+=8),_=m[h&y];t:for(;;){if(h>>>=b=_>>>24,p-=b,0==(b=_>>>16&255))A[i++]=65535&_;else{if(!(16&b)){if(0==(64&b)){_=m[(65535&_)+(h&(1<<b)-1)];continue t}if(32&b){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}w=65535&_,(b&=15)&&(p<b&&(h+=E[r++]<<p,p+=8),w+=h&(1<<b)-1,h>>>=b,p-=b),p<15&&(h+=E[r++]<<p,h+=E[r++]<<(p+=8),p+=8),_=g[h&v];n:for(;;){if(h>>>=b=_>>>24,p-=b,!(16&(b=_>>>16&255))){if(0==(64&b)){_=g[(65535&_)+(h&(1<<b)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(S=65535&_,p<(b&=15)&&(h+=E[r++]<<p,(p+=8)<b&&(h+=E[r++]<<p,p+=8)),(S+=h&(1<<b)-1)>u){e.msg="invalid distance too far back",n.mode=30;break e}if(h>>>=b,p-=b,S>(b=i-a)){if((b=S-b)>l&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(x=0,k=d,0===f){if(x+=c-b,b<w){w-=b;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}}else if(f<b){if(x+=c+f-b,(b-=f)<w){w-=b;do{A[i++]=d[x++]}while(--b);if(x=0,f<w){w-=b=f;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}}}else if(x+=f-b,b<w){w-=b;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}for(;w>2;)A[i++]=k[x++],A[i++]=k[x++],A[i++]=k[x++],w-=3;w&&(A[i++]=k[x++],w>1&&(A[i++]=k[x++]))}else{x=i-S;do{A[i++]=A[x++],A[i++]=A[x++],A[i++]=A[x++],w-=3}while(w>2);w&&(A[i++]=A[x++],w>1&&(A[i++]=A[x++]))}break}}break}}while(r<o&&i<s);h&=(1<<(p-=(w=p>>3)<<3))-1,e.next_in=r-=w,e.next_out=i,e.avail_in=r<o?o-r+5:5-(r-o),e.avail_out=i<s?s-i+257:257-(i-s),n.hold=h,n.bits=p},Zi=function(e,t,n,r,o,i,a,s){var u,c,l,f,d,h,p,m,g,y=s.bits,v=0,_=0,b=0,w=0,S=0,x=0,k=0,E=0,A=0,C=0,O=null,R=0,N=new zi.Buf16(16),I=new zi.Buf16(16),P=null,T=0;for(v=0;v<=15;v++)N[v]=0;for(_=0;_<r;_++)N[t[n+_]]++;for(S=y,w=15;w>=1&&0===N[w];w--);if(S>w&&(S=w),0===w)return o[i++]=20971520,o[i++]=20971520,s.bits=1,0;for(b=1;b<w&&0===N[b];b++);for(S<b&&(S=b),E=1,v=1;v<=15;v++)if(E<<=1,(E-=N[v])<0)return-1;if(E>0&&(0===e||1!==w))return-1;for(I[1]=0,v=1;v<15;v++)I[v+1]=I[v]+N[v];for(_=0;_<r;_++)0!==t[n+_]&&(a[I[t[n+_]]++]=_);if(0===e?(O=P=a,h=19):1===e?(O=Gi,R-=257,P=Hi,T-=257,h=256):(O=Wi,P=Vi,h=-1),C=0,_=0,v=b,d=i,x=S,k=0,l=-1,f=(A=1<<S)-1,1===e&&A>852||2===e&&A>592)return 1;for(;;){p=v-k,a[_]<h?(m=0,g=a[_]):a[_]>h?(m=P[T+a[_]],g=O[R+a[_]]):(m=96,g=0),u=1<<v-k,b=c=1<<x;do{o[d+(C>>k)+(c-=u)]=p<<24|m<<16|g|0}while(0!==c);for(u=1<<v-1;C&u;)u>>=1;if(0!==u?(C&=u-1,C+=u):C=0,_++,0==--N[v]){if(v===w)break;v=t[n+a[_]]}if(v>S&&(C&f)!==l){for(0===k&&(k=S),d+=b,E=1<<(x=v-k);x+k<w&&!((E-=N[x+k])<=0);)x++,E<<=1;if(A+=1<<x,1===e&&A>852||2===e&&A>592)return 1;o[l=C&f]=S<<24|x<<16|d-i|0}}return 0!==C&&(o[d+C]=v-k<<24|64<<16|0),s.bits=S,0},Xi=0,Qi=-2,ea=1,ta=12,na=30,ra=852,oa=592;function ia(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function aa(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new $i.Buf16(320),this.work=new $i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function sa(e){var t;return e&&e.state?(e.total_in=e.total_out=(t=e.state).total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=ea,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new $i.Buf32(ra),t.distcode=t.distdyn=new $i.Buf32(oa),t.sane=1,t.back=-1,Xi):Qi}function ua(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,sa(e)):Qi}function ca(e,t){var n,r;return e&&e.state?(t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Qi:(null!==(r=e.state).window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,ua(e))):Qi}function la(e,t){var n,r;return e?(r=new aa,e.state=r,r.window=null,(n=ca(e,t))!==Xi&&(e.state=null),n):Qi}var fa,da,ha=!0;function pa(e){if(ha){var t;for(fa=new $i.Buf32(512),da=new $i.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Zi(1,e.lens,0,288,fa,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Zi(2,e.lens,0,32,da,0,e.work,{bits:5}),ha=!1}e.lencode=fa,e.lenbits=9,e.distcode=da,e.distbits=5}function ma(e,t,n,r){var o,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new $i.Buf8(i.wsize)),r>=i.wsize?($i.arraySet(i.window,t,n-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):((o=i.wsize-i.wnext)>r&&(o=r),$i.arraySet(i.window,t,n-r,o,i.wnext),(r-=o)?($i.arraySet(i.window,t,n-r,r,0),i.wnext=r,i.whave=i.wsize):(i.wnext+=o,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=o))),0}Ui.inflateReset=ua,Ui.inflateReset2=ca,Ui.inflateResetKeep=sa,Ui.inflateInit=function(e){return la(e,15)},Ui.inflateInit2=la,Ui.inflate=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A=0,C=new $i.Buf8(4),O=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return Qi;(n=e.state).mode===ta&&(n.mode=13),a=e.next_out,o=e.output,i=e.next_in,r=e.input,c=n.hold,l=n.bits,f=s=e.avail_in,d=u=e.avail_out,x=Xi;e:for(;;)switch(n.mode){case ea:if(0===n.wrap){n.mode=13;break}for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(2&n.wrap&&35615===c){n.check=0,C[0]=255&c,C[1]=c>>>8&255,n.check=Ki(n.check,C,2,0),c=0,l=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=na;break}if(8!=(15&c)){e.msg="unknown compression method",n.mode=na;break}if(l-=4,S=8+(15&(c>>>=4)),0===n.wbits)n.wbits=S;else if(S>n.wbits){e.msg="invalid window size",n.mode=na;break}n.dmax=1<<S,e.adler=n.check=1,n.mode=512&c?10:ta,c=0,l=0;break;case 2:for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(n.flags=c,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=na;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=na;break}n.head&&(n.head.text=c>>8&1),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Ki(n.check,C,2,0)),c=0,l=0,n.mode=3;case 3:for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.head&&(n.head.time=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,C[2]=c>>>16&255,C[3]=c>>>24&255,n.check=Ki(n.check,C,4,0)),c=0,l=0,n.mode=4;case 4:for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.head&&(n.head.xflags=255&c,n.head.os=c>>8),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Ki(n.check,C,2,0)),c=0,l=0,n.mode=5;case 5:if(1024&n.flags){for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.length=c,n.head&&(n.head.extra_len=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Ki(n.check,C,2,0)),c=0,l=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((h=n.length)>s&&(h=s),h&&(n.head&&(S=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),$i.arraySet(n.head.extra,r,i,h,S)),512&n.flags&&(n.check=Ki(n.check,r,h,i)),s-=h,i+=h,n.length-=h),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===s)break e;h=0;do{S=r[i+h++],n.head&&S&&n.length<65536&&(n.head.name+=String.fromCharCode(S))}while(S&&h<s);if(512&n.flags&&(n.check=Ki(n.check,r,h,i)),s-=h,i+=h,S)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===s)break e;h=0;do{S=r[i+h++],n.head&&S&&n.length<65536&&(n.head.comment+=String.fromCharCode(S))}while(S&&h<s);if(512&n.flags&&(n.check=Ki(n.check,r,h,i)),s-=h,i+=h,S)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c!==(65535&n.check)){e.msg="header crc mismatch",n.mode=na;break}c=0,l=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=ta;break;case 10:for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}e.adler=n.check=ia(c),c=0,l=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,2;e.adler=n.check=1,n.mode=ta;case ta:if(5===t||6===t)break e;case 13:if(n.last){c>>>=7&l,l-=7&l,n.mode=27;break}for(;l<3;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}switch(n.last=1&c,l-=1,3&(c>>>=1)){case 0:n.mode=14;break;case 1:if(pa(n),n.mode=20,6===t){c>>>=2,l-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=na}c>>>=2,l-=2;break;case 14:for(c>>>=7&l,l-=7&l;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=na;break}if(n.length=65535&c,c=0,l=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(h=n.length){if(h>s&&(h=s),h>u&&(h=u),0===h)break e;$i.arraySet(o,r,i,h,a),s-=h,i+=h,u-=h,a+=h,n.length-=h;break}n.mode=ta;break;case 17:for(;l<14;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(n.nlen=257+(31&c),l-=5,n.ndist=1+(31&(c>>>=5)),l-=5,n.ncode=4+(15&(c>>>=5)),c>>>=4,l-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=na;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;l<3;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.lens[O[n.have++]]=7&c,c>>>=3,l-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,x=Zi(0,n.lens,0,19,n.lencode,0,n.work,k={bits:n.lenbits}),n.lenbits=k.bits,x){e.msg="invalid code lengths set",n.mode=na;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;y=(A=n.lencode[c&(1<<n.lenbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(v<16)c>>>=g,l-=g,n.lens[n.have++]=v;else{if(16===v){for(E=g+2;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c>>>=g,l-=g,0===n.have){e.msg="invalid bit length repeat",n.mode=na;break}S=n.lens[n.have-1],h=3+(3&c),c>>>=2,l-=2}else if(17===v){for(E=g+3;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}l-=g,S=0,h=3+(7&(c>>>=g)),c>>>=3,l-=3}else{for(E=g+7;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}l-=g,S=0,h=11+(127&(c>>>=g)),c>>>=7,l-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=na;break}for(;h--;)n.lens[n.have++]=S}}if(n.mode===na)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=na;break}if(n.lenbits=9,x=Zi(1,n.lens,0,n.nlen,n.lencode,0,n.work,k={bits:n.lenbits}),n.lenbits=k.bits,x){e.msg="invalid literal/lengths set",n.mode=na;break}if(n.distbits=6,n.distcode=n.distdyn,x=Zi(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,k={bits:n.distbits}),n.distbits=k.bits,x){e.msg="invalid distances set",n.mode=na;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(s>=6&&u>=258){e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,Yi(e,d),a=e.next_out,o=e.output,u=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,c=n.hold,l=n.bits,n.mode===ta&&(n.back=-1);break}for(n.back=0;y=(A=n.lencode[c&(1<<n.lenbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(y&&0==(240&y)){for(_=g,b=y,w=v;y=(A=n.lencode[w+((c&(1<<_+b)-1)>>_)])>>>16&255,v=65535&A,!(_+(g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}c>>>=_,l-=_,n.back+=_}if(c>>>=g,l-=g,n.back+=g,n.length=v,0===y){n.mode=26;break}if(32&y){n.back=-1,n.mode=ta;break}if(64&y){e.msg="invalid literal/length code",n.mode=na;break}n.extra=15&y,n.mode=22;case 22:if(n.extra){for(E=n.extra;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;y=(A=n.distcode[c&(1<<n.distbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(0==(240&y)){for(_=g,b=y,w=v;y=(A=n.distcode[w+((c&(1<<_+b)-1)>>_)])>>>16&255,v=65535&A,!(_+(g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}c>>>=_,l-=_,n.back+=_}if(c>>>=g,l-=g,n.back+=g,64&y){e.msg="invalid distance code",n.mode=na;break}n.offset=v,n.extra=15&y,n.mode=24;case 24:if(n.extra){for(E=n.extra;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=na;break}n.mode=25;case 25:if(0===u)break e;if(n.offset>(h=d-u)){if((h=n.offset-h)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=na;break}p=h>n.wnext?n.wsize-(h-=n.wnext):n.wnext-h,h>n.length&&(h=n.length),m=n.window}else m=o,p=a-n.offset,h=n.length;h>u&&(h=u),u-=h,n.length-=h;do{o[a++]=m[p++]}while(--h);0===n.length&&(n.mode=21);break;case 26:if(0===u)break e;o[a++]=n.length,u--,n.mode=21;break;case 27:if(n.wrap){for(;l<32;){if(0===s)break e;s--,c|=r[i++]<<l,l+=8}if(e.total_out+=d-=u,n.total+=d,d&&(e.adler=n.check=n.flags?Ki(n.check,o,d,a-d):Ji(n.check,o,d,a-d)),d=u,(n.flags?c:ia(c))!==n.check){e.msg="incorrect data check",n.mode=na;break}c=0,l=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=na;break}c=0,l=0}n.mode=29;case 29:x=1;break e;case na:x=-3;break e;case 31:return-4;default:return Qi}return e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,(n.wsize||d!==e.avail_out&&n.mode<na&&(n.mode<27||4!==t))&&ma(e,e.output,e.next_out,d-e.avail_out),d-=e.avail_out,e.total_in+=f-=e.avail_in,e.total_out+=d,n.total+=d,n.wrap&&d&&(e.adler=n.check=n.flags?Ki(n.check,o,d,e.next_out-d):Ji(n.check,o,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===ta?128:0)+(20===n.mode||15===n.mode?256:0),(0===f&&0===d||4===t)&&x===Xi&&(x=-5),x},Ui.inflateEnd=function(e){if(!e||!e.state)return Qi;var t=e.state;return t.window&&(t.window=null),e.state=null,Xi},Ui.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?Qi:(n.head=t,t.done=!1,Xi):Qi},Ui.inflateSetDictionary=function(e,t){var n,r=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?Qi:11===n.mode&&Ji(1,t,r,0)!==n.check?-3:ma(e,t,r,r)?(n.mode=31,-4):(n.havedict=1,Xi):Qi},Ui.inflateInfo="pako inflate (from Nodeca project)";var ga={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},ya=Ui,va=Gr,_a=bi,ba=ga,wa=Mo,Sa=Ci,xa=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},ka=Object.prototype.toString;function Ea(e){if(!(this instanceof Ea))return new Ea(e);this.options=va.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Sa,this.strm.avail_out=0;var n=ya.inflateInit2(this.strm,t.windowBits);if(n!==ba.Z_OK)throw new Error(wa[n]);if(this.header=new xa,ya.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=_a.string2buf(t.dictionary):"[object ArrayBuffer]"===ka.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=ya.inflateSetDictionary(this.strm,t.dictionary))!==ba.Z_OK))throw new Error(wa[n])}function Aa(e,t){var n=new Ea(t);if(n.push(e,!0),n.err)throw n.msg||wa[n.err];return n.result}Ea.prototype.push=function(e,t){var n,r,o,i,a,s=this.strm,u=this.options.chunkSize,c=this.options.dictionary,l=!1;if(this.ended)return!1;r=t===~~t?t:!0===t?ba.Z_FINISH:ba.Z_NO_FLUSH,s.input="string"==typeof e?_a.binstring2buf(e):"[object ArrayBuffer]"===ka.call(e)?new Uint8Array(e):e,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new va.Buf8(u),s.next_out=0,s.avail_out=u),(n=ya.inflate(s,ba.Z_NO_FLUSH))===ba.Z_NEED_DICT&&c&&(n=ya.inflateSetDictionary(this.strm,c)),n===ba.Z_BUF_ERROR&&!0===l&&(n=ba.Z_OK,l=!1),n!==ba.Z_STREAM_END&&n!==ba.Z_OK)return this.onEnd(n),this.ended=!0,!1;s.next_out&&(0!==s.avail_out&&n!==ba.Z_STREAM_END&&(0!==s.avail_in||r!==ba.Z_FINISH&&r!==ba.Z_SYNC_FLUSH)||("string"===this.options.to?(o=_a.utf8border(s.output,s.next_out),i=s.next_out-o,a=_a.buf2string(s.output,o),s.next_out=i,s.avail_out=u-i,i&&va.arraySet(s.output,s.output,o,i,0),this.onData(a)):this.onData(va.shrinkBuf(s.output,s.next_out)))),0===s.avail_in&&0===s.avail_out&&(l=!0)}while((s.avail_in>0||0===s.avail_out)&&n!==ba.Z_STREAM_END);return n===ba.Z_STREAM_END&&(r=ba.Z_FINISH),r===ba.Z_FINISH?(n=ya.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ba.Z_OK):r!==ba.Z_SYNC_FLUSH||(this.onEnd(ba.Z_OK),s.avail_out=0,!0)},Ea.prototype.onData=function(e){this.chunks.push(e)},Ea.prototype.onEnd=function(e){e===ba.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):va.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},Bi.Inflate=Ea,Bi.inflate=Aa,Bi.inflateRaw=function(e,t){return(t=t||{}).raw=!0,Aa(e,t)},Bi.ungzip=Aa;var Ca={};(0,Gr.assign)(Ca,Hr,Bi,ga);var Oa=Ca;function Ra(e){return Na.apply(this,arguments)}function Na(){return Na=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,r=0,o=0,i=[],a=0;case 5:if(u=t.subarray(r),s=new Oa.Inflate,n=s.strm,s.push(u,Oa.Z_SYNC_FLUSH),!s.err){e.next=12;break}throw new Error(s.msg);case 12:r+=n.next_in,i[o]=s.result,a+=i[o].length,o+=1;case 16:if(n.avail_in){e.next=5;break}case 17:for(c=new Uint8Array(a),l=0,f=0;l<i.length;l++)c.set(i[l],f),f+=i[l].length;return e.abrupt("return",Xt.from(c));case 22:if(e.prev=22,e.t0=e.catch(0),!"".concat(e.t0).match(/incorrect header check/)){e.next=26;break}throw new Error("problem decompressing block: incorrect gzip header check");case 26:throw e.t0;case 27:case"end":return e.stop()}}),e,null,[[0,22]])}))),Na.apply(this,arguments)}var Ia=null;try{Ia=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(vu){}function Pa(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function Ta(e){return!0===(e&&e.__isLong__)}function Ma(e){var t=Math.clz32(e&-e);return e?31-t:t}Object.defineProperty(Pa.prototype,"__isLong__",{value:!0}),Pa.isLong=Ta;var ja={},Fa={};function La(e,t){var n,r,o;return t?(o=0<=(e>>>=0)&&e<256)&&(r=Fa[e])?r:(n=qa(e,0,!0),o&&(Fa[e]=n),n):(o=-128<=(e|=0)&&e<128)&&(r=ja[e])?r:(n=qa(e,e<0?-1:0,!1),o&&(ja[e]=n),n)}function Da(e,t){if(isNaN(e))return t?Ja:$a;if(t){if(e<0)return Ja;if(e>=Ha)return Qa}else{if(e<=-Wa)return es;if(e+1>=Wa)return Xa}return e<0?Da(-e,t).neg():qa(e%Ga|0,e/Ga|0,t)}function qa(e,t,n){return new Pa(e,t,n)}Pa.fromInt=La,Pa.fromNumber=Da,Pa.fromBits=qa;var Ba=Math.pow;function Ua(e,t,n){if(0===e.length)throw Error("empty string");if("number"==typeof t?(n=t,t=!1):t=!!t,"NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return t?Ja:$a;if((n=n||10)<2||36<n)throw RangeError("radix");var r;if((r=e.indexOf("-"))>0)throw Error("interior hyphen");if(0===r)return Ua(e.substring(1),t,n).neg();for(var o=Da(Ba(n,8)),i=$a,a=0;a<e.length;a+=8){var s=Math.min(8,e.length-a),u=parseInt(e.substring(a,a+s),n);if(s<8){var c=Da(Ba(n,s));i=i.mul(c).add(Da(u))}else i=(i=i.mul(o)).add(Da(u))}return i.unsigned=t,i}function za(e,t){return"number"==typeof e?Da(e,t):"string"==typeof e?Ua(e,t):qa(e.low,e.high,"boolean"==typeof t?t:e.unsigned)}Pa.fromString=Ua,Pa.fromValue=za;var Ga=4294967296,Ha=Ga*Ga,Wa=Ha/2,Va=La(16777216),$a=La(0);Pa.ZERO=$a;var Ja=La(0,!0);Pa.UZERO=Ja;var Ka=La(1);Pa.ONE=Ka;var Ya=La(1,!0);Pa.UONE=Ya;var Za=La(-1);Pa.NEG_ONE=Za;var Xa=qa(-1,2147483647,!1);Pa.MAX_VALUE=Xa;var Qa=qa(-1,-1,!0);Pa.MAX_UNSIGNED_VALUE=Qa;var es=qa(0,-2147483648,!1);Pa.MIN_VALUE=es;var ts=Pa.prototype;ts.toInt=function(){return this.unsigned?this.low>>>0:this.low},ts.toNumber=function(){return this.unsigned?(this.high>>>0)*Ga+(this.low>>>0):this.high*Ga+(this.low>>>0)},ts.toString=function(e){if((e=e||10)<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(es)){var t=Da(e),n=this.div(t),r=n.mul(t).sub(this);return n.toString(e)+r.toInt().toString(e)}return"-"+this.neg().toString(e)}for(var o=Da(Ba(e,6),this.unsigned),i=this,a="";;){var s=i.div(o),u=(i.sub(s.mul(o)).toInt()>>>0).toString(e);if((i=s).isZero())return u+a;for(;u.length<6;)u="0"+u;a=""+u+a}},ts.getHighBits=function(){return this.high},ts.getHighBitsUnsigned=function(){return this.high>>>0},ts.getLowBits=function(){return this.low},ts.getLowBitsUnsigned=function(){return this.low>>>0},ts.getNumBitsAbs=function(){if(this.isNegative())return this.eq(es)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&0==(e&1<<t);t--);return 0!=this.high?t+33:t+1},ts.isZero=function(){return 0===this.high&&0===this.low},ts.eqz=ts.isZero,ts.isNegative=function(){return!this.unsigned&&this.high<0},ts.isPositive=function(){return this.unsigned||this.high>=0},ts.isOdd=function(){return 1==(1&this.low)},ts.isEven=function(){return 0==(1&this.low)},ts.equals=function(e){return Ta(e)||(e=za(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low},ts.eq=ts.equals,ts.notEquals=function(e){return!this.eq(e)},ts.neq=ts.notEquals,ts.ne=ts.notEquals,ts.lessThan=function(e){return this.comp(e)<0},ts.lt=ts.lessThan,ts.lessThanOrEqual=function(e){return this.comp(e)<=0},ts.lte=ts.lessThanOrEqual,ts.le=ts.lessThanOrEqual,ts.greaterThan=function(e){return this.comp(e)>0},ts.gt=ts.greaterThan,ts.greaterThanOrEqual=function(e){return this.comp(e)>=0},ts.gte=ts.greaterThanOrEqual,ts.ge=ts.greaterThanOrEqual,ts.compare=function(e){if(Ta(e)||(e=za(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},ts.comp=ts.compare,ts.negate=function(){return!this.unsigned&&this.eq(es)?es:this.not().add(Ka)},ts.neg=ts.negate,ts.add=function(e){Ta(e)||(e=za(e));var t=0,n=0,r=0,o=0;return r+=(o+=(65535&this.low)+(65535&e.low))>>>16,n+=(r+=(this.low>>>16)+(e.low>>>16))>>>16,t+=(n+=(65535&this.high)+(65535&e.high))>>>16,t+=(this.high>>>16)+(e.high>>>16),qa((r&=65535)<<16|(o&=65535),(t&=65535)<<16|(n&=65535),this.unsigned)},ts.subtract=function(e){return Ta(e)||(e=za(e)),this.add(e.neg())},ts.sub=ts.subtract,ts.multiply=function(e){if(this.isZero())return this;if(Ta(e)||(e=za(e)),Ia)return qa(Ia.mul(this.low,this.high,e.low,e.high),Ia.get_high(),this.unsigned);if(e.isZero())return this.unsigned?Ja:$a;if(this.eq(es))return e.isOdd()?es:$a;if(e.eq(es))return this.isOdd()?es:$a;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(Va)&&e.lt(Va))return Da(this.toNumber()*e.toNumber(),this.unsigned);var t=65535&this.high,n=this.low>>>16,r=65535&this.low,o=65535&e.high,i=e.low>>>16,a=65535&e.low,s=0,u=0,c=0,l=0;return c+=(l+=r*a)>>>16,u+=(c+=n*a)>>>16,c&=65535,u+=(c+=r*i)>>>16,s+=(u+=t*a)>>>16,u&=65535,s+=(u+=n*i)>>>16,u&=65535,s+=(u+=r*o)>>>16,s+=(this.high>>>16)*a+t*i+n*o+r*(e.high>>>16),qa((c&=65535)<<16|(l&=65535),(s&=65535)<<16|(u&=65535),this.unsigned)},ts.mul=ts.multiply,ts.divide=function(e){if(Ta(e)||(e=za(e)),e.isZero())throw Error("division by zero");var t,n,r;if(Ia)return this.unsigned||-2147483648!==this.high||-1!==e.low||-1!==e.high?qa((this.unsigned?Ia.div_u:Ia.div_s)(this.low,this.high,e.low,e.high),Ia.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?Ja:$a;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Ja;if(e.gt(this.shru(1)))return Ya;r=Ja}else{if(this.eq(es))return e.eq(Ka)||e.eq(Za)?es:e.eq(es)?Ka:(t=this.shr(1).div(e).shl(1)).eq($a)?e.isNegative()?Ka:Za:(n=this.sub(e.mul(t)),r=t.add(n.div(e)));if(e.eq(es))return this.unsigned?Ja:$a;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();r=$a}for(n=this;n.gte(e);){t=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));for(var o=Math.ceil(Math.log(t)/Math.LN2),i=o<=48?1:Ba(2,o-48),a=Da(t),s=a.mul(e);s.isNegative()||s.gt(n);)s=(a=Da(t-=i,this.unsigned)).mul(e);a.isZero()&&(a=Ka),r=r.add(a),n=n.sub(s)}return r},ts.div=ts.divide,ts.modulo=function(e){return Ta(e)||(e=za(e)),Ia?qa((this.unsigned?Ia.rem_u:Ia.rem_s)(this.low,this.high,e.low,e.high),Ia.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},ts.mod=ts.modulo,ts.rem=ts.modulo,ts.not=function(){return qa(~this.low,~this.high,this.unsigned)},ts.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},ts.clz=ts.countLeadingZeros,ts.countTrailingZeros=function(){return this.low?Ma(this.low):Ma(this.high)+32},ts.ctz=ts.countTrailingZeros,ts.and=function(e){return Ta(e)||(e=za(e)),qa(this.low&e.low,this.high&e.high,this.unsigned)},ts.or=function(e){return Ta(e)||(e=za(e)),qa(this.low|e.low,this.high|e.high,this.unsigned)},ts.xor=function(e){return Ta(e)||(e=za(e)),qa(this.low^e.low,this.high^e.high,this.unsigned)},ts.shiftLeft=function(e){return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?qa(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):qa(0,this.low<<e-32,this.unsigned)},ts.shl=ts.shiftLeft,ts.shiftRight=function(e){return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?qa(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):qa(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},ts.shr=ts.shiftRight,ts.shiftRightUnsigned=function(e){return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?qa(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):qa(32===e?this.high:this.high>>>e-32,0,this.unsigned)},ts.shru=ts.shiftRightUnsigned,ts.shr_u=ts.shiftRightUnsigned,ts.rotateLeft=function(e){var t;return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?qa(this.high,this.low,this.unsigned):e<32?qa(this.low<<e|this.high>>>(t=32-e),this.high<<e|this.low>>>t,this.unsigned):qa(this.high<<(e-=32)|this.low>>>(t=32-e),this.low<<e|this.high>>>t,this.unsigned)},ts.rotl=ts.rotateLeft,ts.rotateRight=function(e){var t;return Ta(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?qa(this.high,this.low,this.unsigned):e<32?qa(this.high<<(t=32-e)|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned):qa(this.low<<(t=32-(e-=32))|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned)},ts.rotr=ts.rotateRight,ts.toSigned=function(){return this.unsigned?qa(this.low,this.high,!1):this},ts.toUnsigned=function(){return this.unsigned?this:qa(this.low,this.high,!0)},ts.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},ts.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24,255&e,e>>>8&255,e>>>16&255,e>>>24]},ts.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,255&e,t>>>24,t>>>16&255,t>>>8&255,255&t]},Pa.fromBytes=function(e,t,n){return n?Pa.fromBytesLE(e,t):Pa.fromBytesBE(e,t)},Pa.fromBytesLE=function(e,t){return new Pa(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},Pa.fromBytesBE=function(e,t){return new Pa(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)};var ns=function(){function e(t){var n=t.filehandle,r=t.path;if(ee(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Fr(r)}}var t,n,r;return ne(e,[{key:"_readLongWithOverflow",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=Pa.fromBytesLE(e.slice(t,t+8),n);if(r.greaterThan(Number.MAX_SAFE_INTEGER)||r.lessThan(Number.MIN_SAFE_INTEGER))throw new TypeError("integer overflow");return r.toNumber()}},{key:"_getIndex",value:function(){return this.index||(this.index=this._readIndex()),this.index}},{key:"_readIndex",value:(r=Q(Y().mark((function e(){var t,n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Xt.allocUnsafe(8),e.next=3,this.filehandle.read(t,0,8,0);case 3:if(n=this._readLongWithOverflow(t,0,!0)){e.next=6;break}return e.abrupt("return",[[0,0]]);case 6:if((r=new Array(n+1))[0]=[0,0],!((o=16*n)>Number.MAX_SAFE_INTEGER)){e.next=11;break}throw new TypeError("integer overflow");case 11:return t=Xt.allocUnsafe(o),e.next=14,this.filehandle.read(t,0,o,8);case 14:for(i=0;i<n;i+=1)a=this._readLongWithOverflow(t,16*i),s=this._readLongWithOverflow(t,16*i+8),r[i+1]=[a,s];return e.abrupt("return",r);case 16:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"getLastBlock",value:(n=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndex();case 2:if((t=e.sent).length){e.next=5;break}return e.abrupt("return",void 0);case 5:return e.abrupt("return",t[t.length-1]);case 6:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"getRelevantBlocksForRead",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n+t,0!==t){e.next=3;break}return e.abrupt("return",[]);case 3:return e.next=5,this._getIndex();case 5:for(i=[],a=function(e,t){var r=e[1];return r<=n&&(t?t[1]:Infinity)>n?0:r<n?-1:1},s=0,u=(o=e.sent).length-1,c=Math.floor(o.length/2),l=a(o[c],o[c+1]);0!==l;)l>0?u=c-1:l<0&&(s=c+1),c=Math.ceil((u-s)/2)+s,l=a(o[c],o[c+1]);i.push(o[c]),f=c+1;case 15:if(!(f<o.length)){e.next=22;break}if(i.push(o[f]),!(o[f][1]>=r)){e.next=19;break}return e.abrupt("break",22);case 19:f+=1,e.next=15;break;case 22:return i[i.length-1][1]<r&&i.push([]),e.abrupt("return",i);case 24:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),e}(),rs=function(){function e(t){var n=t.filehandle,r=t.path,o=t.gziFilehandle,i=t.gziPath;if(ee(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Fr(r)}if(!o&&!i&&!r)throw new TypeError("either gziFilehandle or gziPath must be defined");this.gzi=new ns({filehandle:o,path:o||i||!r?"".concat(r,".gzi"):i})}var t,n,r,o;return ne(e,[{key:"stat",value:(o=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.filehandle.stat();case 2:return t=e.sent,e.t0=Object,e.t1=t,e.next=7,this.getUncompressedFileSize();case 7:return e.t2=e.sent,e.t3=void 0,e.t4=void 0,e.t5={size:e.t2,blocks:e.t3,blksize:e.t4},e.abrupt("return",e.t0.assign.call(e.t0,e.t1,e.t5));case 12:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"getUncompressedFileSize",value:(r=Q(Y().mark((function e(){var t,n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getLastBlock();case 2:return t=he(e.sent,2),n=t[1],e.next=7,this.filehandle.stat();case 7:return r=e.sent.size,o=Xt.allocUnsafe(4),e.next=12,this.filehandle.read(o,0,4,r-28-4);case 12:if(4===e.sent.bytesRead){e.next=16;break}throw new Error("read error");case 16:return i=o.readUInt32LE(0),e.abrupt("return",n+i);case 18:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_readAndUncompressBlock",value:(n=Q(Y().mark((function e(t,n,r){var o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=he(n,1)[0],i=he(r,1)[0]){e.next=7;break}return e.next=6,this.filehandle.stat();case 6:i=e.sent.size;case 7:return a=i-o,e.next=10,this.filehandle.read(t,0,a,o);case 10:return e.next=12,Ra(t.slice(0,a));case 12:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"read",value:(t=Q(Y().mark((function e(t,n,r,o){var i,a,s,u,c,l,f,d,h,p;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getRelevantBlocksForRead(r,o);case 2:i=e.sent,a=Xt.allocUnsafe(65536),s=n,u=0,c=0;case 7:if(!(c<i.length-1)){e.next=18;break}return e.next=10,this._readAndUncompressBlock(a,i[c],i[c+1]);case 10:l=e.sent,f=he(i[c],2),h=(d=f[1])>=o?0:o-d,p=Math.min(o+r,d+l.length)-d,h>=0&&h<l.length&&(l.copy(t,s,h,p),s+=p-h,u+=p-h);case 15:c+=1,e.next=7;break;case 18:return e.abrupt("return",{bytesRead:u,buffer:t});case 19:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}();function os(e,t){return e.offset+e.lineBytes*Math.floor(t/e.lineLength)+t%e.lineLength}function is(e,t){return as.apply(this,arguments)}function as(){return(as=Q(Y().mark((function e(t,n){var r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.readFile(n);case 2:if((r=e.sent)&&r.length){e.next=5;break}throw new Error("No data read from FASTA index (FAI) file");case 5:return o=0,a=r.toString("utf8").split(/\r?\n/).filter((function(e){return/\S/.test(e)})).map((function(e){return e.split("\t")})).filter((function(e){return""!==e[0]})).map((function(e){return i&&i.name===e[0]||(i={name:e[0],id:o},o+=1),{id:i.id,name:e[0],length:+e[1],start:0,end:+e[1],offset:+e[2],lineLength:+e[3],lineBytes:+e[4]}})),e.abrupt("return",{name:Object.fromEntries(a.map((function(e){return[e.name,e]}))),id:Object.fromEntries(a.map((function(e){return[e.id,e]})))});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ss=function(){function e(t){var n=t.fasta,r=t.fai,o=t.path,i=t.faiPath;if(ee(this,e),n)this.fasta=n;else{if(!o)throw new Error("Need to pass filehandle for fasta or path to localfile");this.fasta=new Fr(o)}if(r)this.fai=r;else if(i)this.fai=new Fr(i);else{if(!o)throw new Error("Need to pass filehandle for or path to localfile");this.fai=new Fr("".concat(o,".fai"))}}var t,n,r,o,i,a,s,u,c;return ne(e,[{key:"_getIndexes",value:(c=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.indexes||(this.indexes=is(this.fai,t)),e.abrupt("return",this.indexes);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"getSequenceNames",value:(u=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Object,e.next=3,this._getIndexes(t);case 3:return e.t1=e.sent.name,e.abrupt("return",e.t0.keys.call(e.t0,e.t1));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"getSequenceSizes",value:(s=Q(Y().mark((function e(t){var n,r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={},e.next=3,this._getIndexes(t);case 3:for(r=Object.values(e.sent.id),o=0;o<r.length;o+=1)n[r[o].name]=r[o].length;return e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"getSequenceSize",value:(a=Q(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(n);case 2:return e.abrupt("return",null===(r=e.sent.name[t])||void 0===r?void 0:r.length);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return a.apply(this,arguments)})},{key:"hasReferenceSequence",value:(i=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(n);case 2:return e.t0=t,e.abrupt("return",!!e.sent.name[e.t0]);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"getResiduesById",value:(o=Q(Y().mark((function e(t,n,r,o){var i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,i=e.sent.id[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(i,n,r,o));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return o.apply(this,arguments)})},{key:"getResiduesByName",value:(r=Q(Y().mark((function e(t,n,r,o){var i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,i=e.sent.name[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(i,n,r,o));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,o){return r.apply(this,arguments)})},{key:"getSequence",value:(n=Q(Y().mark((function e(t,n,r,o){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getResiduesByName(t,n,r,o));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r,o){return n.apply(this,arguments)})},{key:"_fetchFromIndexEntry",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=u.length>3?u[3]:void 0,o=u.length>2?u[2]:void 0,!((n=u.length>1&&void 0!==u[1]?u[1]:0)<0)){e.next=6;break}throw new TypeError("regionStart cannot be less than 0");case 6:if((void 0===o||o>t.length)&&(o=t.length),!(n>=o)){e.next=9;break}return e.abrupt("return","");case 9:return i=os(t,n),a=os(t,o)-i,s=Xt.allocUnsafe(a),e.next=14,this.fasta.read(s,0,a,i,r);case 14:return e.abrupt("return",s.toString("utf8").replace(/\s+/g,""));case 15:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),us=function(e){oe(n,e);var t=fe(n);function n(e){var r,o=e.fasta,i=e.path,a=e.fai,s=e.faiPath,u=e.gzi,c=e.gziPath;return ee(this,n),r=t.call(this,{fasta:o,path:i,fai:a,faiPath:s}),o&&u?r.fasta=new rs({filehandle:o,gziFilehandle:u}):i&&c&&(r.fasta=new rs({path:i,gziPath:c})),r}return ne(n)}(ss);function cs(e){return e.split(">").filter((function(e){return/\S/.test(e)})).map((function(e){var t=pe(e.split("\n")),n=t[0],r=t.slice(1),o=pe(n.split(" ")),i=o[0],a=o.slice(1),s=r.join("").replace(/\s/g,"");return{id:i,description:a.join(" "),sequence:s}}))}var ls=function(){function e(t){var n=t.fasta,r=t.path;if(ee(this,e),n)this.fasta=n;else{if(!r)throw new Error("Need to pass fasta or path");this.fasta=new Fr(r)}this.data=this.fasta.readFile().then((function(e){return cs(e.toString("utf8"))}))}var t,n;return ne(e,[{key:"fetch",value:(n=Q(Y().mark((function e(t,n,r){var o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.data;case 2:if(o=e.sent.find((function(e){return e.id===t})),i=r-n,o){e.next=7;break}throw new Error("no sequence with id ".concat(t," exists"));case 7:return e.abrupt("return",o.sequence.substr(n,i));case 8:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getSequenceNames",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.data;case 2:return e.abrupt("return",e.sent.map((function(e){return e.id})));case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),fs=B({__proto__:null,parseSmallFasta:cs,FetchableSmallFasta:ls,IndexedFasta:ss,BgzipIndexedFasta:us}),ds=B(zr);Object.defineProperty(jr,"__esModule",{value:!0}),jr.AddAssemblyFromExternalChange=void 0;var hs=fs,ps=ds,ms=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddAssemblyFromExternalChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,externalLocation:r.externalLocation}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.refSeqModel,i=t.user,a=this.assembly,s=this.changes,u=this.logger,l=(c=qt.env.CHUNK_SIZE)&&Number(c),f=we(s),e.prev=5,f.s();case 7:if((d=f.n()).done){e.next=45;break}return m=(p=d.value).assemblyName,y=(g=p.externalLocation).fa,v=g.fai,b=(_=g.gzi)?new hs.BgzipIndexedFasta({fasta:new ps.RemoteFile(y,{fetch:fetch}),fai:new ps.RemoteFile(v,{fetch:fetch}),gzi:new ps.RemoteFile(_,{fetch:fetch})}):new hs.IndexedFasta({fasta:new ps.RemoteFile(y,{fetch:fetch}),fai:new ps.RemoteFile(v,{fetch:fetch})}),e.next=14,b.getSequenceSizes();case 14:if(w=e.sent){e.next=17;break}throw new Error("No data read from indexed fasta getSequenceSizes");case 17:return e.next=19,n.findOne({name:m}).exec();case 19:if(!e.sent){e.next=22;break}throw new Error('Assembly "'.concat(m,'" already exists'));case 22:return e.next=24,r.find({default:!0}).exec();case 24:return S=e.sent.map((function(e){return e._id.toHexString()})),e.next=28,n.create([{_id:a,name:m,user:i,status:-1,externalLocation:g,checks:S}]);case 28:x=he(e.sent,1),k=x[0],null===(h=u.debug)||void 0===h||h.call(u,'Added new assembly "'.concat(m,'", docId "').concat(k._id,'"')),e.t0=Y().keys(w);case 33:if((e.t1=e.t0()).done){e.next=43;break}return E=e.t1.value,e.next=37,o.create([K(K({name:E,assembly:k._id,length:w[E]},l?{chunkSize:l}:null),{},{user:i,status:-1})]);case 37:C=he(e.sent,1),O=C[0],null===(A=u.debug)||void 0===A||A.call(u,'Added new refSeq "'.concat(E,'", docId "').concat(O._id,'"')),e.next=33;break;case 43:e.next=7;break;case 45:e.next=50;break;case 47:e.prev=47,e.t2=e.catch(5),f.e(e.t2);case 50:return e.prev=50,f.f(),e.finish(50);case 53:case"end":return e.stop()}}),e,this,[[5,47,50,53]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ar.AssemblySpecificChange);jr.AddAssemblyFromExternalChange=ms;var gs={};Object.defineProperty(gs,"__esModule",{value:!0}),gs.AddAssemblyFromFileChange=void 0;var ys=fs,vs=function(e){oe(s,e);var t,n,r,o,i,a=fe(s);function s(e,t){var n;return ee(this,s),re(le(n=a.call(this,e,t)),"typeName","AddAssemblyFromFileChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(s,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(i=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=we(this.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=11;break}return i=(o=r.value).assemblyName,a=o.fileIds,e.next=9,"gzi"in a?this.executeOnServerIndexed(t,i,a):this.executeOnServerFasta(t,i,a.fa);case 9:e.next=4;break;case 11:e.next=16;break;case 13:e.prev=13,e.t0=e.catch(2),n.e(e.t0);case 16:return e.prev=16,n.f(),e.finish(16);case 19:case"end":return e.stop()}}),e,this,[[2,13,16,19]])}))),function(e){return i.apply(this,arguments)})},{key:"executeOnServerIndexed",value:(o=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(a=qt.env.CHUNK_SIZE)&&Number(a),qt.env.FILE_UPLOAD_FOLDER){e.next=5;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 5:return u=r.fa,c=r.fai,l=r.gzi,f=t.assemblyModel,d=t.checkModel,h=t.fileModel,p=t.filesService,m=t.refSeqModel,g=t.user,e.next=9,h.findById(u);case 9:if(null==(y=e.sent)?void 0:y.checksum){e.next=13;break}throw new Error("No checksum for file document ".concat(y));case 13:return e.next=15,h.findById(c);case 15:if(null==(v=e.sent)?void 0:v.checksum){e.next=19;break}throw new Error("No checksum for file document ".concat(v));case 19:return e.next=21,h.findById(l);case 21:if(null==(_=e.sent)?void 0:_.checksum){e.next=25;break}throw new Error("No checksum for file document ".concat(_));case 25:return b=p.getFileHandle(y),w=p.getFileHandle(v),S=p.getFileHandle(_),x=new ys.BgzipIndexedFasta({fasta:b,fai:w,gzi:S}),e.next=31,x.getSequenceSizes();case 31:return k=e.sent,e.next=34,Promise.all([b.close(),w.close(),S.close()]);case 34:return e.next=36,f.findOne({name:n}).exec();case 36:if(!e.sent){e.next=39;break}throw new Error('Assembly "'.concat(n,'" already exists'));case 39:return e.next=41,d.find({default:!0}).exec();case 41:return E=e.sent.map((function(e){return e._id.toHexString()})),e.next=45,f.create([{_id:this.assembly,name:n,user:g,status:-1,fileIds:r,checks:E}]);case 45:A=he(e.sent,1),C=A[0],null===(o=(i=this.logger).debug)||void 0===o||o.call(i,'Added new assembly "'.concat(n,'", docId "').concat(C._id,'"')),e.t0=Y().keys(k);case 50:if((e.t1=e.t0()).done){e.next=60;break}return O=e.t1.value,e.next=54,m.create([K(K({name:O,assembly:C._id,length:k[O]},s?{chunkSize:s}:null),{},{user:g,status:-1})]);case 54:I=he(e.sent,1),P=I[0],null===(R=(N=this.logger).debug)||void 0===R||R.call(N,'Added new refSeq "'.concat(O,'", docId "').concat(P._id,'"')),e.next=50;break;case 60:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return o.apply(this,arguments)})},{key:"executeOnServerFasta",value:(r=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l=t.assemblyModel,f=t.checkModel,d=t.fileModel,h=t.user,e.next=3,d.findById(r).exec();case 3:if(p=e.sent){e.next=6;break}throw new Error('File "'.concat(r,'" not found in Mongo'));case 6:return null===(o=(i=this.logger).debug)||void 0===o||o.call(i,'FileId "'.concat(r,'", checksum "').concat(p.checksum,'"')),e.next=9,l.findOne({name:n}).exec();case 9:if(!e.sent){e.next=12;break}throw new Error('Assembly "'.concat(n,'" already exists'));case 12:return e.next=14,f.find({default:!0}).exec();case 14:return m=e.sent.map((function(e){return e._id.toHexString()})),e.next=18,l.create([{_id:this.assembly,name:n,user:h,status:-1,fileIds:{fa:r},checks:m}]);case 18:return g=he(e.sent,1),y=g[0],null===(a=(s=this.logger).debug)||void 0===a||a.call(s,'Added new assembly "'.concat(n,'", docId "').concat(y._id,'"')),null===(u=(c=this.logger).debug)||void 0===u||u.call(c,'File type: "'.concat(p.type,'", assemblyId: "').concat(y._id,'"')),e.next=25,this.addRefSeqIntoDb(p,y._id.toString(),t);case 25:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new s({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),s}(ir.FromFileBaseChange);gs.AddAssemblyFromFileChange=vs;var _s={},bs={};Object.defineProperty(bs,"__esModule",{value:!0}),bs.DeleteFeatureChange=void 0,bs.isDeleteFeatureChange=function(e){return"DeleteFeatureChange"===e.typeName};var ws=_s,Ss=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","DeleteFeatureChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,deletedFeature:o.deletedFeature,parentFeatureId:o.parentFeatureId}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u=this;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,o=this.logger,i=we(this.changes),e.prev=3,s=Y().mark((function e(){var t,i,s,c,l,f,d,h,p;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=(i=a.value).deletedFeature,c=i.parentFeatureId,e.next=4,n.findOne({allIds:s._id}).session(r).exec();case 4:if(l=e.sent){e.next=9;break}throw f="*** ERROR: The following featureId was not found in database ='".concat(s._id,"'"),o.error(f),new Error(f);case 9:if(!l._id.equals(s._id)){e.next=16;break}if(!c){e.next=12;break}throw new Error('Feature "'.concat(s._id,'" is top-level, but received a parent feature ID'));case 12:return e.next=14,n.findByIdAndDelete(l._id);case 14:return null===(d=o.debug)||void 0===d||d.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(l._id,'". Whole document deleted.')),e.abrupt("return",1);case 16:return(h=u.findAndDeleteChildFeature(l,s._id)).push(s._id),l.allIds=l.allIds.filter((function(e){return!h.includes(e)})),l.markModified("children"),e.prev=20,e.next=23,l.save();case 23:e.next=29;break;case 25:throw e.prev=25,e.t0=e.catch(20),null===(p=o.debug)||void 0===p||p.call(o,"*** FAILED: ".concat(e.t0)),e.t0;case 29:null===(t=o.debug)||void 0===t||t.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(l._id,'"'));case 30:case"end":return e.stop()}}),e,null,[[20,25]])})),i.s();case 6:if((a=i.n()).done){e.next=12;break}return e.delegateYield(s(),"t0",8);case 8:if(!e.t0){e.next=10;break}return e.abrupt("continue",10);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t1=e.catch(3),i.e(e.t1);case 17:return e.prev=17,i.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,this,[[3,14,17,20]])}))),function(e){return r.apply(this,arguments)})},{key:"findAndDeleteChildFeature",value:function(e,t){if(!e.children)throw new Error("Feature ".concat(e._id," has no children"));var n=e._id,r=e.children,o=r.get(t);if(o){var i=this.getChildFeatureIds(o);return r.delete(t),i}var a,s=we(r);try{for(s.s();!(a=s.n()).done;){var u=he(a.value,2)[1];try{return this.findAndDeleteChildFeature(u,t)}catch(e){}}}catch(e){s.e(e)}finally{s.f()}throw new Error('Feature "'.concat(t,'" not found in ').concat(n))}},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changes),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=18;break}if(i=(o=r.value).deletedFeature,!(a=o.parentFeatureId)){e.next=15;break}if(s=t.getFeature(a)){e.next=12;break}throw new Error('Could not find parent feature "'.concat(a,'"'));case 12:s.deleteChild(i._id),e.next=16;break;case 15:t.getFeature(i._id)&&t.deleteFeature(i._id);case 16:e.next=5;break;case 18:e.next=23;break;case 20:e.prev=20,e.t0=e.catch(3),n.e(e.t0);case 23:return e.prev=23,n.f(),e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[3,20,23,26]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e,t=this.assembly,n=this.changes,r=this.logger,o=me(this.changedIds).reverse(),i=me(n).reverse().map((function(e){return{addedFeature:e.deletedFeature,parentFeatureId:e.parentFeatureId}}));return null===(e=r.debug)||void 0===e||e.call(r,"INVERSE CHANGE '".concat(JSON.stringify(i),"'")),new ws.AddFeatureChange({changedIds:o,typeName:"AddFeatureChange",changes:i,assembly:t},{logger:r})}}]),i}(ar.FeatureChange);bs.DeleteFeatureChange=Ss,Object.defineProperty(_s,"__esModule",{value:!0}),_s.AddFeatureChange=void 0,_s.isAddFeatureChange=function(e){return"AddFeatureChange"===e.typeName};var xs=bs,ks=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddFeatureChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,addedFeature:o.addedFeature,parentFeatureId:o.parentFeatureId,copyFeature:o.copyFeature,allIds:o.allIds}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P,T,M,j,F,L;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.assemblyModel,i=t.featureModel,a=t.refSeqModel,s=t.session,u=t.user,c=this.assembly,l=this.changes,f=this.logger,e.next=4,o.findById(c).session(s).exec();case 4:if(e.sent){e.next=9;break}throw d='*** ERROR: Assembly with id "'.concat(c,'" not found'),f.error(d),new Error(d);case 9:h=0,null===(n=f.debug)||void 0===n||n.call(f,"changes: ".concat(JSON.stringify(l))),p=we(l),e.prev=12,p.s();case 14:if((m=p.n()).done){e.next=64;break}return y=m.value,null===(g=f.debug)||void 0===g||g.call(f,"change: ".concat(JSON.stringify(y))),_=y.allIds,b=y.copyFeature,w=y.parentFeatureId,S=(v=y.addedFeature)._id,x=v.refSeq,e.next=21,a.findById(x).session(s).exec();case 21:if(e.sent){e.next=24;break}throw new Error('RefSeq was not found by assembly "'.concat(c,'" and seq_id "').concat(x,'" not found'));case 24:if(!b){e.next=34;break}return e.next=27,i.create([K(K({},v),{},{allIds:_,status:-1,user:u})],{session:s});case 27:E=he(e.sent,1),A=E[0],null===(k=f.debug)||void 0===k||k.call(f,'Copied feature, docId "'.concat(A._id,'" to assembly "').concat(c,'"')),h++,e.next=61;break;case 34:if(!w){e.next=53;break}return e.next=37,i.findOne({allIds:w}).session(s).exec();case 37:if(R=e.sent){e.next=40;break}throw new Error('Could not find feature with ID "'.concat(w,'"'));case 40:if(N=this.getFeatureFromId(R,w)){e.next=43;break}throw new Error('Could not find feature with ID "'.concat(w,'" in feature "').concat(R._id,'"'));case 43:return N.children||(N.children=new Map),null!==(C=N.attributes)&&void 0!==C&&C._id||((I=N.attributes)||(I={}),I=K({_id:[N._id.toString()]},JSON.parse(JSON.stringify(I))),N.attributes=I),N.children.set(S,K(K({allIds:[]},v),{},{_id:S})),N.children=new Map(me(N.children.entries()).sort((function(e,t){return e[1].min-t[1].min}))),P=this.getChildFeatureIds(v),(O=R.allIds).push.apply(O,[S].concat(me(P))),e.next=51,R.save();case 51:e.next=61;break;case 53:return M=this.getChildFeatureIds(v),j=[S].concat(me(M)),e.next=57,i.create([K({allIds:j,status:0},v)],{session:s});case 57:F=he(e.sent,1),L=F[0],null===(T=f.verbose)||void 0===T||T.call(f,'Added docId "'.concat(L._id,'"'));case 61:h++;case 62:e.next=14;break;case 64:e.next=69;break;case 66:e.prev=66,e.t0=e.catch(12),p.e(e.t0);case 69:return e.prev=69,p.f(),e.finish(69);case 72:null===(r=f.debug)||void 0===r||r.call(f,"Added ".concat(h," new feature(s) into database."));case 73:case"end":return e.stop()}}),e,this,[[12,66,69,72]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=this.assembly,r=we(this.changes),e.prev=4,r.s();case 6:if((o=r.n()).done){e.next=20;break}if(a=(i=o.value).addedFeature,!(s=i.parentFeatureId)){e.next=17;break}if(u=t.getFeature(s)){e.next=13;break}throw new Error('Could not find parent feature "'.concat(s,'"'));case 13:u.attributes.get("_id")||u.setAttribute("_id",[u._id]),u.addChild(a),e.next=18;break;case 17:t.addFeature(n,a);case 18:e.next=6;break;case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(4),r.e(e.t0);case 25:return e.prev=25,r.f(),e.finish(25);case 28:case"end":return e.stop()}}),e,this,[[4,22,25,28]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=me(this.changedIds).reverse(),o=me(t).reverse().map((function(e){return{deletedFeature:e.addedFeature,parentFeatureId:e.parentFeatureId}}));return new xs.DeleteFeatureChange({changedIds:r,typeName:"DeleteFeatureChange",changes:o,assembly:e},{logger:n})}}]),i}(ar.FeatureChange);_s.AddFeatureChange=ks;var Es={};Object.defineProperty(Es,"__esModule",{value:!0}),Es.AddFeaturesFromFileChange=void 0;var As=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n,r;return ee(this,i),re(le(r=o.call(this,e,t)),"typeName","AddFeaturesFromFileChange"),re(le(r),"changes",void 0),re(le(r),"deleteExistingFeatures",!1),r.deleteExistingFeatures=null!==(n=e.deleteExistingFeatures)&&void 0!==n&&n,r.changes="changes"in e?e.changes:[e],r}return ne(i,[{key:"notification",get:function(){return"Features have been added. To see them, please refresh the page."}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.deleteExistingFeatures,r=this.typeName;return 1===t.length?{typeName:r,assembly:e,fileId:he(t,1)[0].fileId,deleteExistingFeatures:n}:{typeName:r,assembly:e,changes:t,deleteExistingFeatures:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.fileModel,o=t.filesService,i=this.changes,a=this.logger,!this.deleteExistingFeatures){e.next=5;break}return e.next=5,this.removeExistingFeatures(t);case 5:s=we(i),e.prev=6,s.s();case 8:if((u=s.n()).done){e.next=56;break}if(l=u.value.fileId,qt.env.FILE_UPLOAD_FOLDER){e.next=14;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 14:return e.next=16,r.findById(l).exec();case 16:if(f=e.sent){e.next=19;break}throw new Error('File "'.concat(l,'" not found in Mongo'));case 19:null===(c=a.debug)||void 0===c||c.call(a,'FileId "'.concat(l,'", checksum "').concat(f.checksum,'"')),d=o.parseGFF3(o.getFileStream(f)),h=0,p=!1,m=!1,e.prev=24,y=W(d);case 26:return e.next=28,y.next();case 28:if(!(p=!(v=e.sent).done)){e.next=38;break}return _=v.value,e.next=33,this.addFeatureIntoDb(_,t);case 33:++h%1e3==0&&(null===(b=a.debug)||void 0===b||b.call(a,"Processed ".concat(h," features")));case 35:p=!1,e.next=26;break;case 38:e.next=44;break;case 40:e.prev=40,e.t0=e.catch(24),m=!0,g=e.t0;case 44:if(e.prev=44,e.prev=45,!p||null==y.return){e.next=49;break}return e.next=49,y.return();case 49:if(e.prev=49,!m){e.next=52;break}throw g;case 52:return e.finish(49);case 53:return e.finish(44);case 54:e.next=8;break;case 56:e.next=61;break;case 58:e.prev=58,e.t1=e.catch(6),s.e(e.t1);case 61:return e.prev=61,s.f(),e.finish(61);case 64:null===(n=a.debug)||void 0===n||n.call(a,"New features added into database!");case 65:case"end":return e.stop()}}),e,this,[[6,58,61,64],[24,40,44,54],[45,,49,53]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ir.FromFileBaseChange);Es.AddFeaturesFromFileChange=As;var Cs={};Object.defineProperty(Cs,"__esModule",{value:!0}),Cs.AddRefSeqAliasesChange=void 0;var Os=O.default,Rs=function(e){oe(r,e);var t,n=fe(r);function r(e,t){var o;return ee(this,r),re(le(o=n.call(this,e,t)),"typeName","AddRefSeqAliasesChange"),re(le(o),"refSeqAliases",void 0),o.refSeqAliases=e.refSeqAliases,o}return ne(r,[{key:"executeOnClient",value:function(e){var t=(0,Os.getSession)(e).assemblyManager.get(this.assembly);if(!t)throw new Error("assembly ".concat(this.assembly," not found"));var n=t.refNameAliases,r=t.lowerCaseRefNameAliases;if(!n||!r)throw new Error("Session refNameAliases not found in assembly");var o,i=we(this.refSeqAliases);try{for(i.s();!(o=i.n()).done;){var a,s=o.value,u=s.refName,c=we(s.aliases);try{for(c.s();!(a=c.n()).done;){var l=a.value;n[l]=u,r[l.toLowerCase()]=u}}catch(e){c.e(e)}finally{c.f()}}}catch(e){i.e(e)}finally{i.f()}return t.setRefNameAliases(n,r),Promise.resolve()}},{key:"getInverse",value:function(){throw new Error("Method not implemented.")}},{key:"toJSON",value:function(){return{assembly:this.assembly,typeName:this.typeName,refSeqAliases:this.refSeqAliases}}},{key:"executeOnServer",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.refSeqModel,r=t.session,o=this.assembly,i=this.logger,a=we(this.refSeqAliases),e.prev=3,a.s();case 5:if((s=a.n()).done){e.next=13;break}return c=s.value,null===(u=i.debug)||void 0===u||u.call(i,"Updating Refname alias for assembly: ".concat(o,", refSeqAlias: ").concat(JSON.stringify(c))),l=c.aliases,f=c.refName,e.next=11,n.updateOne({assembly:o,name:f},{$set:{aliases:l}}).session(r);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),a.e(e.t0);case 18:return e.prev=18,a.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:function(e){throw new Error("Method not implemented.")}},{key:"notification",get:function(){return"RefSeq aliases have been added."}}]),r}(ar.AssemblySpecificChange);Cs.AddRefSeqAliasesChange=Rs;var Ns={};Object.defineProperty(Ns,"__esModule",{value:!0}),Ns.DeleteAssemblyChange=void 0;var Is=O.default,Ps=function(e){oe(i,e);var t,n,r,o=fe(i);function i(){var e;ee(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return re(le(e=o.call.apply(o,[this].concat(n))),"typeName","DeleteAssemblyChange"),e}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.assembly,'" deleted successfully.')}},{key:"toJSON",value:function(){return{typeName:this.typeName,assembly:this.assembly}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.assemblyModel,o=t.featureModel,i=t.refSeqChunkModel,a=t.refSeqModel,s=t.session,u=this.assembly,c=this.logger,e.next=4,r.findById(u).session(s).exec();case 4:if(e.sent){e.next=9;break}throw l='*** ERROR: Assembly with id "'.concat(u,'" not found'),c.error(l),new Error(l);case 9:return e.next=11,a.find({assembly:u}).exec();case 11:return f=e.sent.map((function(e){return e._id})),e.next=15,i.deleteMany({refSeq:f}).exec();case 15:return e.next=17,o.deleteMany({refSeq:f}).exec();case 17:return e.next=19,a.deleteMany({assembly:u}).exec();case 19:return e.next=21,r.findByIdAndDelete(u).exec();case 21:null===(n=c.debug)||void 0===n||n.call(c,'Assembly "'.concat(u,'" deleted from database.'));case 22:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=this.assembly,t){e.next=3;break}throw new Error("No data store");case 3:return i=(0,Is.getSession)(t),t.assemblies.has(o)&&t.deleteAssembly(o),e.next=7,null===(n=i.removeAssembly)||void 0===n?void 0:n.call(i,o);case 7:return e.next=9,null===(r=i.removeSessionAssembly)||void 0===r?void 0:r.call(i,o);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:"DeleteAssemblyChange",assembly:this.assembly},{logger:this.logger})}}]),i}(ar.AssemblySpecificChange);Ns.DeleteAssemblyChange=Ps;var Ts={};Object.defineProperty(Ts,"__esModule",{value:!0}),Ts.DeleteUserChange=void 0;var Ms=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","DeleteUserChange"),re(le(n),"changes",void 0),re(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ne(i,[{key:"toJSON",value:function(){return{typeName:this.typeName,userId:this.userId}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.session,r=t.userModel,o=this.logger,i=this.userId,e.next=4,r.findOneAndDelete({_id:i}).session(n).exec();case 4:if(e.sent){e.next=9;break}throw a='*** ERROR: User with id "'.concat(i,'" not found'),o.error(a),new Error(a);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,userId:this.userId},{logger:this.logger})}}]),i}(ar.Change);Ts.DeleteUserChange=Ms;var js={};Object.defineProperty(js,"__esModule",{value:!0}),js.FeatureAttributeChange=void 0,js.isFeatureAttributeChange=function(e){return"FeatureAttributeChange"===e.typeName};var Fs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","FeatureAttributeChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,attributes:o.attributes}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=26;break}return f=u.value.featureId,e.next=11,n.findOne({allIds:f}).session(r).exec();case 11:if(d=e.sent){e.next=16;break}throw h="*** ERROR: The following featureId was not found in database ='".concat(f,"'"),i.error(h),new Error(h);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(d))),p=this.getFeatureFromId(d,f)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(p))),a.push({feature:p,topLevelFeature:d});case 24:e.next=6;break;case 26:e.next=31;break;case 28:e.prev=28,e.t0=e.catch(4),s.e(e.t0);case 31:return e.prev=31,s.f(),e.finish(31);case 34:m=we(o.entries()),e.prev=35,m.s();case 37:if((g=m.n()).done){e.next=55;break}return v=he(g.value,2),w=(_=a[v[0]]).topLevelFeature,(b=_.feature).attributes=v[1].attributes,w._id.equals(b._id)?w.markModified("attributes"):w.markModified("children"),e.prev=43,e.next=46,w.save();case 46:e.next=52;break;case 48:throw e.prev=48,e.t1=e.catch(43),null===(S=i.debug)||void 0===S||S.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 52:null===(y=i.debug)||void 0===y||y.call(i,"*** Feature attributes modified (added, edited or deleted), docId: ".concat(JSON.stringify(w)));case 53:e.next=37;break;case 55:e.next=60;break;case 57:e.prev=57,e.t2=e.catch(35),m.e(e.t2);case 60:return e.prev=60,m.f(),e.finish(60);case 63:case"end":return e.stop()}}),e,this,[[4,28,31,34],[35,57,60,63],[43,48]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("applyToLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setAttributes(new Map(Object.entries(this.changes[i].attributes)));case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger;return new i({changedIds:me(this.changedIds).reverse(),typeName:"FeatureAttributeChange",changes:me(t).reverse().map((function(e){return{featureId:e.featureId,attributes:e.attributes}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);js.FeatureAttributeChange=Fs;var Ls={},Ds=["__v","_id","assemblies","internetAccounts","plugins","tracks"];function qs(e){var t=e.assemblies,n=e.internetAccounts,r=e.plugins,o=e.tracks,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,Ds),a=null==t?void 0:t.filter((function(e){return"ApolloSequenceAdapter"!==e.sequence.adapter.type})),s=null==o?void 0:o.filter((function(e){return"ApolloTrack"!==e.type})),u=null==r?void 0:r.filter((function(e){return"Apollo"!==e.name})),c=null==n?void 0:n.filter((function(e){return"ApolloInternetAccount"!==e.type})),l=i;return a&&(l.assemblies=a),s&&(l.tracks=s),u&&(l.plugins=u),c&&(l.internetAccounts=c),l}Object.defineProperty(Ls,"__esModule",{value:!0}),Ls.ImportJBrowseConfigChange=void 0,Ls.filterJBrowseConfig=qs;var Bs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","ImportJBrowseConfigChange"),re(le(n),"oldJBrowseConfig",void 0),re(le(n),"newJBrowseConfig",void 0),n.oldJBrowseConfig=e.oldJBrowseConfig,n.newJBrowseConfig=e.newJBrowseConfig,n}return ne(i,[{key:"toJSON",value:function(){return{typeName:this.typeName,oldJBrowseConfig:this.oldJBrowseConfig,newJBrowseConfig:this.newJBrowseConfig}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.jbrowseConfigModel,o=this.logger,i=this.newJBrowseConfig,e.next=4,r.deleteMany();case 4:if(i){e.next=6;break}return e.abrupt("return");case 6:return a=qs(i),e.next=9,r.create(a);case 9:null===(n=o.debug)||void 0===n||n.call(o,"Stored new JBrowse Config");case 10:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:this.newJBrowseConfig,newJBrowseConfig:this.oldJBrowseConfig},{logger:this.logger})}}]),i}(ar.Change);Ls.ImportJBrowseConfigChange=Bs;var Us={};Object.defineProperty(Us,"__esModule",{value:!0}),Us.LocationEndChange=void 0,Us.isLocationEndChange=function(e){return"LocationEndChange"===e.typeName};var zs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","LocationEndChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldEnd:o.oldEnd,newEnd:o.newEnd}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=49;break}return d=(f=u.value).featureId,h=f.oldEnd,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** TOP level feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.max!==h){e.next=27;break}a.push({feature:g,topLevelFeature:p}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=we(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=he(v.value,2),(b=_[1]).max!==h){e.next=37;break}return null===(w=i.debug)||void 0===w||w.call(i,"*************** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),a.push({feature:b,topLevelFeature:p}),e.abrupt("break",39);case 37:e.next=31;break;case 39:e.next=44;break;case 41:e.prev=41,e.t0=e.catch(29),y.e(e.t0);case 44:return e.prev=44,y.f(),e.finish(44);case 47:e.next=6;break;case 49:e.next=54;break;case 51:e.prev=51,e.t1=e.catch(4),s.e(e.t1);case 54:return e.prev=54,s.f(),e.finish(54);case 57:S=we(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return E=he(x.value,2),O=(A=a[E[0]]).topLevelFeature,(C=A.feature).max=E[1].newEnd,O._id.equals(C._id)?O.markModified("end"):O.markModified("children"),e.prev=66,e.next=69,O.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(R=i.debug)||void 0===R||R.call(i,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(k=i.debug)||void 0===k||k.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(O)));case 76:e.next=60;break;case 78:e.next=83;break;case 80:e.prev=80,e.t3=e.catch(58),S.e(e.t3);case 83:return e.prev=83,S.f(),e.finish(83);case 86:case"end":return e.stop()}}),e,this,[[4,51,54,57],[29,41,44,47],[58,80,83,86],[66,71]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setMax(this.changes[i].newEnd);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldEnd:e.newEnd,newEnd:e.oldEnd}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Us.LocationEndChange=zs;var Gs={};Object.defineProperty(Gs,"__esModule",{value:!0}),Gs.LocationStartChange=void 0,Gs.isLocationStartChange=function(e){return"LocationStartChange"===e.typeName};var Hs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","LocationStartChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldStart:o.oldStart,newStart:o.newStart}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=49;break}return d=(f=u.value).featureId,h=f.oldStart,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** TOP level feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.min!==h){e.next=27;break}a.push({feature:g,topLevelFeature:p}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=we(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=he(v.value,2),(b=_[1]).min!==h){e.next=37;break}return null===(w=i.debug)||void 0===w||w.call(i,"*** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),a.push({feature:b,topLevelFeature:p}),e.abrupt("break",39);case 37:e.next=31;break;case 39:e.next=44;break;case 41:e.prev=41,e.t0=e.catch(29),y.e(e.t0);case 44:return e.prev=44,y.f(),e.finish(44);case 47:e.next=6;break;case 49:e.next=54;break;case 51:e.prev=51,e.t1=e.catch(4),s.e(e.t1);case 54:return e.prev=54,s.f(),e.finish(54);case 57:S=we(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return E=he(x.value,2),O=(A=a[E[0]]).topLevelFeature,(C=A.feature).min=E[1].newStart,O._id.equals(C._id)?O.markModified("start"):O.markModified("children"),e.prev=66,e.next=69,O.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(R=i.debug)||void 0===R||R.call(i,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(k=i.debug)||void 0===k||k.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(O)));case 76:e.next=60;break;case 78:e.next=83;break;case 80:e.prev=80,e.t3=e.catch(58),S.e(e.t3);case 83:return e.prev=83,S.f(),e.finish(83);case 86:case"end":return e.stop()}}),e,this,[[4,51,54,57],[29,41,44,47],[58,80,83,86],[66,71]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setMin(this.changes[i].newStart);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldStart:e.newStart,newStart:e.oldStart}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Gs.LocationStartChange=Hs;var Ws={};Object.defineProperty(Ws,"__esModule",{value:!0}),Ws.StrandChange=void 0;var Vs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","StrandChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldStrand:o.oldStrand,newStrand:o.newStrand}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=30;break}return d=(f=u.value).featureId,h=f.oldStrand,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.strand===h){e.next=27;break}throw y="*** ERROR: Feature's current strand \"".concat(p.strand,'" doesn\'t match with expected value "').concat(h,'"'),i.error(y),new Error(y);case 27:a.push({feature:g,topLevelFeature:p});case 28:e.next=6;break;case 30:e.next=35;break;case 32:e.prev=32,e.t0=e.catch(4),s.e(e.t0);case 35:return e.prev=35,s.f(),e.finish(35);case 38:v=we(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=he(_.value,2),k=(S=a[w[0]]).topLevelFeature,(x=S.feature).strand=w[1].newStrand,k._id.equals(x._id)?k.markModified("strand"):k.markModified("children"),e.prev=47,e.next=50,k.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(E=i.debug)||void 0===E||E.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=i.debug)||void 0===b||b.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(k)));case 57:e.next=41;break;case 59:e.next=64;break;case 61:e.prev=61,e.t2=e.catch(39),v.e(e.t2);case 64:return e.prev=64,v.f(),e.finish(64);case 67:case"end":return e.stop()}}),e,this,[[4,32,35,38],[39,61,64,67],[47,52]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setStrand(this.changes[i].newStrand);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldStrand:e.newStrand,newStrand:e.oldStrand}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Ws.StrandChange=Vs;var $s={};Object.defineProperty($s,"__esModule",{value:!0}),$s.TypeChange=void 0;var Js=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","TypeChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldType:o.oldType,newType:o.newType}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=30;break}return d=(f=u.value).featureId,h=f.oldType,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.type===h){e.next=27;break}throw y="*** ERROR: Feature's current type \"".concat(p.type,'" doesn\'t match with expected value "').concat(h,'"'),i.error(y),new Error(y);case 27:a.push({feature:g,topLevelFeature:p});case 28:e.next=6;break;case 30:e.next=35;break;case 32:e.prev=32,e.t0=e.catch(4),s.e(e.t0);case 35:return e.prev=35,s.f(),e.finish(35);case 38:v=we(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=he(_.value,2),k=(S=a[w[0]]).topLevelFeature,(x=S.feature).type=w[1].newType,k._id.equals(x._id)?k.markModified("type"):k.markModified("children"),e.prev=47,e.next=50,k.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(E=i.debug)||void 0===E||E.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=i.debug)||void 0===b||b.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(k)));case 57:e.next=41;break;case 59:e.next=64;break;case 61:e.prev=61,e.t2=e.catch(39),v.e(e.t2);case 64:return e.prev=64,v.f(),e.finish(64);case 67:case"end":return e.stop()}}),e,this,[[4,32,35,38],[39,61,64,67],[47,52]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setType(this.changes[i].newType);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldType:e.newType,newType:e.oldType}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);$s.TypeChange=Js;var Ks={};Object.defineProperty(Ks,"__esModule",{value:!0}),Ks.UserChange=void 0;var Ys=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","UserChange"),re(le(n),"changes",void 0),re(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ne(i,[{key:"toJSON",value:function(){var e=this.changes,t=this.typeName,n=this.userId;return 1===e.length?{typeName:t,userId:n,role:he(e,1)[0].role}:{typeName:t,userId:n,changes:e}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.session,r=t.userModel,i=this.logger,a=this.userId,s=we(o=this.changes),e.prev=3,s.s();case 5:if((u=s.n()).done){e.next=18;break}return l=u.value,null===(c=i.debug)||void 0===c||c.call(i,"change: ".concat(JSON.stringify(o))),f=l.role,e.next=11,r.findByIdAndUpdate(a,{role:f}).session(n).exec();case 11:if(e.sent){e.next=16;break}throw d='*** ERROR: User with id "'.concat(a,'" not found'),i.error(d),new Error(d);case 16:e.next=5;break;case 18:e.next=23;break;case 20:e.prev=20,e.t0=e.catch(3),s.e(e.t0);case 23:return e.prev=23,s.f(),e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[3,20,23,26]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,userId:this.userId},{logger:this.logger})}}]),i}(ar.Change);Ks.UserChange=Ys,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.changes=void 0;var t=et;e.changes={AddAssemblyAndFeaturesFromFileChange:or.AddAssemblyAndFeaturesFromFileChange,AddAssemblyFromFileChange:gs.AddAssemblyFromFileChange,AddAssemblyFromExternalChange:jr.AddAssemblyFromExternalChange,AddFeatureChange:_s.AddFeatureChange,AddFeaturesFromFileChange:Es.AddFeaturesFromFileChange,DeleteAssemblyChange:Ns.DeleteAssemblyChange,DeleteFeatureChange:bs.DeleteFeatureChange,DeleteUserChange:Ts.DeleteUserChange,FeatureAttributeChange:js.FeatureAttributeChange,ImportJBrowseConfigChange:Ls.ImportJBrowseConfigChange,LocationEndChange:Us.LocationEndChange,LocationStartChange:Gs.LocationStartChange,StrandChange:Ws.StrandChange,TypeChange:$s.TypeChange,UserChange:Ks.UserChange,AddRefSeqAliasesChange:Cs.AddRefSeqAliasesChange},t.__exportStar(or,e),t.__exportStar(gs,e),t.__exportStar(jr,e),t.__exportStar(_s,e),t.__exportStar(Es,e),t.__exportStar(Ns,e),t.__exportStar(bs,e),t.__exportStar(Ts,e),t.__exportStar(js,e),t.__exportStar(Ls,e),t.__exportStar(Us,e),t.__exportStar(Gs,e),t.__exportStar(Ws,e),t.__exportStar($s,e),t.__exportStar(Ks,e),t.__exportStar(Cs,e)}(rr);var Zs={},Xs={};Object.defineProperty(Xs,"__esModule",{value:!0}),Xs.GetAssembliesOperation=void 0;var Qs=function(e){oe(r,e);var t,n=fe(r);function r(){var e;ee(this,r);for(var t=arguments.length,o=new Array(t),i=0;i<t;i++)o[i]=arguments[i];return re(le(e=n.call.apply(n,[this].concat(o))),"typeName","GetAssembliesOperation"),e}return ne(r,[{key:"toJSON",value:function(){return{typeName:this.typeName}}},{key:"executeOnServer",value:function(e){return e.assemblyModel.find({status:0}).exec()}},{key:"executeOnLocalGFF3",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),r}(ar.Operation);Xs.GetAssembliesOperation=Qs;var eu={};Object.defineProperty(eu,"__esModule",{value:!0}),eu.GetFeaturesOperation=void 0;var tu=function(e){oe(r,e);var t,n=fe(r);function r(e,t){var o;return ee(this,r),re(le(o=n.call(this,e,t)),"typeName","GetFeaturesOperation"),re(le(o),"refSeq",void 0),re(le(o),"start",void 0),re(le(o),"end",void 0),o.refSeq=e.refSeq,o.start=e.start,o.end=e.end,o}return ne(r,[{key:"toJSON",value:function(){return{typeName:this.typeName,refSeq:this.refSeq,start:this.start,end:this.end}}},{key:"executeOnServer",value:function(e){return e.featureModel.find({refSeq:this.refSeq,min:{$lte:this.end},max:{$gte:this.start},status:0}).exec()}},{key:"executeOnLocalGFF3",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),r}(ar.Operation);eu.GetFeaturesOperation=tu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.operations=void 0;var t=et;e.operations={GetAssembliesOperation:Xs.GetAssembliesOperation,GetFeaturesOperation:eu.GetFeaturesOperation},t.__exportStar(Xs,e),t.__exportStar(eu,e)}(Zs);var nu={},ru={};Object.defineProperty(ru,"__esModule",{value:!0}),ru.Validation=void 0,ru.isContext=function(e){return void 0!==e.context&&void 0!==e.reflector};var ou=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();ru.Validation=ou;var iu={};Object.defineProperty(iu,"__esModule",{value:!0}),iu.validationRegistry=iu.ValidationSet=iu.ValidationResultSet=void 0;var au=function(){function e(){ee(this,e),re(this,"results",[]),re(this,"ok",!0)}return ne(e,[{key:"resultsMessages",get:function(){return this.results.map((function(e){var t;return null===(t=e.error)||void 0===t?void 0:t.message})).filter(Boolean).join(", ")}},{key:"add",value:function(e){this.results.push(e),e.error&&(this.ok=!1)}}]),e}();iu.ValidationResultSet=au;var su=function(){function e(){ee(this,e),re(this,"validations",new Set)}var t,n,r,o,i;return ne(e,[{key:"registerValidation",value:function(e){this.validations.add(e)}},{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new au,r=we(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return i=o.value,e.next=8,i.frontendPreValidate(t);case 8:if(n.add(a=e.sent),!a.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:return e.abrupt("return",n);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){var r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=new au,o=we(this.validations),e.prev=2,o.s();case 4:if((i=o.n()).done){e.next=14;break}return a=i.value,e.next=8,a.frontendPostValidate(t,n);case 8:if(r.add(s=e.sent),!s.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),o.e(e.t0);case 19:return e.prev=19,o.f(),e.finish(19);case 22:return e.abrupt("return",r);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new au,r=we(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return i=o.value,e.next=8,i.backendPreValidate(t);case 8:if(n.add(a=e.sent),!a.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:return e.abrupt("return",n);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,i=new au,a=we(this.validations),e.prev=3,a.s();case 5:if((s=a.n()).done){e.next=15;break}return u=s.value,e.next=9,u.backendPostValidate(t,{featureModel:r,session:o});case 9:if(i.add(c=e.sent),!c.error){e.next=13;break}return e.abrupt("break",15);case 13:e.next=5;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(3),a.e(e.t0);case 20:return e.prev=20,a.f(),e.finish(20);case 23:return e.abrupt("return",i);case 24:case"end":return e.stop()}}),e,this,[[3,17,20,23]])}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){var n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=we(this.validations),e.prev=1,n.s();case 3:if((r=n.n()).done){e.next=12;break}return o=r.value,e.next=7,o.possibleValues(t);case 7:if(!(i=e.sent)){e.next=10;break}return e.abrupt("return",i);case 10:e.next=3;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(1),n.e(e.t0);case 17:return e.prev=17,n.f(),e.finish(17);case 20:return e.abrupt("return");case 21:case"end":return e.stop()}}),e,this,[[1,14,17,20]])}))),function(e){return t.apply(this,arguments)})}]),e}();iu.ValidationSet=su,iu.validationRegistry=new su;var uu={},cu={};Object.defineProperty(cu,"__esModule",{value:!0}),cu.default=["2A_self_cleaving_peptide_region","4_methylcytosine","5S_SINE_retrotransposon","5_carboxylcytosine","5_formylcytosine","5_hydroxymethylcytosine","5_methylcytosine","7SL_SINE_retrotransposon","8_oxoadenine","8_oxoguanine","AACCCT_box","AFLP_fragment","AP_1_binding_site","ARIA","ARRET","ARS","ARS_consensus_sequence","ASPE_primer","AUG_initiated_uORF","AU_rich_element","A_box","A_box_type_1","A_box_type_2","A_minor_RNA_motif","A_to_C_transversion","A_to_G_transition","A_to_T_transversion","Ace2_UAS","Alu_deletion","Alu_insertion","BAC","BAC_cloned_genomic_insert","BAC_end","BAC_read_contig","BREd_motif","BREu_motif","B_box","Bel_Pao_LTR_retrotransposon","Bruno_response_element","C-D_H_ACA_box_scaRNA","C-D_H_ACA_box_scaRNA_gene","CAAT_signal","CAAX_box","CACTA_TIR_transposon","CAGE_cluster","CAGE_tag","CArG_box","CCAAT_motif","CCA_tail","CDRE_motif","CDS","CDS_extension","CDS_five_prime_extension","CDS_fragment","CDS_independently_known","CDS_predicted","CDS_region","CDS_supported_by_EST_or_cDNA_data","CDS_supported_by_domain_match_data","CDS_supported_by_peptide_spectrum_match","CDS_supported_by_sequence_similarity_data","CDS_three_prime_extension","CRE","CRISPR","CSL_response_element","CTCF_binding_site","CTG_start_codon","C_D_box_scaRNA","C_D_box_scaRNA_gene","C_D_box_snoRNA","C_D_box_snoRNA_gene","C_D_box_snoRNA_primary_transcript","C_box","C_cluster","C_gene_segment","C_region","C_to_A_transversion","C_to_G_transversion","C_to_T_transition","C_to_T_transition_at_pCpG_site","ChIP_seq_region","Copia_LTR_retrotransposon","CpG_island","Crick_strand","Crypton_YR_transposon","CsrB_RsmB_RNA","CuRE","DArT_marker","DCE","DCE_SI","DCE_SII","DCE_SIII","DDB_box","DHU_loop","DIRS_YR_retrotransposon","DJ_C_cluster","DJ_J_C_cluster","DJ_J_cluster","DJ_gene_segment","DMv1_motif","DMv2_motif","DMv3_motif","DMv4_motif","DMv5_motif","DNA_aptamer","DNA_binding_site","DNA_chromosome","DNA_constraint_sequence","DNA_loop","DNA_loop_anchor","DNA_motif","DNA_sequence_secondary_structure","DNA_transposon","DNAzyme","DNaseI_hypersensitive_site","DPE1_motif","DPE_motif","DRE","DRE_motif","DSR_motif","D_DJ_C_cluster","D_DJ_J_C_cluster","D_DJ_J_cluster","D_DJ_cluster","D_J_C_cluster","D_J_cluster","D_cluster","D_gene_recombination_feature","D_gene_segment","D_loop","DsrA_RNA","ER_retention_signal","EST","EST_match","E_box_motif","Endogenous_Retrovirus_LTR_retrotransposon","FLEX_element","FRE","FRT_site","GAGA_motif","GATA_box","GC_rich_promoter_region","GNA_oligo","GTT_trinucleotide_repeat","GT_dinucleotide_repeat","G_box","G_quartet","G_to_A_transition","G_to_C_transversion","G_to_T_transversion","GcvB_RNA","Gypsy_LTR_retrotransposon","H2AK5_acetylation_site","H2AK9_acetylation_site","H2AZK11_acetylation_site","H2AZK13_acetylation_site","H2AZK15_acetylation_site","H2AZK4_acetylation_site","H2AZK7_acetylation_site","H2BK120_acetylation_site","H2BK12_acetylation_site","H2BK15_acetylation_site","H2BK20_acetylation_site","H2BK5_acetylation_site","H2BK5_monomethylation_site","H2B_ubiquitination_site","H3K14_acetylation_site","H3K18_acetylation_site","H3K20_trimethylation_site","H3K23_acetylation_site","H3K23_dimethylation_site","H3K27_acetylation_site","H3K27_dimethylation_site","H3K27_methylation_site","H3K27_monomethylation_site","H3K27_trimethylation_site","H3K36_acetylation_site","H3K36_dimethylation_site","H3K36_methylation_site","H3K36_monomethylation_site","H3K36_trimethylation_site","H3K4_acetylation_site","H3K4_dimethylation_site","H3K4_methylation_site","H3K4_monomethylation_site","H3K4_trimethylation","H3K56_acetylation_site","H3K79_dimethylation_site","H3K79_methylation_site","H3K79_monomethylation_site","H3K79_trimethylation_site","H3K9_acetylation_site","H3K9_dimethylation_site","H3K9_methylation_site","H3K9_monomethylation_site","H3K9_trimethylation_site","H3R2_dimethylation_site","H3R2_monomethylation_site","H4K12_acetylation_site","H4K16_acetylation_site","H4K20_monomethylation_site","H4K4_trimethylation_site","H4K5_acetylation_site","H4K8_acetylation_site","H4K91_acetylation_site","H4K_acylation_region","H4R3_dimethylation_site","HERV_deletion","HERV_insertion","HSE","H_ACA_box_scaRNA","H_ACA_box_scaRNA_gene","H_ACA_box_snoRNA","H_ACA_box_snoRNA_gene","H_ACA_box_snoRNA_primary_transcript","H_pseudoknot","Hoogsteen_base_pair","I-box","IG_C_gene","IG_C_pseudogene","IG_D_gene","IG_J_gene","IG_J_pseudogene","IG_V_gene","IG_V_pseudogene","INR1_motif","INR_motif","IRLinv_site","IRRinv_site","ISRE","I_LINE_retrotransposon","J_C_cluster","J_cluster","J_gene_recombination_feature","J_gene_segment","J_heptamer","J_nonamer","J_spacer","Jockey_LINE_retrotransposon","KEN_box","K_turn_RNA_motif","L1_LINE_retrotransposon","LARD","LINE1_deletion","LINE1_insertion","LINE_element","LNA_oligo","LOZ1_response_element","LTR_component","LTR_retrotransposon","L_box","MCB","MITE","MNP","MNV","MNV_artifact","MTE","Mat2P","Mat3M","Merlin_TIR_transposon","MicF_RNA","Mutator_TIR_transposon","N2_2_prime_O_dimethylguanosine","N2_7_2prirme_O_trimethylguanosine","N2_7_dimethylguanosine","N2_N2_2_prime_O_trimethylguanosine","N2_N2_7_trimethylguanosine","N2_N2_dimethylguanosine","N2_methylguanosine","N4_2_prime_O_dimethylcytidine","N4_N4_2_prime_O_trimethylcytidine","N4_acetyl_2_prime_O_methylcytidine","N4_acetylcytidine","N4_methylcytidine","N6_2_prime_O_dimethyladenosine","N6_N6_2_prime_O_trimethyladenosine","N6_N6_dimethyladenosine","N6_acetyladenosine","N6_cis_hydroxyisopentenyl_adenosine","N6_glycinylcarbamoyladenosine","N6_hydroxynorvalylcarbamoyladenosine","N6_isopentenyladenosine","N6_methyl_N6_threonylcarbamoyladenosine","N6_methyladenine","N6_methyladenosine","N6_threonylcarbamoyladenosine","NDM2_motif","NDM3_motif","NMD_polymorphic_pseudogene_transcript","NMD_transcript","NSD_transcript","N_region","Ngaro_YR_retrotransposon","ORF","Okazaki_fragment","OxyS_RNA","PAC","PAC_end","PCB","PCR_product","PIF_Harbinger_TIR_transposon","PIP_box","PNA_oligo","PSE_motif","P_TIR_transposon","Penelope_retrotransposon","Phage_RNA_Polymerase_Promoter","Pho7_binding_site","QTL","R2_LINE_retrotransposon","RAPD","RFLP_fragment","RH_map","RNA_6S","RNA_7SK","RNA_7SK_gene","RNA_aptamer","RNA_chromosome","RNA_hook_turn","RNA_internal_loop","RNA_junction_loop","RNA_motif","RNA_polymerase_III_TATA_box","RNA_polymerase_II_TATA_box","RNA_sequence_secondary_structure","RNA_stability_element","RNA_thermometer","RNAi_reagent","RNApol_III_promoter","RNApol_III_promoter_type_1","RNApol_III_promoter_type_2","RNApol_III_promoter_type_3","RNApol_II_core_promoter","RNApol_II_promoter","RNApol_I_promoter","RNase_MRP_RNA","RNase_MRP_RNA_gene","RNase_P_RNA","RNase_P_RNA_gene","RRE_RNA","RR_tract","RST","RST_match","RTE_LINE_retrotransposon","R_GNA_oligo","R_LTR_region","R_five_prime_LTR_region","R_three_prime_LTR_region","Retrovirus_LTR_retrotransposon","Robertsonian_fusion","RprA_RNA","SAGE_tag","SECIS_element","SHP_box","SINE_element","SL10_acceptor_site","SL11_acceptor_site","SL12_acceptor_site","SL1_acceptor_site","SL2_acceptor_site","SL3_acceptor_site","SL4_acceptor_site","SL5_acceptor_site","SL6_acceptor_site","SL7_acceptor_site","SL8_acceptor_site","SL9_acceptor_site","SNP","SNV","SNV_artifact","SP6_RNA_Polymerase_Promoter","SRP_RNA","SRP_RNA_gene","SRP_RNA_primary_transcript","STREP_motif","STS","STS_map","SUMO_interaction_motif","SVA_deletion","SVA_insertion","S_GNA_oligo","S_region","Sap1_recognition_motif","Shine_Dalgarno_sequence","T3_RNA_Polymerase_Promoter","T7_RNA_Polymerase_Promoter","TATA_box","TCS_element","TCT_motif","TERRA","TFRS_collection","TFRS_module","TF_binding_site","TNA_oligo","TRIM","TR_C_Gene","TR_D_Gene","TR_J_Gene","TR_J_pseudogene","TR_V_Gene","TR_V_pseudogene","TR_box","TSS","T_cell_receptor_gene","T_cell_receptor_pseudogene","T_loop","T_to_A_transversion","T_to_C_transition","T_to_G_transversion","Tc1_Mariner_TIR_transposon","Transib_TIR_transposon","U11_snRNA","U12_intron","U12_snRNA","U14_snoRNA","U14_snoRNA_gene","U14_snoRNA_primary_transcript","U1_snRNA","U2_intron","U2_snRNA","U3_LTR_region","U3_five_prime_LTR_region","U3_snoRNA","U3_snoRNA_gene","U3_three_prime_LTR_region","U4_snRNA","U4atac_snRNA","U5_LTR_region","U5_five_prime_LTR_region","U5_snRNA","U5_three_prime_LTR_region","U6_snRNA","U6atac_snRNA","U7_snRNA","UAA_stop_codon_signal","UAG_stop_codon_signal","UGA_stop_codon_signal","UNAAAC_motif","UPD","UST","UST_match","UTR","UTR_intron","UTR_region","U_box","VDJ_C_cluster","VDJ_J_C_cluster","VDJ_J_cluster","VDJ_gene_segment","VD_gene_segment","VJ_C_cluster","VJ_J_C_cluster","VJ_J_cluster","VJ_gene_segment","V_DJ_C_cluster","V_DJ_J_C_cluster","V_DJ_J_cluster","V_DJ_cluster","V_D_DJ_C_cluster","V_D_DJ_J_C_cluster","V_D_DJ_J_cluster","V_D_DJ_cluster","V_D_J_C_cluster","V_D_J_cluster","V_J_C_cluster","V_J_cluster","V_VDJ_C_cluster","V_VDJ_J_C_cluster","V_VDJ_J_cluster","V_VDJ_cluster","V_VJ_C_cluster","V_VJ_J_C_cluster","V_VJ_J_cluster","V_VJ_cluster","V_cluster","V_gene_recombination_feature","V_gene_segment","V_heptamer","V_nonamer","V_region","V_spacer","Viper_YR_retrotransposon","WC_base_pair","W_region","Watson_strand","X_element","X_element_combinatorial_repeat","X_region","YAC","YAC_end","YR_retrotransposon","Y_RNA","Y_RNA_gene","Y_RNA_primary_transcript","Y_prime_element","Y_region","Z1_region","Z2_region","Zas1_recognition_motif","aberrant_processed_transcript","accessible_DNA_region","active_peptide","adaptive_island","alanine","alanine_tRNA_primary_transcript","alanyl_tRNA","allelic_pseudogene","allelic_pseudogenic_rRNA","allelic_pseudogenic_tRNA","allelically_excluded_gene","alpha_beta_motif","alpha_helix","alternate_sequence_site","alternatively_spliced_transcript","amber_stop_codon","ambisense_ssRNA_viral_sequence","amino_acid","amplification_origin","anchor_binding_site","anchor_region","androgen_response_element","anti_ARRET","anticodon","anticodon_loop","antiparallel_beta_strand","antisense_RNA","antisense_lncRNA","antisense_lncRNA_gene","antisense_primary_transcript","apicoplast_chromosome","apicoplast_gene","aptamer","archaeal_intron","archaeosine","arginine","arginine_tRNA_primary_transcript","arginyl_tRNA","asparagine","asparagine_tRNA_primary_transcript","asparaginyl_tRNA","aspartic_acid","aspartic_acid_tRNA_primary_transcript","aspartyl_tRNA","assembly","assembly_component","assembly_error_correction","asx_motif","asx_turn","asx_turn_left_handed_type_one","asx_turn_left_handed_type_two","asx_turn_right_handed_type_one","asx_turn_right_handed_type_two","asymmetric_RNA_internal_loop","attB_site","attC_site","attCtn_site","attI_site","attL_site","attP_site","attR_site","attenuator","autocatalytically_spliced_intron","bacterial_RNApol_promoter","bacterial_RNApol_promoter_sigma54_element","bacterial_RNApol_promoter_sigma_70_element","bacterial_RNApol_promoter_sigma_ecf_element","bacterial_terminator","base","base_call_error_correction","base_pair","beta_bulge","beta_bulge_loop","beta_bulge_loop_five","beta_bulge_loop_six","beta_strand","beta_turn","beta_turn_left_handed_type_one","beta_turn_left_handed_type_two","beta_turn_right_handed_type_one","beta_turn_right_handed_type_two","beta_turn_type_eight","beta_turn_type_six","beta_turn_type_six_a","beta_turn_type_six_a_one","beta_turn_type_six_a_two","beta_turn_type_six_b","bidirectional_promoter","bidirectional_promoter_lncRNA","binding_site","biochemical_region_of_peptide","biological_region","biomaterial_region","biosynthetic_gene_cluster","blocked_reading_frame","blunt_end_restriction_enzyme_cleavage_junction","blunt_end_restriction_enzyme_cleavage_site","boundary_element","branch_site","cDNA_clone","cDNA_match","c_terminal_region","candidate_gene","canonical_five_prime_splice_site","canonical_three_prime_splice_site","cap","capped_mRNA","capped_primary_transcript","cassette_pseudogene","catalytic_residue","catmat_left_handed_four","catmat_left_handed_three","catmat_right_handed_four","catmat_right_handed_three","central_hydrophobic_region_of_signal_peptide","centromere","centromere_DNA_Element_I","centromere_DNA_Element_II","centromere_DNA_Element_III","centromeric_repeat","chimeric_cDNA_clone","chloroplast_DNA_read","chloroplast_chromosome","chromatin_regulatory_region","chromoplast_chromosome","chromoplast_gene","chromosomal_regulatory_element","chromosomal_structural_element","chromosomal_translocation","chromosome","chromosome_arm","chromosome_band","chromosome_breakage_sequence","chromosome_breakpoint","chromosome_part","circular_double_stranded_DNA_chromosome","circular_double_stranded_RNA_chromosome","circular_mRNA","circular_ncRNA","circular_plasmid","circular_single_stranded_DNA_chromosome","circular_single_stranded_RNA_chromosome","cis_acting_homologous_chromosome_pairing_region","cis_regulatory_frameshift_element","cis_regulatory_module","cis_splice_site","class_II_RNA","class_I_RNA","cleaved_for_gpi_anchor_region","cleaved_initiator_methionine","cleaved_peptide_region","clip","clone","clone_end","clone_insert","clone_insert_end","clone_insert_start","cloned_cDNA_insert","cloned_genomic_insert","cloned_region","coding_conserved_region","coding_end","coding_exon","coding_region_of_exon","coding_start","coding_transcript_with_retained_intron","codon","coiled_coil","cointegrated_plasmid","common_fragile_site","complex_chromosomal_rearrangement","complex_operon","complex_regulon","complex_structural_alteration","complex_substitution","compositionally_biased_region_of_peptide","conformational_switch","conjugative_transposon","consensus_AFLP_fragment","consensus_gDNA","consensus_mRNA","consensus_region","conserved_region","constitutive_promoter","contig","contig_collection","contig_read","copy_number_gain","copy_number_loss","copy_number_variation","core_eukaryotic_promoter_element","core_prokaryotic_promoter_element","core_promoter_element","core_viral_promoter_element","cosmid","cross_genome_match","cryptic_gene","cryptic_promoter","cryptic_prophage","cryptic_splice_site","cryptogene","ct_gene","cyanelle_chromosome","cyanelle_gene","cyclic_translocation","cysteine","cysteine_tRNA_primary_transcript","cysteinyl_tRNA","cytoplasmic_polypeptide_region","cytosolic_16S_rRNA","cytosolic_18S_rRNA","cytosolic_23S_rRNA","cytosolic_25S_rRNA","cytosolic_28S_rRNA","cytosolic_2S_rRNA","cytosolic_5S_rRNA","cytosolic_5_8S_rRNA","cytosolic_LSU_rRNA","cytosolic_LSU_rRNA_gene","cytosolic_SSU_rRNA","cytosolic_SSU_rRNA_gene","cytosolic_rRNA","cytosolic_rRNA_16S_gene","cytosolic_rRNA_18S_gene","cytosolic_rRNA_23S_gene","cytosolic_rRNA_25S_gene","cytosolic_rRNA_28S_gene","cytosolic_rRNA_2S_gene","cytosolic_rRNA_5S_gene","cytosolic_rRNA_5_8S_gene","cytosolic_rRNA_gene","dCAPS_primer","databank_entry","decayed_exon","defective_conjugative_transposon","deficient_translocation","deletion","deletion_artifact","deletion_breakpoint","deletion_junction","delins","destruction_box","dg_repeat","dh_repeat","dicistronic_mRNA","dicistronic_primary_transcript","dicistronic_transcript","dif_site","dihydrouridine","dinucleotide_repeat_microsatellite_feature","direct_repeat","direct_tandem_duplication","disabled_reading_frame","dispersed_repeat","distal_duplication","distal_promoter_element","distant_three_prime_recoding_signal","double_stranded_DNA_chromosome","double_stranded_RNA_chromosome","ds_DNA_viral_sequence","ds_RNA_viral_sequence","ds_oligo","duplicated_pseudogene","duplication","duplication_artifact","dye_terminator_read","early_origin_of_replication","edited_CDS","edited_mRNA","edited_transcript","edited_transcript_by_A_to_I_substitution","edited_transcript_feature","editing_block","editing_domain","endogenous_retroviral_gene","endonuclease_spliced_intron","endosomal_localization_signal","engineered_episome","engineered_foreign_gene","engineered_foreign_region","engineered_foreign_repetitive_element","engineered_foreign_transposable_element","engineered_foreign_transposable_element_gene","engineered_fusion_gene","engineered_gene","engineered_insert","engineered_plasmid","engineered_region","engineered_rescue_region","engineered_tag","engineered_transposable_element","enhancer","enhancerRNA","enhancer_binding_site","enhancer_blocking_element","enhancer_bound_by_factor","enhancer_trap_construct","enzymatic_RNA","enzymatic_RNA_gene","epigenetically_modified_gene","epigenetically_modified_region","epigenomically_modified_region","episome","epitope","epoxyqueuosine","eukaryotic_promoter","eukaryotic_terminator","exemplar_mRNA","exon","exon_junction","exon_of_single_exon_gene","exon_region","exonic_splice_enhancer","exonic_splicing_silencer","experimental_feature","experimental_result_region","experimentally_defined_binding_region","expressed_sequence_assembly","expressed_sequence_match","extended_cis_splice_site","extended_intronic_splice_region","external_transcribed_spacer_region","extrachromosomal_mobile_genetic_element","extramembrane_polypeptide_region","fingerprint_map","five_aminomethyl_two_thiouridine","five_carbamoylmethyl_two_prime_O_methyluridine","five_carbamoylmethyluridine","five_carboxyhydroxymethyl_uridine","five_carboxyhydroxymethyl_uridine_methyl_ester","five_carboxymethylaminomethyl_two_prime_O_methyluridine","five_carboxymethylaminomethyl_two_thiouridine","five_carboxymethylaminomethyluridine","five_carboxymethyluridine","five_formyl_two_prime_O_methylcytidine","five_formylcytidine","five_hydroxymethylcytidine","five_hydroxyuridine","five_isopentenylaminomethyl_two_prime_O_methyluridine","five_isopentenylaminomethyl_two_thiouridine","five_isopentenylaminomethyl_uridine","five_methoxycarbonylmethyl_two_prime_O_methyluridine","five_methoxycarbonylmethyl_two_thiouridine","five_methoxycarbonylmethyluridine","five_methoxyuridine","five_methyl_2_thiouridine","five_methylaminomethyl_two_selenouridine","five_methylaminomethyl_two_thiouridine","five_methylaminomethyluridine","five_methylcytidine","five_methyldihydrouridine","five_methyluridine","five_prime_D_heptamer","five_prime_D_nonamer","five_prime_D_recombination_signal_sequence","five_prime_D_spacer","five_prime_EST","five_prime_LTR","five_prime_LTR_component","five_prime_RST","five_prime_UST","five_prime_UTR","five_prime_UTR_intron","five_prime_cis_splice_site","five_prime_clip","five_prime_coding_exon","five_prime_coding_exon_coding_region","five_prime_coding_exon_noncoding_region","five_prime_flanking_region","five_prime_intron","five_prime_noncoding_exon","five_prime_open_reading_frame","five_prime_recoding_site","five_prime_restriction_enzyme_junction","five_prime_sticky_end_restriction_enzyme_cleavage_site","five_prime_terminal_inverted_repeat","five_taurinomethyl_two_thiouridine","five_taurinomethyluridine","five_two_prime_O_dimethylcytidine","five_two_prime_O_dimethyluridine","flanking_region","flanking_repeat","flanking_three_prime_quadruplet_recoding_signal","floxed_gene","foldback_element","foreign_gene","foreign_transposable_element","forkhead_motif","forward_primer","fosmid","four_bp_start_codon","four_demethylwyosine","four_thiouridine","fragile_site","fragment_assembly","functional_candidate_gene","functional_gene_region","fusion_gene","gRNA_gene","galactosyl_queuosine","gamma_turn","gamma_turn_classic","gamma_turn_inverse","gap","gene","gene_array","gene_cassette","gene_cassette_array","gene_component_region","gene_fragment","gene_group","gene_member_region","gene_rearranged_at_DNA_level","gene_segment","gene_silenced_by_DNA_methylation","gene_silenced_by_DNA_modification","gene_silenced_by_RNA_interference","gene_silenced_by_histone_deacetylation","gene_silenced_by_histone_methylation","gene_silenced_by_histone_modification","gene_subarray","gene_trap_construct","gene_with_dicistronic_mRNA","gene_with_dicistronic_primary_transcript","gene_with_dicistronic_transcript","gene_with_edited_transcript","gene_with_mRNA_recoded_by_translational_bypass","gene_with_mRNA_with_frameshift","gene_with_non_canonical_start_codon","gene_with_polyadenylated_mRNA","gene_with_polycistronic_transcript","gene_with_recoded_mRNA","gene_with_start_codon_CUG","gene_with_stop_codon_read_through","gene_with_stop_codon_redefined_as_pyrrolysine","gene_with_stop_codon_redefined_as_selenocysteine","gene_with_trans_spliced_transcript","gene_with_transcript_with_translational_frameshift","genetic_marker","genomic_DNA_contig","genomic_DNA_read","genomic_clone","genomic_island","genomically_contaminated_cDNA_clone","glutamic_acid","glutamic_acid_tRNA_primary_transcript","glutamine","glutamine_tRNA_primary_transcript","glutaminyl_tRNA","glutamyl_tRNA","glycine","glycine_tRNA_primary_transcript","glycyl_tRNA","golden_path","golden_path_fragment","group_1_intron_homing_endonuclease_target_region","group_IIA_intron","group_IIB_intron","group_IIC_intron","group_III_intron","group_II_intron","group_I_intron","guide_RNA","guide_RNA_region","hAT_TIR_transposon","hammerhead_ribozyme","haplotype_block","helitron","helix_turn_helix","heptamer_of_recombination_feature_of_vertebrate_immune_system_gene","heritable_phenotypic_marker","high_identity_region","histidine","histidine_tRNA_primary_transcript","histidyl_tRNA","histone_2AZ_acetylation_site","histone_2A_acetylation_site","histone_2B_acetylation_site","histone_3_acetylation_site","histone_4_acetylation_site","histone_acetylation_site","histone_acylation_region","histone_binding_site","histone_methylation_site","histone_modification","histone_ubiqitination_site","homing_endonuclease_binding_site","homol_D_box","homol_E_box","homologous_chromosome_recognition_and_pairing_locus","homologous_region","hpRNA","hpRNA_gene","hydrophobic_region_of_peptide","hydroxywybutosine","iDNA","i_motif","immature_peptide_region","immunoglobulin_gene","immunoglobulin_pseudogene","immunoglobulin_region","imprinting_control_region","indel_artifact","inducible_promoter","inert_DNA_spacer","inosine","insertion","insertion_artifact","insertion_breakpoint","insertion_sequence","insertion_site","insulator","insulator_binding_site","integrated_mobile_genetic_element","integrated_plasmid","integration_excision_site","integron","intein","intein_encoding_region","interband","interchromosomal_breakpoint","interchromosomal_translocation","intergenic_region","interior_coding_exon","interior_exon","interior_intron","intermediate_element","internal_Shine_Dalgarno_sequence","internal_UTR","internal_eliminated_sequence","internal_guide_sequence","internal_ribosome_entry_site","internal_transcribed_spacer_region","intrachromosomal_breakpoint","intrachromosomal_translocation","intramembrane_polypeptide_region","intrinsically_unstructured_polypeptide_region","introgressed_chromosome_region","intron","intron_base_5","intron_domain","intronic_regulatory_region","intronic_splice_enhancer","intronic_splicing_silencer","invalidated_cDNA_clone","inversion","inversion_breakpoint","inversion_cum_translocation","inversion_site","inversion_site_part","inverted_intrachromosomal_transposition","inverted_repeat","inverted_tandem_duplication","iron_repressed_GATA_element","iron_responsive_element","isoleucine","isoleucine_tRNA_primary_transcript","isoleucyl_tRNA","isomiR","isowyosine","junction","kinetoplast_gene","knob","kozak_sequence","lambda_vector","lariat_intron","late_origin_of_replication","left_handed_peptide_helix","leucine","leucine_tRNA_primary_transcript","leucoplast_chromosome","leucoplast_gene","leucyl_tRNA","ligand_binding_site","ligation_based_read","lincRNA","lincRNA_gene","linear_double_stranded_DNA_chromosome","linear_double_stranded_RNA_chromosome","linear_plasmid","linear_single_stranded_DNA_chromosome","linear_single_stranded_RNA_chromosome","linkage_group","lipoprotein_signal_peptide","lncRNA","lncRNA_gene","lncRNA_primary_transcript","lncRNA_with_retained_intron","loR","locus_control_region","long_terminal_repeat","long_terminal_repeat_transcript","loop","low_complexity_region","loxP_site","lysidine","lysine","lysine_tRNA_primary_transcript","lysosomal_localization_signal","lysyl_tRNA","mRNA","mRNA_contig","mRNA_read","mRNA_recoded_by_codon_redefinition","mRNA_recoded_by_translational_bypass","mRNA_region","mRNA_with_frameshift","mRNA_with_minus_1_frameshift","mRNA_with_minus_2_frameshift","mRNA_with_plus_1_frameshift","mRNA_with_plus_2_frameshift","macronuclear_chromosome","macronucleus_destined_segment","major_TSS","mannosyl_queuosine","match","match_part","maternal_uniparental_disomy","maternally_imprinted_gene","mathematically_defined_repeat","mating_type_M_box","mating_type_region","mating_type_region_motif","mating_type_region_replication_fork_barrier","matrix_attachment_site","mature_protein_region","mature_protein_region_of_CDS","mature_transcript","mature_transcript_region","maxicircle","maxicircle_gene","meiotic_recombination_region","membrane_peptide_loop","membrane_structure","metabolic_island","metal_binding_site","methionine","methionine_tRNA_primary_transcript","methionyl_tRNA","methylated_DNA_base_feature","methylated_adenine","methylated_cytosine","methylation_guide_snoRNA","methylation_guide_snoRNA_gene","methylation_guide_snoRNA_primary_transcript","methylinosine","methylwyosine","miRNA","miRNA_antiguide","miRNA_gene","miRNA_loop","miRNA_primary_transcript","miRNA_primary_transcript_region","miRNA_stem","miRNA_target_site","miR_encoding_Y_RNA_primary_transcript","miR_encoding_lncRNA_primary_transcript","miR_encoding_shRNA_primary_transcript","miR_encoding_snoRNA_primary_transcript","miR_encoding_tRNA_primary_transcript","miR_encoding_vaultRNA_primary_transcript","miRtron","microarray_oligo","micronuclear_chromosome","microsatellite","mini_exon_donor_RNA","mini_gene","minicircle","minicircle_gene","minisatellite","minor_TSS","minus_10_signal","minus_12_signal","minus_1_translational_frameshift","minus_24_signal","minus_2_translational_frameshift","minus_35_signal","mitochondrial_DNA_read","mitochondrial_D_loop","mitochondrial_chromosome","mitochondrial_contig","mitochondrial_control_region","mitochondrial_supercontig","mitochondrial_targeting_signal","mitotic_recombination_region","moR","mobile_element_deletion","mobile_element_insertion","mobile_genetic_element","mobile_intron","modified_DNA_base","modified_L_alanine","modified_L_arginine","modified_L_asparagine","modified_L_aspartic_acid","modified_L_cysteine","modified_L_glutamic_acid","modified_L_glutamine","modified_L_histidine","modified_L_isoleucine","modified_L_leucine","modified_L_lysine","modified_L_methionine","modified_L_phenylalanine","modified_L_proline","modified_L_selenocysteine","modified_L_serine","modified_L_threonine","modified_L_tryptophan","modified_L_tyrosine","modified_L_valine","modified_RNA_base_feature","modified_adenine","modified_adenosine","modified_amino_acid_feature","modified_cytidine","modified_cytosine","modified_glycine","modified_guanine","modified_guanosine","modified_inosine","modified_uridine","molecular_contact_region","monocistronic_mRNA","monocistronic_primary_transcript","monocistronic_transcript","monomeric_repeat","morpholino_oligo","mt_LSU_rRNA","mt_LSU_rRNA_gene","mt_SSU_rRNA","mt_SSU_rRNA_gene","mt_gene","mt_rRNA","mt_rRNA_gene","mt_tRNA","multiplexing_sequence_identifier","mutated_variant_site","mutational_hotspot","n_terminal_region","natural_plasmid","natural_transposable_element","natural_variant_site","ncRNA","ncRNA_gene","nc_conserved_region","nc_primary_transcript","negative_sense_ssRNA_viral_sequence","negatively_autoregulated_gene","nested_repeat","nested_tandem_repeat","nested_transposon","no_output","no_sequence_alteration","non_AUG_initiated_uORF","non_LTR_retrotransposon","non_LTR_retrotransposon_polymeric_tract","non_adjacent_residues","non_allelic_homologous_recombination_region","non_canonical_five_prime_splice_site","non_canonical_start_codon","non_canonical_three_prime_splice_site","non_complimentary_stem","non_cytoplasmic_polypeptide_region","non_processed_pseudogene","non_terminal_residue","non_transcribed_region","nonamer_of_recombination_feature_of_vertebrate_immune_system_gene","noncoding_exon","noncoding_region_of_exon","novel_sequence_insertion","nuclear_chromosome","nuclear_export_signal","nuclear_gene","nuclear_localization_signal","nuclear_mt_pseudogene","nuclear_rim_localization_signal","nuclease_binding_site","nuclease_hypersensitive_site","nuclease_sensitive_site","nucleomorph_gene","nucleomorphic_chromosome","nucleotide_binding_site","nucleotide_cleavage_site","nucleotide_match","nucleotide_motif","nucleotide_to_protein_binding_site","ochre_stop_codon","octamer_motif","oligo","oligo_U_tail","one_methyl_three_three_amino_three_carboxypropyl_pseudouridine","one_methyladenosine","one_methylguanosine","one_methylinosine","one_methylpseudouridine","one_two_prime_O_dimethyladenosine","one_two_prime_O_dimethylguanosine","one_two_prime_O_dimethylinosine","opal_stop_codon","open_chromatin_region","operator","operon","oriC","oriT","oriV","origin_of_replication","orphan_CDS","orthologous_region","outron","overlapping_EST_set","overlapping_feature_set","paired_end_fragment","parallel_beta_strand","paralogous_region","partial_genomic_sequence_assembly","partially_processed_cDNA_clone","paternal_uniparental_disomy","paternally_imprinted_gene","pathogenic_island","peptide_coil","peptide_helix","peptide_localization_signal","peroxywybutosine","phage_sequence","phagemid","phenylalanine","phenylalanine_tRNA_primary_transcript","phenylalanyl_tRNA","pheromone_response_element","phosphorylation_site","piRNA","piRNA_gene","pi_helix","piggyBac_TIR_transposon","plasmid","plasmid_gene","plasmid_vector","plastid_LSU_rRNA","plastid_LSU_rRNA_gene","plastid_SSU_rRNA","plastid_SSU_rRNA_gene","plastid_gene","plastid_rRNA","plastid_rRNA_gene","plus_1_translational_frameshift","plus_2_translational_frameshift","point_centromere","point_mutation","polinton","polyA_primed_cDNA_clone","polyA_sequence","polyA_signal_sequence","polyA_site","polyA_site_cluster","polyadenylated_mRNA","polycistronic_mRNA","polycistronic_primary_transcript","polycistronic_transcript","polymerase_synthesis_read","polymorphic_pseudogene","polymorphic_pseudogene_processed_transcript","polymorphic_pseudogene_with_retained_intron","polypeptide","polypeptide_DNA_contact","polypeptide_binding_motif","polypeptide_calcium_ion_contact_site","polypeptide_catalytic_motif","polypeptide_cobalt_ion_contact_site","polypeptide_conserved_motif","polypeptide_conserved_region","polypeptide_copper_ion_contact_site","polypeptide_domain","polypeptide_iron_ion_contact_site","polypeptide_ligand_contact","polypeptide_magnesium_ion_contact_site","polypeptide_manganese_ion_contact_site","polypeptide_metal_contact","polypeptide_molybdenum_ion_contact_site","polypeptide_motif","polypeptide_nest_left_right_motif","polypeptide_nest_motif","polypeptide_nest_right_left_motif","polypeptide_nickel_ion_contact_site","polypeptide_region","polypeptide_repeat","polypeptide_secondary_structure","polypeptide_sequencing_information","polypeptide_structural_motif","polypeptide_structural_region","polypeptide_tungsten_ion_contact_site","polypeptide_turn_motif","polypeptide_variation_site","polypeptide_zinc_ion_contact_site","polypyrimidine_tract","positional_candidate_gene","positive_sense_ssRNA_viral_sequence","positively_autoregulated_gene","possible_assembly_error","possible_base_call_error","post_translationally_modified_region","post_translationally_regulated_gene","pre_edited_mRNA","pre_edited_region","pre_miRNA","predicted_gene","predicted_transcript","presence_absence_variation","priRNA","primary_transcript","primary_transcript_region","primer","primer_binding_site","primer_match","probe","processed_pseudogene","processed_pseudogenic_rRNA","processed_pseudogenic_tRNA","processed_transcript","prokaryotic_promoter","proline","proline_tRNA_primary_transcript","prolyl_tRNA","promoter","promoter_element","promoter_flanking_region","promoter_targeting_sequence","promoter_trap_construct","propeptide","propeptide_cleavage_site","propeptide_region_of_CDS","prophage","proplastid_gene","protease_site","protein_binding_site","protein_coding_gene","protein_coding_primary_transcript","protein_hmm_match","protein_match","protein_protein_contact","protein_stability_element","proviral_gene","proviral_region","proximal_promoter_element","pseudogene","pseudogene_by_unequal_crossing_over","pseudogene_processed_transcript","pseudogenic_CDS","pseudogenic_exon","pseudogenic_gene_segment","pseudogenic_rRNA","pseudogenic_region","pseudogenic_tRNA","pseudogenic_transcript","pseudogenic_transcript_with_retained_intron","pseudoknot","pseudouridine","pseudouridylation_guide_snoRNA","pseudouridylation_guide_snoRNA_gene","pumilio_response_element","purine_to_pyrimidine_transversion","purine_transition","pyrimidine_to_purine_transversion","pyrimidine_transition","pyrosequenced_read","pyrrolysine","pyrrolysine_tRNA_primary_transcript","pyrrolysyl_tRNA","queuosine","rDNA_intergenic_spacer_element","rDNA_replication_fork_barrier","rRNA","rRNA_21S_gene","rRNA_cleavage_RNA","rRNA_cleavage_snoRNA_primary_transcript","rRNA_gene","rRNA_large_subunit_primary_transcript","rRNA_primary_transcript","rRNA_primary_transcript_region","rRNA_small_subunit_primary_transcript","rare_fragile_site","rasiRNA","read","read_pair","reading_frame","reagent","rearrangement_region","reciprocal_chromosomal_translocation","recoded_codon","recoded_mRNA","recoding_pseudoknot","recoding_stimulatory_region","recombination_enhancer","recombination_feature","recombination_feature_of_rearranged_gene","recombination_hotspot","recombination_regulatory_region","recombination_signal_sequence","recombinationally_inverted_gene","recombinationally_rearranged_gene","recombinationally_rearranged_vertebrate_immune_system_gene","recursive_splice_site","ref_miRNA","region","regional_centromere","regional_centromere_central_core","regional_centromere_inner_repeat_region","regional_centromere_outer_repeat_region","regional_centromere_outer_repeat_transcript","regulatory_promoter_element","regulatory_region","regulon","remark","repeat_component","repeat_fragment","repeat_instability_region","repeat_region","repeat_unit","replication_regulatory_region","replication_start_site","replicon","rescue_gene","rescue_mini_gene","rescue_region","resolution_site","response_element","restriction_enzyme_assembly_scar","restriction_enzyme_binding_site","restriction_enzyme_cleavage_junction","restriction_enzyme_five_prime_single_strand_overhang","restriction_enzyme_recognition_site","restriction_enzyme_region","restriction_enzyme_single_strand_overhang","restriction_enzyme_three_prime_single_strand_overhang","restriction_fragment","retinoic_acid_responsive_element","retrogene","retron","retrotransposon","reverse_Hoogsteen_base_pair","reverse_primer","rho_dependent_bacterial_terminator","rho_independent_bacterial_terminator","ribonuclease_site","ribosome_entry_site","riboswitch","ribothymidine","ribozyme","ribozyme_gene","right_handed_peptide_helix","sORF","sarcin_like_RNA_motif","satellite_DNA","sbRNA","sbRNA_gene","scRNA","scRNA_gene","scRNA_primary_transcript","scaRNA","scaRNA_gene","schellmann_loop","schellmann_loop_seven","schellmann_loop_six","selection_marker","selenocysteine","selenocysteine_tRNA_primary_transcript","selenocysteinyl_tRNA","self_cleaving_ribozyme","sense_intronic_ncRNA","sense_intronic_ncRNA_gene","sense_overlap_ncRNA","sense_overlap_ncRNA_gene","sequence_alteration","sequence_alteration_artifact","sequence_assembly","sequence_comparison","sequence_conflict","sequence_difference","sequence_feature","sequence_length_alteration","sequence_motif","sequence_rearrangement_feature","sequence_secondary_structure","sequence_uncertainty","sequencing_primer","serine","serine_tRNA_primary_transcript","serine_threonine_motif","serine_threonine_staple_motif","serine_threonine_turn","seryl_tRNA","seven_aminomethyl_seven_deazaguanosine","seven_cyano_seven_deazaguanosine","seven_deazaguanosine","seven_methylguanine","seven_methylguanosine","sgRNA","shRNA","shRNA_primary_transcript","shadow_enhancer","short_tandem_repeat_variation","siRNA","signal_anchor","signal_peptide","signal_peptide_region_of_CDS","signature","silenced_gene","silencer","silent_mating_type_cassette_array","simple_operon","simple_regulon","simple_sequence_length_variation","single_strand_restriction_enzyme_cleavage_site","single_stranded_DNA_chromosome","single_stranded_RNA_chromosome","sisRNA","site_specific_recombination_target_region","smFISH_probe","small_regulatory_ncRNA","snRNA","snRNA_gene","snRNA_primary_transcript","sncRNA","sncRNA_gene","snoRNA","snoRNA_gene","snoRNA_primary_transcript","solo_LTR","sonicate_fragment","specific_recombination_site","splice_enhancer","splice_junction","splice_region","splice_site","spliced_leader_RNA","spliceosomal_intron","spliceosomal_intron_region","splicing_regulatory_region","spot_42_RNA","spurious_protein","ss_RNA_viral_sequence","ss_oligo","st_turn_left_handed_type_one","st_turn_left_handed_type_two","st_turn_right_handed_type_one","st_turn_right_handed_type_two","start_codon","stem","stem_loop","stem_loop_region","sterol_regulatory_element","sticky_end_restriction_enzyme_cleavage_site","stop_codon","stop_codon_read_through","stop_codon_redefined_as_pyrrolysine","stop_codon_redefined_as_selenocysteine","stop_codon_signal","structural_alteration","substitution","substitution_artifact","subtelomere","sugar_edge_base_pair","supercontig","symbiosis_island","symmetric_RNA_internal_loop","syntenic_region","synthetic_oligo","tRNA","tRNA_SINE_retrotransposon","tRNA_gene","tRNA_intron","tRNA_primary_transcript","tRNA_region","tag","tandem_duplication","tandem_repeat","target_site_duplication","targeting_vector","tasiRNA","tasiRNA_primary_transcript","teb1_recognition_motif","telomerase_RNA","telomerase_RNA_gene","telomere","telomeric_D_loop","telomeric_repeat","telomeric_transcript","template_region","terminal_inverted_repeat","terminal_inverted_repeat_element","terminal_repeat","terminator","terminator_of_type_2_RNApol_III_promoter","tetraloop","tetranucleotide_repeat_microsatellite_feature","three_methylcytidine","three_methylpseudouridine","three_methyluridine","three_prime_D_heptamer","three_prime_D_nonamer","three_prime_D_recombination_signal_sequence","three_prime_D_spacer","three_prime_EST","three_prime_LTR","three_prime_LTR_component","three_prime_RACE_clone","three_prime_RST","three_prime_UST","three_prime_UTR","three_prime_UTR_intron","three_prime_cis_splice_site","three_prime_clip","three_prime_coding_exon","three_prime_coding_exon_coding_region","three_prime_coding_exon_noncoding_region","three_prime_flanking_region","three_prime_intron","three_prime_noncoding_exon","three_prime_overlapping_ncrna","three_prime_recoding_site","three_prime_repeat_recoding_signal","three_prime_restriction_enzyme_junction","three_prime_stem_loop_structure","three_prime_sticky_end_restriction_enzyme_cleavage_site","three_prime_terminal_inverted_repeat","three_ten_helix","three_three_amino_three_carboxypropyl_uridine","three_two_prime_O_dimethyluridine","threonine","threonine_tRNA_primary_transcript","threonyl_tRNA","tiling_path","tiling_path_clone","tiling_path_fragment","tmRNA","tmRNA_acceptor_piece","tmRNA_coding_piece","tmRNA_gene","tmRNA_primary_transcript","tmRNA_region","tnaORF","topologically_associated_domain","topologically_associated_domain_boundary","topologically_defined_region","trans_splice_acceptor_site","trans_splice_donor_site","trans_splice_junction","trans_splice_site","trans_spliced_mRNA","trans_spliced_transcript","transcribed_cluster","transcribed_fragment","transcribed_processed_pseudogene","transcribed_spacer_region","transcribed_unitary_pseudogene","transcribed_unprocessed_pseudogene","transcript","transcript_bound_by_nucleic_acid","transcript_bound_by_protein","transcript_region","transcript_with_translational_frameshift","transcription_end_site","transcription_factor_regulatory_site","transcription_pause_site","transcription_start_cluster","transcription_termination_signal","transcription_unit","transcriptional_cis_regulatory_region","transgene","transgenic_insertion","transgenic_transposable_element","transit_peptide","transit_peptide_region_of_CDS","transition","translated_nucleotide_match","translated_processed_pseudogene","translated_unprocessed_pseudogene","translation_regulatory_region","translational_frameshift","translationally_regulated_gene","translocation","translocation_breakpoint","translocation_element","transmembrane_helix","transmembrane_polypeptide_region","transposable_element","transposable_element_CDS","transposable_element_flanking_region","transposable_element_gene","transposable_element_insertion_site","transposable_element_pseudogene","transposon_fragment","transversion","trinucleotide_repeat_microsatellite_feature","tryptophan","tryptophan_tRNA_primary_transcript","tryptophanyl_tRNA","twintron","two_methyladenosine","two_methylthio_N6_cis_hydroxyisopentenyl_adenosine","two_methylthio_N6_hydroxynorvalyl_carbamoyladenosine","two_methylthio_N6_isopentenyladenosine","two_methylthio_N6_methyladenosine","two_methylthio_N6_threonyl_carbamoyladenosine","two_prime_O_methyladenosine","two_prime_O_methylcytidine","two_prime_O_methylguanosine","two_prime_O_methylinosine","two_prime_O_methylpseudouridine","two_prime_O_methyluridine","two_prime_O_ribosyladenosine_phosphate","two_prime_O_ribosylguanosine_phosphate","two_thio_two_prime_O_methyluridine","two_thiocytidine","two_thiouridine","tyrosine","tyrosine_tRNA_primary_transcript","tyrosyl_tRNA","uORF","ultracontig","unassigned_supercontig","unconfirmed_transcript","undermodified_hydroxywybutosine","unedited_region","unigene_cluster","unit_of_gene_expression","unitary_pseudogene","unitary_pseudogenic_rRNA","unitary_pseudogenic_tRNA","unprocessed_pseudogenic_rRNA","unprocessed_pseudogenic_tRNA","unspecified_indel","untranslated_region_polycistronic_mRNA","upstream_AUG_codon","uridine_five_oxyacetic_acid","uridine_five_oxyacetic_acid_methyl_ester","vacuolar_sorting_signal","validated_cDNA_clone","valine","valine_tRNA_primary_transcript","valyl_tRNA","vaultRNA_primary_transcript","vault_RNA","vault_RNA_gene","vector_replicon","vertebrate_immune_system_gene","vertebrate_immune_system_gene_recombination_feature","vertebrate_immune_system_gene_recombination_signal_feature","vertebrate_immune_system_gene_recombination_spacer","vertebrate_immune_system_pseudogene","vertebrate_immunoglobulin_T_cell_receptor_gene_cluster","vertebrate_immunoglobulin_T_cell_receptor_rearranged_gene_cluster","vertebrate_immunoglobulin_T_cell_receptor_rearranged_segment","vertebrate_immunoglobulin_T_cell_receptor_segment","viral_promoter","viral_sequence","virtual_sequence","wild_type_rescue_gene","wobble_base_pair","wybutosine","wyosine","zinc_finger_binding_site","zinc_repressed_element"],Object.defineProperty(uu,"__esModule",{value:!0}),uu.CoreValidation=void 0,uu.isTypeChange=fu;var lu=et.__importDefault(cu);function fu(e){return"oldType"in e&&"newType"in e}var du=function(e){oe(o,e);var t,n,r=fe(o);function o(){var e;ee(this,o);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return re(le(e=r.call.apply(r,[this].concat(n))),"name","Core"),e}return ne(o,[{key:"frontendPreValidate",value:(n=Q(Y().mark((function e(t){var n,r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!fu(t)){e.next=18;break}n=we(t.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=10;break}if(lu.default.includes((o=r.value).newType)){e.next=8;break}return e.abrupt("return",{validationName:this.name,error:{message:'"'.concat(o.newType,'" is not a valid SO sequence_feature term')}});case 8:e.next=4;break;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(2),n.e(e.t0);case 15:return e.prev=15,n.f(),e.finish(15);case 18:return e.abrupt("return",{validationName:this.name});case 19:case"end":return e.stop()}}),e,this,[[2,12,15,18]])}))),function(e){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("type"!==t){e.next=2;break}return e.abrupt("return",lu.default);case 2:return e.abrupt("return");case 3:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),o}(ru.Validation);uu.CoreValidation=du;var hu={};Object.defineProperty(hu,"__esModule",{value:!0}),hu.ParentChildValidation=void 0;var pu=rr,mu=function(e){oe(o,e);var t,n,r=fe(o);function o(){var e;ee(this,o);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return re(le(e=r.call.apply(r,[this].concat(n))),"name","ParentChildValidation"),e}return ne(o,[{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){var r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.session,!(0,pu.isLocationEndChange)(t)&&!(0,pu.isLocationStartChange)(t)){e.next=3;break}return e.abrupt("return",this.validateParentChildRelationships(t,{session:o,featureModel:r}));case 3:return e.abrupt("return",{validationName:this.name});case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"validateParentChildRelationships",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,i=[],a=we(t.changes),e.prev=3,u=Y().mark((function e(){var t,n,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.value.featureId,e.next=4,r.findOne({allIds:t}).session(o).exec();case 4:if(n=e.sent){e.next=8;break}throw a="ERROR: The following featureId was not found in database ='".concat(t,"'"),new Error(a);case 8:i.some((function(e){return e._id===n._id}))||i.push(n);case 9:case"end":return e.stop()}}),e)})),a.s();case 6:if((s=a.n()).done){e.next=10;break}return e.delegateYield(u(),"t0",8);case 8:e.next=6;break;case 10:e.next=15;break;case 12:e.prev=12,e.t1=e.catch(3),a.e(e.t1);case 15:return e.prev=15,a.f(),e.finish(15);case 18:c=0,l=i;case 19:if(!(c<l.length)){e.next=31;break}f=l[c],e.prev=21,this.checkChildFeatureBoundaries(f),e.next=28;break;case 25:return e.prev=25,e.t2=e.catch(21),e.abrupt("return",{validationName:this.name,error:{message:String(e.t2)}});case 28:c++,e.next=19;break;case 31:return e.abrupt("return",{validationName:this.name});case 32:case"end":return e.stop()}}),e,this,[[3,12,15,18],[21,25]])}))),function(e,n){return t.apply(this,arguments)})},{key:"checkChildFeatureBoundaries",value:function(e){if(e.children){var t,n=we(e.children||new Map);try{for(n.s();!(t=n.n()).done;){var r=he(t.value,2)[1];if(null!==e.min&&null!==e.max&&null!==r.min&&null!==r.max&&(r.max>e.max||r.min<e.min))throw new Error('Feature "'.concat(r._id,'" exceeds the bounds of its parent, "').concat(e._id,'"'));this.checkChildFeatureBoundaries(r)}}catch(e){n.e(e)}finally{n.f()}}}}]),o}(ru.Validation);hu.ParentChildValidation=mu,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(ru,e),t.__exportStar(iu,e),t.__exportStar(uu,e),t.__exportStar(hu,e)}(nu);var gu={},yu={};function vu(e){this.message=e}(vu.prototype=new Error).name="InvalidCharacterError";var _u="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new vu("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,i=0,a="";r=t.charAt(i++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a};function bu(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(_u(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return _u(t)}}function wu(e){this.message=e}(wu.prototype=new Error).name="InvalidTokenError";var Su={__proto__:null,default:function(e,t){if("string"!=typeof e)throw new wu("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(bu(e.split(".")[n]))}catch(e){throw new wu("Invalid token specified: "+e.message)}},InvalidTokenError:wu},xu=B(Su);Object.defineProperty(yu,"__esModule",{value:!0}),yu.makeUserSessionId=function(e){var t="string"==typeof e?(0,ku.default)(e):e;return"".concat(t.id,"-").concat(t.iat)},yu.getDecodedToken=function(e){return(0,ku.default)(e)};var ku=et.__importDefault(xu);!function(e){Object.defineProperty(e,"__esModule",{value:!0}),et.__exportStar(yu,e)}(gu);var Eu={},Au={};Object.defineProperty(Au,"__esModule",{value:!0}),Au.CDSCheck=void 0;var Cu,Ou=ar,Ru=O.default,Nu=et.__importDefault(Jn);!function(e){e[e.TAG=0]="TAG",e[e.TAA=1]="TAA",e[e.TGA=2]="TGA"}(Cu||(Cu={}));var Iu={G:"C",A:"T",T:"A",C:"G",R:"Y",Y:"R",M:"K",K:"M",S:"S",W:"W",H:"D",B:"V",V:"B",D:"H",N:"N"};function Pu(e){var t,n=[],r=we(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,i=Iu[o.toUpperCase()];if(void 0===i)throw new TypeError('Cannot complement nucleotide: "'.concat(o,'"'));o===o.toLowerCase()?n.push(i.toLowerCase()):n.push(i)}}catch(e){r.e(e)}finally{r.f()}return n.reverse().join("")}function Tu(e,t,n){return Mu.apply(this,arguments)}function Mu(){return(Mu=Q(Y().mark((function e(t,n,r){var o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return r(e.min,e.max)})));case 2:if(o=e.sent,-1!==n){e.next=5;break}return e.abrupt("return",o.map((function(e){return Pu(e)})).join(""));case 5:return e.abrupt("return",o.join(""));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ju(e){for(var t=[],n=0;n<=e.length-3;n+=3)t.push(e.slice(n,n+3));return t}function Fu(e,t,n){var r,o=3*n,i=o+3,a=void 0,s=void 0,u=we(e);try{for(u.s();!(r=u.n()).done;){var c=r.value,l=c.max-c.min;if(void 0===a&&l>o?a=c.min+o:o-=l,void 0===s&&l>i?s=c.min+i:i-=l,void 0!==a&&void 0!==s)return[a,s]}}catch(e){u.e(e)}finally{u.f()}}function Lu(e,t){return Du.apply(this,arguments)}function Du(){return Du=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=[],o=t._id,i=t.max,a=t.min,s=t.refSeq,u=t.strand,c=qu(t)){e.next=5;break}return e.abrupt("return",r);case 5:l=[o],f=we(c),e.prev=7,f.s();case 9:if((d=f.n()).done){e.next=20;break}return h=d.value,e.next=13,Tu(h,u,n);case 13:m=ju(p=e.sent),p.length%3==0?(g=m.pop())&&!(g.toUpperCase()in Cu)&&r.push({_id:(new Nu.default).toHexString(),name:"MissingStopCodonCheck",ids:l,refSeq:s.toString(),start:i,end:i,message:'Feature "'.concat(o,'" is missing a stop codon')}):r.push({_id:(new Nu.default).toHexString(),name:"MultipleOfThreeCheck",ids:l,refSeq:s.toString(),start:a,end:i,message:'The coding sequence for feature "'.concat(o,'" is not a multiple of three')}),y=we(m.entries());try{for(y.s();!(v=y.n()).done;)_=he(v.value,2),b=_[1],(w=Fu(h,0,_[0]))&&b.toUpperCase()in Cu&&(S=he(w,2),x=S[0],k=S[1],r.push({_id:(new Nu.default).toHexString(),name:"InternalStopCodonCheck",ids:l,refSeq:s.toString(),start:x,end:k,message:'The coding sequence for feature "'.concat(o,'" has an internal stop codon')}))}catch(e){y.e(e)}finally{y.f()}case 18:e.next=9;break;case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(7),f.e(e.t0);case 25:return e.prev=25,f.f(),e.finish(25);case 28:return e.abrupt("return",r);case 29:case"end":return e.stop()}}),e,null,[[7,22,25,28]])}))),Du.apply(this,arguments)}function qu(e){if("mRNA"===e.type){var t=e.children,n=e.strand;if(t){var r=Object.values(t).filter((function(e){return"CDS"===e.type}));if(0!==r.length){var o,i=[],a=we(r);try{var s=function(){for(var e=o.value,r=e.max,a=e.min,s=[],u=0,c=Object.values(t);u<c.length;u++){var l=c[u];if("exon"===l.type){var f=he((0,Ru.intersection2)(a,r,l.min,l.max),2),d=f[0],h=f[1];void 0!==d&&void 0!==h&&s.push({min:d,max:h})}}s.sort((function(e,t){return e.min-t.min})),-1===n&&s.reverse();var p=0,m=s.map((function(e){var t=p;return p=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));i.push(m)};for(a.s();!(o=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}return i}}}}var Bu=function(e){oe(r,e);var t,n=fe(r);function r(){var e;ee(this,r);for(var t=arguments.length,o=new Array(t),i=0;i<t;i++)o[i]=arguments[i];return re(le(e=n.call.apply(n,[this].concat(o))),"name","CDSCheck"),re(le(e),"version",1),re(le(e),"default",!0),e}return ne(r,[{key:"checkFeature",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("mRNA"!==t.type){e.next=2;break}return e.abrupt("return",Lu(t,n));case 2:if(t.children){e.next=4;break}return e.abrupt("return",[]);case 4:r=[],o=0,i=Object.values(t.children);case 6:if(!(o<i.length)){e.next=19;break}return a=i[o],e.t0=r.push,e.t1=r,e.t2=me,e.next=13,this.checkFeature(a,n);case 13:e.t3=e.sent,e.t4=(0,e.t2)(e.t3),e.t0.apply.call(e.t0,e.t1,e.t4);case 16:o++,e.next=6;break;case 19:return e.abrupt("return",r);case 20:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),r}(Ou.Check);Au.CDSCheck=Bu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),et.__exportStar(Au,e)}(Eu);var Uu={};Object.defineProperty(Uu,"__esModule",{value:!0}),Uu.makeGFF3Feature=function e(t,n,r){var o,i,a=[{start:t.min,end:t.max}],s=JSON.parse(JSON.stringify(t.attributes)),u=[],c=null!==(o=null===(i=t.attributes)||void 0===i||null===(i=i.source)||void 0===i?void 0:i[0])&&void 0!==o?o:null;return delete s.source,n&&(s.Parent=[n]),s._id&&(s.ID=s._id,delete s._id),s.gff_name&&(s.Name=s.gff_name,delete s.gff_name),s.gff_alias&&(s.Alias=s.gff_alias,delete s.gff_alias),s.gff_target&&(s.Target=s.gff_target,delete s.gff_target),s.gff_gap&&(s.Gap=s.gff_gap,delete s.gff_gap),s.gff_derives_from&&(s.Derives_from=s.gff_derives_from,delete s.gff_derives_from),s.gff_note&&(s.Note=s.gff_note,delete s.gff_note),s.gff_dbxref&&(s.Dbxref=s.gff_dbxref,delete s.gff_dbxref),s.gff_is_circular&&(s.Is_circular=s.gff_is_circular,delete s.gff_is_circular),s.gff_ontology_term&&(u.push.apply(u,me(s.gff_ontology_term)),delete s.gff_ontology_term),s["Gene Ontology"]&&(u.push.apply(u,me(s["Gene Ontology"])),delete s["Gene Ontology"]),s["Sequence Ontology"]&&(u.push.apply(u,me(s["Sequence Ontology"])),delete s["Sequence Ontology"]),u.length>0&&(s.Ontology_term=u),a.map((function(n){var o;return{start:n.start+1,end:n.end,seq_id:r?null!==(o=r[t.refSeq])&&void 0!==o?o:null:t.refSeq,source:c,type:t.type,score:null,strand:t.strand?1===t.strand?"+":"-":null,phase:null,attributes:Object.keys(s).length>0?s:null,derived_features:[],child_features:t.children?Object.values(t.children).map((function(t){var n;return e(t,null===(n=s.ID)||void 0===n?void 0:n[0],r)})):[]}}))},Uu.splitStringIntoChunks=function(e,t){for(var n=[],r=0;r<e.length;r+=t){var o=e.slice(r,r+t);n.push(o)}return n};var zu={};Object.defineProperty(zu,"__esModule",{value:!0}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(rr,e),t.__exportStar(Zs,e),t.__exportStar(nu,e),t.__exportStar(gu,e),t.__exportStar(Eu,e),t.__exportStar(Uu,e),t.__exportStar(zu,e),t.__exportStar(Ar,e)}(nr);var Gu={},Hu={exports:{}};!function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}(Hu);var Wu={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=R.default}(Wu);var Vu=Hu.exports;Object.defineProperty(Gu,"__esModule",{value:!0});var $u=Gu.default=void 0;$u=Gu.default=(0,Vu(Wu).default)((0,N.default.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");const Ju=r.ConfigurationSchema("ApolloInternetAccount",{baseURL:{description:"Location of Apollo server",type:"string",defaultValue:""},tokenType:{description:"A custom name for a token to include in the header",type:"string",defaultValue:"Bearer"}},{baseConfiguration:o.BaseInternetAccountConfig,explicitlyTyped:!0});var Ku=Object.create(null);Ku.open="0",Ku.close="1",Ku.ping="2",Ku.pong="3",Ku.message="4",Ku.upgrade="5",Ku.noop="6";var Yu=Object.create(null);Object.keys(Ku).forEach((function(e){Yu[Ku[e]]=e}));var Zu,Xu={type:"error",data:"parser error"},Qu="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),ec="function"==typeof ArrayBuffer,tc=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer},nc=function(e,t,n){var r=e.type,o=e.data;return Qu&&o instanceof Blob?t?n(o):rc(o,n):ec&&(o instanceof ArrayBuffer||tc(o))?t?n(o):rc(new Blob([o]),n):n(Ku[r]+(o||""))},rc=function(e,t){var n=new FileReader;return n.onload=function(){var e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function oc(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}for(var ic="undefined"==typeof Uint8Array?[]:new Uint8Array(256),ac=0;ac<64;ac++)ic["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(ac)]=ac;var sc,uc="function"==typeof ArrayBuffer,cc=function(e,t){if("string"!=typeof e)return{type:"message",data:fc(e,t)};var n=e.charAt(0);return"b"===n?{type:"message",data:lc(e.substring(1),t)}:Yu[n]?e.length>1?{type:Yu[n],data:e.substring(1)}:{type:Yu[n]}:Xu},lc=function(e,t){if(uc){var n=function(e){var t,n,r,o,i,a=.75*e.length,s=e.length,u=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);var c=new ArrayBuffer(a),l=new Uint8Array(c);for(t=0;t<s;t+=4)n=ic[e.charCodeAt(t)],r=ic[e.charCodeAt(t+1)],o=ic[e.charCodeAt(t+2)],i=ic[e.charCodeAt(t+3)],l[u++]=n<<2|r>>4,l[u++]=(15&r)<<4|o>>2,l[u++]=(3&o)<<6|63&i;return c}(e);return fc(n,t)}return{base64:!0,data:e}},fc=function(e,t){return"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer},dc=String.fromCharCode(30);function hc(e){return e.reduce((function(e,t){return e+t.length}),0)}function pc(e,t){if(e[0].length===t)return e.shift();for(var n=new Uint8Array(t),r=0,o=0;o<t;o++)n[o]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function mc(e){if(e)return function(e){for(var t in mc.prototype)e[t]=mc.prototype[t];return e}(e)}mc.prototype.on=mc.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},mc.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},mc.prototype.off=mc.prototype.removeListener=mc.prototype.removeAllListeners=mc.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<r.length;o++)if((n=r[o])===t||n.fn===t){r.splice(o,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},mc.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var o=(n=n.slice(0)).length;r<o;++r)n[r].apply(this,t)}return this},mc.prototype.emitReserved=mc.prototype.emit,mc.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},mc.prototype.hasListeners=function(e){return!!this.listeners(e).length};var gc=function(){return"undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")()}();function yc(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce((function(t,n){return e.hasOwnProperty(n)&&(t[n]=e[n]),t}),{})}var vc=gc.setTimeout,_c=gc.clearTimeout;function bc(e,t){t.useNativeTimers?(e.setTimeoutFn=vc.bind(gc),e.clearTimeoutFn=_c.bind(gc)):(e.setTimeoutFn=gc.setTimeout.bind(gc),e.clearTimeoutFn=gc.clearTimeout.bind(gc))}var wc,Sc=function(e){oe(n,e);var t=fe(n);function n(e,r,o){var i;return ee(this,n),(i=t.call(this,e)).description=r,i.context=o,i.type="TransportError",i}return ne(n)}(ce(Error)),xc=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this)).writable=!1,bc(le(r),e),r.opts=e,r.query=e.query,r.socket=e.socket,r}return ne(n,[{key:"onError",value:function(e,t,r){return de(ie(n.prototype),"emitReserved",this).call(this,"error",new Sc(e,t,r)),this}},{key:"open",value:function(){return this.readyState="opening",this.doOpen(),this}},{key:"close",value:function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}},{key:"send",value:function(e){"open"===this.readyState&&this.write(e)}},{key:"onOpen",value:function(){this.readyState="open",this.writable=!0,de(ie(n.prototype),"emitReserved",this).call(this,"open")}},{key:"onData",value:function(e){var t=cc(e,this.socket.binaryType);this.onPacket(t)}},{key:"onPacket",value:function(e){de(ie(n.prototype),"emitReserved",this).call(this,"packet",e)}},{key:"onClose",value:function(e){this.readyState="closed",de(ie(n.prototype),"emitReserved",this).call(this,"close",e)}},{key:"pause",value:function(e){}},{key:"createUri",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}},{key:"_hostname",value:function(){var e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}},{key:"_port",value:function(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}},{key:"_query",value:function(e){var t=function(e){var t="";for(var n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}(e);return t.length?"?"+t:""}}]),n}(mc),kc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Ec=64,Ac=0;function Cc(e){var t="";do{t=kc[e%Ec]+t,e=Math.floor(e/Ec)}while(e>0);return t}function Oc(){var e=Cc(+new Date);return e!==wc?(Ac=0,wc=e):e+"."+Cc(Ac++)}var Rc=!1;try{Rc="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(ri){}var Nc=Rc;function Ic(e){var t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||Nc))return new XMLHttpRequest}catch(e){}if(!t)try{return new(gc[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function Pc(){}var Tc=function(){return null!=new Ic({xdomain:!1}).responseType}(),Mc=function(e){oe(n,e);var t=fe(n);function n(e){var r;if(ee(this,n),(r=t.call(this,e)).polling=!1,"undefined"!=typeof location){var o="https:"===location.protocol,i=location.port;i||(i=o?"443":"80"),r.xd="undefined"!=typeof location&&e.hostname!==location.hostname||i!==e.port}return r.supportsBinary=Tc&&!(e&&e.forceBase64),r.opts.withCredentials&&(r.cookieJar=void 0),r}return ne(n,[{key:"name",get:function(){return"polling"}},{key:"doOpen",value:function(){this.poll()}},{key:"pause",value:function(e){var t=this;this.readyState="pausing";var n=function(){t.readyState="paused",e()};if(this.polling||!this.writable){var r=0;this.polling&&(r++,this.once("pollComplete",(function(){--r||n()}))),this.writable||(r++,this.once("drain",(function(){--r||n()})))}else n()}},{key:"poll",value:function(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}},{key:"onData",value:function(e){var t=this;(function(e,t){for(var n=e.split(dc),r=[],o=0;o<n.length;o++){var i=cc(n[o],t);if(r.push(i),"error"===i.type)break}return r})(e,this.socket.binaryType).forEach((function(e){if("opening"===t.readyState&&"open"===e.type&&t.onOpen(),"close"===e.type)return t.onClose({description:"transport closed by the server"}),!1;t.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}},{key:"doClose",value:function(){var e=this,t=function(){e.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}},{key:"write",value:function(e){var t=this;this.writable=!1,function(e,n){var r=e.length,o=new Array(r),i=0;e.forEach((function(e,n){nc(e,!1,(function(e){var a;o[n]=e,++i===r&&(a=o.join(dc),t.doWrite(a,(function(){t.writable=!0,t.emitReserved("drain")})))}))}))}(e)}},{key:"uri",value:function(){var e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=Oc()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}},{key:"request",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new jc(this.uri(),e)}},{key:"doWrite",value:function(e,t){var n=this,r=this.request({method:"POST",data:e});r.on("success",t),r.on("error",(function(e,t){n.onError("xhr post error",e,t)}))}},{key:"doPoll",value:function(){var e=this,t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(function(t,n){e.onError("xhr poll error",t,n)})),this.pollXhr=t}}]),n}(xc),jc=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),bc(le(o=t.call(this)),r),o.opts=r,o.method=r.method||"GET",o.uri=e,o.data=void 0!==r.data?r.data:null,o.create(),o}return ne(n,[{key:"create",value:function(){var e,t=this,r=yc(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this.opts.xd;var o=this.xhr=new Ic(r);try{o.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders)for(var i in o.setDisableHeaderCheck&&o.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&o.setRequestHeader(i,this.opts.extraHeaders[i])}catch(e){}if("POST"===this.method)try{o.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{o.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(o),"withCredentials"in o&&(o.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(o.timeout=this.opts.requestTimeout),o.onreadystatechange=function(){var e;3===o.readyState&&(null===(e=t.opts.cookieJar)||void 0===e||e.parseCookies(o)),4===o.readyState&&(200===o.status||1223===o.status?t.onLoad():t.setTimeoutFn((function(){t.onError("number"==typeof o.status?o.status:0)}),0))},o.send(this.data)}catch(e){return void this.setTimeoutFn((function(){t.onError(e)}),0)}"undefined"!=typeof document&&(this.index=n.requestsCount++,n.requests[this.index]=this)}},{key:"onError",value:function(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(e){if(null!=this.xhr){if(this.xhr.onreadystatechange=Pc,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete n.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),n}(mc);function Fc(){for(var e in jc.requests)jc.requests.hasOwnProperty(e)&&jc.requests[e].abort()}jc.requestsCount=0,jc.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",Fc):"function"==typeof addEventListener&&addEventListener("onpagehide"in gc?"pagehide":"unload",Fc,!1));var Lc=function(){return"function"==typeof Promise&&"function"==typeof Promise.resolve?function(e){return Promise.resolve().then(e)}:function(e,t){return t(e,0)}}(),Dc=gc.WebSocket||gc.MozWebSocket,qc="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),Bc=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this,e)).supportsBinary=!e.forceBase64,r}return ne(n,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var e=this.uri(),t=this.opts.protocols,n=qc?{}:yc(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=qc?new Dc(e,t,n):t?new Dc(e,t):new Dc(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}}},{key:"addEventListeners",value:function(){var e=this;this.ws.onopen=function(){e.opts.autoUnref&&e.ws._socket.unref(),e.onOpen()},this.ws.onclose=function(t){return e.onClose({description:"websocket connection closed",context:t})},this.ws.onmessage=function(t){return e.onData(t.data)},this.ws.onerror=function(t){return e.onError("websocket error",t)}}},{key:"write",value:function(e){var t=this;this.writable=!1;for(var n=function(){var n=r===e.length-1;nc(e[r],t.supportsBinary,(function(e){try{t.ws.send(e)}catch(e){}n&&Lc((function(){t.writable=!0,t.emitReserved("drain")}),t.setTimeoutFn)}))},r=0;r<e.length;r++)n()}},{key:"doClose",value:function(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}},{key:"uri",value:function(){var e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=Oc()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},{key:"check",value:function(){return!!Dc}}]),n}(xc),Uc=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"name",get:function(){return"webtransport"}},{key:"doOpen",value:function(){var e=this;"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((function(){e.onClose()})).catch((function(t){e.onError("webtransport error",t)})),this.transport.ready.then((function(){e.transport.createBidirectionalStream().then((function(t){var n=function(e,t){sc||(sc=new TextDecoder);var n=[],r=0,o=-1,i=!1;return new TransformStream({transform:function(a,s){for(n.push(a);;){if(0===r){if(hc(n)<1)break;var u=pc(n,1);i=128==(128&u[0]),r=(o=127&u[0])<126?3:126===o?1:2}else if(1===r){if(hc(n)<2)break;var c=pc(n,2);o=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),r=3}else if(2===r){if(hc(n)<8)break;var l=pc(n,8),f=new DataView(l.buffer,l.byteOffset,l.length),d=f.getUint32(0);if(d>Math.pow(2,21)-1){s.enqueue(Xu);break}o=d*Math.pow(2,32)+f.getUint32(4),r=3}else{if(hc(n)<o)break;var h=pc(n,o);s.enqueue(cc(i?h:sc.decode(h),t)),r=0}if(0===o||o>e){s.enqueue(Xu);break}}}})}(Number.MAX_SAFE_INTEGER,e.socket.binaryType),r=t.readable.pipeThrough(n).getReader(),o=new TransformStream({transform:function(e,t){!function(e,t){Qu&&e.data instanceof Blob?e.data.arrayBuffer().then(oc).then(t):ec&&(e.data instanceof ArrayBuffer||tc(e.data))?t(oc(e.data)):nc(e,!1,(function(e){Zu||(Zu=new TextEncoder),t(Zu.encode(e))}))}(e,(function(n){var r,o=n.length;if(o<126)r=new Uint8Array(1),new DataView(r.buffer).setUint8(0,o);else if(o<65536){r=new Uint8Array(3);var i=new DataView(r.buffer);i.setUint8(0,126),i.setUint16(1,o)}else{r=new Uint8Array(9);var a=new DataView(r.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(o))}e.data&&"string"!=typeof e.data&&(r[0]|=128),t.enqueue(r),t.enqueue(n)}))}});o.readable.pipeTo(t.writable),e.writer=o.writable.getWriter(),function t(){r.read().then((function(n){n.done||(e.onPacket(n.value),t())})).catch((function(e){}))}();var i={type:"open"};e.query.sid&&(i.data='{"sid":"'.concat(e.query.sid,'"}')),e.writer.write(i).then((function(){return e.onOpen()}))}))})))}},{key:"write",value:function(e){var t=this;this.writable=!1;for(var n=function(){var n=r===e.length-1;t.writer.write(e[r]).then((function(){n&&Lc((function(){t.writable=!0,t.emitReserved("drain")}),t.setTimeoutFn)}))},r=0;r<e.length;r++)n()}},{key:"doClose",value:function(){var e;null===(e=this.transport)||void 0===e||e.close()}}]),n}(xc),zc={websocket:Bc,webtransport:Uc,polling:Mc},Gc=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Hc=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Wc(e){var t,n,r=e,o=e.indexOf("["),i=e.indexOf("]");-1!=o&&-1!=i&&(e=e.substring(0,o)+e.substring(o,i).replace(/:/g,";")+e.substring(i,e.length));for(var a,s=Gc.exec(e||""),u={},c=14;c--;)u[Hc[c]]=s[c]||"";return-1!=o&&-1!=i&&(u.source=r,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=(n=(t=u.path).replace(/\/{2,9}/g,"/").split("/"),"/"!=t.slice(0,1)&&0!==t.length||n.splice(0,1),"/"==t.slice(-1)&&n.splice(n.length-1,1),n),u.queryKey=(a={},u.query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(a[t]=n)})),a),u}var Vc=function(e){oe(n,e);var t=fe(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ee(this,n),(r=t.call(this)).binaryType="arraybuffer",r.writeBuffer=[],e&&"object"===Z(e)&&(o=e,e=null),e?(e=Wc(e),o.hostname=e.host,o.secure="https"===e.protocol||"wss"===e.protocol,o.port=e.port,e.query&&(o.query=e.query)):o.host&&(o.hostname=Wc(o.host).host),bc(le(r),o),r.secure=null!=o.secure?o.secure:"undefined"!=typeof location&&"https:"===location.protocol,o.hostname&&!o.port&&(o.port=r.secure?"443":"80"),r.hostname=o.hostname||("undefined"!=typeof location?location.hostname:"localhost"),r.port=o.port||("undefined"!=typeof location&&location.port?location.port:r.secure?"443":"80"),r.transports=o.transports||["polling","websocket","webtransport"],r.writeBuffer=[],r.prevBufferLen=0,r.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},o),r.opts.path=r.opts.path.replace(/\/$/,"")+(r.opts.addTrailingSlash?"/":""),"string"==typeof r.opts.query&&(r.opts.query=function(e){for(var t={},n=e.split("&"),r=0,o=n.length;r<o;r++){var i=n[r].split("=");t[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return t}(r.opts.query)),r.id=null,r.upgrades=null,r.pingInterval=null,r.pingTimeout=null,r.pingTimeoutTimer=null,"function"==typeof addEventListener&&(r.opts.closeOnBeforeunload&&(r.beforeunloadEventListener=function(){r.transport&&(r.transport.removeAllListeners(),r.transport.close())},addEventListener("beforeunload",r.beforeunloadEventListener,!1)),"localhost"!==r.hostname&&(r.offlineEventListener=function(){r.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",r.offlineEventListener,!1))),r.open(),r}return ne(n,[{key:"createTransport",value:function(e){var t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);var n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new zc[e](n)}},{key:"open",value:function(){var e,t=this;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((function(){t.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}},{key:"setTransport",value:function(e){var t=this;this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(function(e){return t.onClose("transport close",e)}))}},{key:"probe",value:function(e){var t=this,r=this.createTransport(e),o=!1;n.priorWebsocketSuccess=!1;var i=function(){o||(r.send([{type:"ping",data:"probe"}]),r.once("packet",(function(e){if(!o)if("pong"===e.type&&"probe"===e.data){if(t.upgrading=!0,t.emitReserved("upgrading",r),!r)return;n.priorWebsocketSuccess="websocket"===r.name,t.transport.pause((function(){o||"closed"!==t.readyState&&(f(),t.setTransport(r),r.send([{type:"upgrade"}]),t.emitReserved("upgrade",r),r=null,t.upgrading=!1,t.flush())}))}else{var i=new Error("probe error");i.transport=r.name,t.emitReserved("upgradeError",i)}})))};function a(){o||(o=!0,f(),r.close(),r=null)}var s=function(e){var n=new Error("probe error: "+e);n.transport=r.name,a(),t.emitReserved("upgradeError",n)};function u(){s("transport closed")}function c(){s("socket closed")}function l(e){r&&e.name!==r.name&&a()}var f=function(){r.removeListener("open",i),r.removeListener("error",s),r.removeListener("close",u),t.off("close",c),t.off("upgrading",l)};r.once("open",i),r.once("error",s),r.once("close",u),this.once("close",c),this.once("upgrading",l),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((function(){o||r.open()}),200):r.open()}},{key:"onOpen",value:function(){if(this.readyState="open",n.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade)for(var e=0,t=this.upgrades.length;e<t;e++)this.probe(this.upgrades[e])}},{key:"onPacket",value:function(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":var t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}},{key:"onHandshake",value:function(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}},{key:"resetPingTimeout",value:function(){var e=this;this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((function(){e.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}},{key:"onDrain",value:function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}},{key:"flush",value:function(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){var e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}},{key:"getWritablePackets",value:function(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;for(var e,t=1,n=0;n<this.writeBuffer.length;n++){var r=this.writeBuffer[n].data;if(r&&(t+="string"==typeof(e=r)?function(e){for(var t=0,n=0,r=0,o=e.length;r<o;r++)(t=e.charCodeAt(r))<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(e):Math.ceil(1.33*(e.byteLength||e.size))),n>0&&t>this.maxPayload)return this.writeBuffer.slice(0,n);t+=2}return this.writeBuffer}},{key:"write",value:function(e,t,n){return this.sendPacket("message",e,t,n),this}},{key:"send",value:function(e,t,n){return this.sendPacket("message",e,t,n),this}},{key:"sendPacket",value:function(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"!==this.readyState&&"closed"!==this.readyState){(n=n||{}).compress=!1!==n.compress;var o={type:e,data:t,options:n};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),r&&this.once("flush",r),this.flush()}}},{key:"close",value:function(){var e=this,t=function(){e.onClose("forced close"),e.transport.close()},n=function n(){e.off("upgrade",n),e.off("upgradeError",n),t()},r=function(){e.once("upgrade",n),e.once("upgradeError",n)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){e.upgrading?r():t()})):this.upgrading?r():t()),this}},{key:"onError",value:function(e){n.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}},{key:"onClose",value:function(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(e){for(var t=[],n=0,r=e.length;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}]),n}(mc);Vc.protocol=4;var $c="function"==typeof ArrayBuffer,Jc=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer},Kc=Object.prototype.toString,Yc="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Kc.call(Blob),Zc="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===Kc.call(File);function Xc(e){return $c&&(e instanceof ArrayBuffer||Jc(e))||Yc&&e instanceof Blob||Zc&&e instanceof File}function Qc(e,t){if(!e||"object"!==Z(e))return!1;if(Array.isArray(e)){for(var n=0,r=e.length;n<r;n++)if(Qc(e[n]))return!0;return!1}if(Xc(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return Qc(e.toJSON(),!0);for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&Qc(e[o]))return!0;return!1}function el(e){var t=[],n=e;return n.data=tl(e.data,t),n.attachments=t.length,{packet:n,buffers:t}}function tl(e,t){if(!e)return e;if(Xc(e)){var n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){for(var r=new Array(e.length),o=0;o<e.length;o++)r[o]=tl(e[o],t);return r}if("object"===Z(e)&&!(e instanceof Date)){var i={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(i[a]=tl(e[a],t));return i}return e}function nl(e,t){return e.data=rl(e.data,t),delete e.attachments,e}function rl(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]=rl(e[n],t);else if("object"===Z(e))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=rl(e[r],t));return e}var ol,il=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(ol||(ol={}));var al=function(){function e(t){ee(this,e),this.replacer=t}return ne(e,[{key:"encode",value:function(e){return e.type!==ol.EVENT&&e.type!==ol.ACK||!Qc(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===ol.EVENT?ol.BINARY_EVENT:ol.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}},{key:"encodeAsString",value:function(e){var t=""+e.type;return e.type!==ol.BINARY_EVENT&&e.type!==ol.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}},{key:"encodeAsBinary",value:function(e){var t=el(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}]),e}();function sl(e){return"[object Object]"===Object.prototype.toString.call(e)}var ul=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this)).reviver=e,r}return ne(n,[{key:"add",value:function(e){var t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");var r=(t=this.decodeString(e)).type===ol.BINARY_EVENT;r||t.type===ol.BINARY_ACK?(t.type=r?ol.EVENT:ol.ACK,this.reconstructor=new cl(t),0===t.attachments&&de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t)):de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t)}else{if(!Xc(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");(t=this.reconstructor.takeBinaryData(e))&&(this.reconstructor=null,de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t))}}},{key:"decodeString",value:function(e){var t=0,r={type:Number(e.charAt(0))};if(void 0===ol[r.type])throw new Error("unknown packet type "+r.type);if(r.type===ol.BINARY_EVENT||r.type===ol.BINARY_ACK){for(var o=t+1;"-"!==e.charAt(++t)&&t!=e.length;);var i=e.substring(o,t);if(i!=Number(i)||"-"!==e.charAt(t))throw new Error("Illegal attachments");r.attachments=Number(i)}if("/"===e.charAt(t+1)){for(var a=t+1;++t&&","!==e.charAt(t)&&t!==e.length;);r.nsp=e.substring(a,t)}else r.nsp="/";var s=e.charAt(t+1);if(""!==s&&Number(s)==s){for(var u=t+1;++t;){var c=e.charAt(t);if(null==c||Number(c)!=c){--t;break}if(t===e.length)break}r.id=Number(e.substring(u,t+1))}if(e.charAt(++t)){var l=this.tryParse(e.substr(t));if(!n.isPayloadValid(r.type,l))throw new Error("invalid payload");r.data=l}return r}},{key:"tryParse",value:function(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}},{key:"destroy",value:function(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}],[{key:"isPayloadValid",value:function(e,t){switch(e){case ol.CONNECT:return sl(t);case ol.DISCONNECT:return void 0===t;case ol.CONNECT_ERROR:return"string"==typeof t||sl(t);case ol.EVENT:case ol.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===il.indexOf(t[0]));case ol.ACK:case ol.BINARY_ACK:return Array.isArray(t)}}}]),n}(mc),cl=function(){function e(t){ee(this,e),this.packet=t,this.buffers=[],this.reconPack=t}return ne(e,[{key:"takeBinaryData",value:function(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){var t=nl(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),e}(),ll={__proto__:null,protocol:5,get PacketType(){return ol},Encoder:al,Decoder:ul};function fl(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var dl=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),hl=function(e){oe(n,e);var t=fe(n);function n(e,r,o){var i;return ee(this,n),(i=t.call(this)).connected=!1,i.recovered=!1,i.receiveBuffer=[],i.sendBuffer=[],i._queue=[],i._queueSeq=0,i.ids=0,i.acks={},i.flags={},i.io=e,i.nsp=r,o&&o.auth&&(i.auth=o.auth),i._opts=Object.assign({},o),i.io._autoConnect&&i.open(),i}return ne(n,[{key:"disconnected",get:function(){return!this.connected}},{key:"subEvents",value:function(){if(!this.subs){var e=this.io;this.subs=[fl(e,"open",this.onopen.bind(this)),fl(e,"packet",this.onpacket.bind(this)),fl(e,"error",this.onerror.bind(this)),fl(e,"close",this.onclose.bind(this))]}}},{key:"active",get:function(){return!!this.subs}},{key:"connect",value:function(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}},{key:"open",value:function(){return this.connect()}},{key:"send",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.unshift("message"),this.emit.apply(this,t),this}},{key:"emit",value:function(e){if(dl.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(n.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;var o={type:ol.EVENT,data:n,options:{}};if(o.options.compress=!1!==this.flags.compress,"function"==typeof n[n.length-1]){var i=this.ids++,a=n.pop();this._registerAckCallback(i,a),o.id=i}return this.flags.volatile&&(!(this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable)||!this.connected)||(this.connected?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}},{key:"_registerAckCallback",value:function(e,t){var n,r=this,o=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0!==o){var i=this.io.setTimeoutFn((function(){delete r.acks[e];for(var n=0;n<r.sendBuffer.length;n++)r.sendBuffer[n].id===e&&r.sendBuffer.splice(n,1);t.call(r,new Error("operation has timed out"))}),o);this.acks[e]=function(){r.io.clearTimeoutFn(i);for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];t.apply(r,[null].concat(n))}}else this.acks[e]=t}},{key:"emitWithAck",value:function(e){for(var t=this,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise((function(n,o){r.push((function(e,t){return i?e?o(e):n(t):n(e)})),t.emit.apply(t,[e].concat(r))}))}},{key:"_addToQueue",value:function(e){var t,n=this;"function"==typeof e[e.length-1]&&(t=e.pop());var r={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((function(e){if(r===n._queue[0]){if(null!==e)r.tryCount>n._opts.retries&&(n._queue.shift(),t&&t(e));else if(n._queue.shift(),t){for(var o=arguments.length,i=new Array(o>1?o-1:0),a=1;a<o;a++)i[a-1]=arguments[a];t.apply(void 0,[null].concat(i))}return r.pending=!1,n._drainQueue()}})),this._queue.push(r),this._drainQueue()}},{key:"_drainQueue",value:function(){if(this.connected&&0!==this._queue.length){var e=this._queue[0];e.pending&&!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}}},{key:"packet",value:function(e){e.nsp=this.nsp,this.io._packet(e)}},{key:"onopen",value:function(){var e=this;"function"==typeof this.auth?this.auth((function(t){e._sendConnectPacket(t)})):this._sendConnectPacket(this.auth)}},{key:"_sendConnectPacket",value:function(e){this.packet({type:ol.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}},{key:"onerror",value:function(e){this.connected||this.emitReserved("connect_error",e)}},{key:"onclose",value:function(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}},{key:"onpacket",value:function(e){if(e.nsp===this.nsp)switch(e.type){case ol.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case ol.EVENT:case ol.BINARY_EVENT:this.onevent(e);break;case ol.ACK:case ol.BINARY_ACK:this.onack(e);break;case ol.DISCONNECT:this.ondisconnect();break;case ol.CONNECT_ERROR:this.destroy();var t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}},{key:"onevent",value:function(e){var t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}},{key:"emitEvent",value:function(e){if(this._anyListeners&&this._anyListeners.length){var t,r=we(this._anyListeners.slice());try{for(r.s();!(t=r.n()).done;)t.value.apply(this,e)}catch(e){r.e(e)}finally{r.f()}}de(ie(n.prototype),"emit",this).apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}},{key:"ack",value:function(e){var t=this,n=!1;return function(){if(!n){n=!0;for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];t.packet({type:ol.ACK,id:e,data:o})}}}},{key:"onack",value:function(e){var t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}},{key:"onconnect",value:function(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}},{key:"emitBuffered",value:function(){var e=this;this.receiveBuffer.forEach((function(t){return e.emitEvent(t)})),this.receiveBuffer=[],this.sendBuffer.forEach((function(t){e.notifyOutgoingListeners(t),e.packet(t)})),this.sendBuffer=[]}},{key:"ondisconnect",value:function(){this.destroy(),this.onclose("io server disconnect")}},{key:"destroy",value:function(){this.subs&&(this.subs.forEach((function(e){return e()})),this.subs=void 0),this.io._destroy(this)}},{key:"disconnect",value:function(){return this.connected&&this.packet({type:ol.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}},{key:"close",value:function(){return this.disconnect()}},{key:"compress",value:function(e){return this.flags.compress=e,this}},{key:"volatile",get:function(){return this.flags.volatile=!0,this}},{key:"timeout",value:function(e){return this.flags.timeout=e,this}},{key:"onAny",value:function(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}},{key:"prependAny",value:function(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}},{key:"offAny",value:function(e){if(!this._anyListeners)return this;if(e){for(var t=this._anyListeners,n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}},{key:"listenersAny",value:function(){return this._anyListeners||[]}},{key:"onAnyOutgoing",value:function(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}},{key:"prependAnyOutgoing",value:function(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}},{key:"offAnyOutgoing",value:function(e){if(!this._anyOutgoingListeners)return this;if(e){for(var t=this._anyOutgoingListeners,n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}},{key:"listenersAnyOutgoing",value:function(){return this._anyOutgoingListeners||[]}},{key:"notifyOutgoingListeners",value:function(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){var t,n=we(this._anyOutgoingListeners.slice());try{for(n.s();!(t=n.n()).done;)t.value.apply(this,e.data)}catch(e){n.e(e)}finally{n.f()}}}}]),n}(mc);function pl(e){this.ms=(e=e||{}).min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}pl.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-n:e+n}return 0|Math.min(e,this.max)},pl.prototype.reset=function(){this.attempts=0},pl.prototype.setMin=function(e){this.ms=e},pl.prototype.setMax=function(e){this.max=e},pl.prototype.setJitter=function(e){this.jitter=e};var ml=function(e){oe(n,e);var t=fe(n);function n(e,r){var o,i;ee(this,n),(o=t.call(this)).nsps={},o.subs=[],e&&"object"===Z(e)&&(r=e,e=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,bc(le(o),r),o.reconnection(!1!==r.reconnection),o.reconnectionAttempts(r.reconnectionAttempts||Infinity),o.reconnectionDelay(r.reconnectionDelay||1e3),o.reconnectionDelayMax(r.reconnectionDelayMax||5e3),o.randomizationFactor(null!==(i=r.randomizationFactor)&&void 0!==i?i:.5),o.backoff=new pl({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=e;var a=r.parser||ll;return o.encoder=new a.Encoder,o.decoder=new a.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return ne(n,[{key:"reconnection",value:function(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}},{key:"reconnectionAttempts",value:function(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}},{key:"reconnectionDelay",value:function(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}},{key:"randomizationFactor",value:function(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}},{key:"reconnectionDelayMax",value:function(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}},{key:"timeout",value:function(e){return arguments.length?(this._timeout=e,this):this._timeout}},{key:"maybeReconnectOnOpen",value:function(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}},{key:"open",value:function(e){var t=this;if(~this._readyState.indexOf("open"))return this;this.engine=new Vc(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var o=fl(n,"open",(function(){r.onopen(),e&&e()})),i=function(n){t.cleanup(),t._readyState="closed",t.emitReserved("error",n),e?e(n):t.maybeReconnectOnOpen()},a=fl(n,"error",i);if(!1!==this._timeout){var s=this.setTimeoutFn((function(){o(),i(new Error("timeout")),n.close()}),this._timeout);this.opts.autoUnref&&s.unref(),this.subs.push((function(){t.clearTimeoutFn(s)}))}return this.subs.push(o),this.subs.push(a),this}},{key:"connect",value:function(e){return this.open(e)}},{key:"onopen",value:function(){this.cleanup(),this._readyState="open",this.emitReserved("open");var e=this.engine;this.subs.push(fl(e,"ping",this.onping.bind(this)),fl(e,"data",this.ondata.bind(this)),fl(e,"error",this.onerror.bind(this)),fl(e,"close",this.onclose.bind(this)),fl(this.decoder,"decoded",this.ondecoded.bind(this)))}},{key:"onping",value:function(){this.emitReserved("ping")}},{key:"ondata",value:function(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}},{key:"ondecoded",value:function(e){var t=this;Lc((function(){t.emitReserved("packet",e)}),this.setTimeoutFn)}},{key:"onerror",value:function(e){this.emitReserved("error",e)}},{key:"socket",value:function(e,t){var n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new hl(this,e,t),this.nsps[e]=n),n}},{key:"_destroy",value:function(e){for(var t=0,n=Object.keys(this.nsps);t<n.length;t++)if(this.nsps[n[t]].active)return;this._close()}},{key:"_packet",value:function(e){for(var t=this.encoder.encode(e),n=0;n<t.length;n++)this.engine.write(t[n],e.options)}},{key:"cleanup",value:function(){this.subs.forEach((function(e){return e()})),this.subs.length=0,this.decoder.destroy()}},{key:"_close",value:function(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}},{key:"disconnect",value:function(){return this._close()}},{key:"onclose",value:function(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}},{key:"reconnect",value:function(){var e=this;if(this._reconnecting||this.skipReconnect)return this;var t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{var n=this.backoff.duration();this._reconnecting=!0;var r=this.setTimeoutFn((function(){t.skipReconnect||(e.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open((function(n){n?(t._reconnecting=!1,t.reconnect(),e.emitReserved("reconnect_error",n)):t.onreconnect()})))}),n);this.opts.autoUnref&&r.unref(),this.subs.push((function(){e.clearTimeoutFn(r)}))}}},{key:"onreconnect",value:function(){var e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}]),n}(mc),gl={};function yl(e,t){"object"===Z(e)&&(t=e,e=void 0);var n,r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,r=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==n?n.protocol+"//"+e:"https://"+e),r=Wc(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";var o=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+o+":"+r.port+t,r.href=r.protocol+"://"+o+(n&&n.port===r.port?"":":"+r.port),r}(e,(t=t||{}).path||"/socket.io"),o=r.source,i=r.id;return t.forceNew||t["force new connection"]||!1===t.multiplex||gl[i]&&r.path in gl[i].nsps?n=new ml(o,t):(gl[i]||(gl[i]=new ml(o,t)),n=gl[i]),r.query&&!t.query&&(t.query=r.queryKey),n.socket(r.path,t)}function vl(){}function _l(){_l.init.call(this)}function bl(e){return void 0===e._maxListeners?_l.defaultMaxListeners:e._maxListeners}function wl(e,t,n,r){var o,i,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((i=e._events)?(i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),a=i[t]):(i=e._events=new vl,e._eventsCount=0),a){if("function"==typeof a?a=i[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(o=bl(e))&&o>0&&a.length>o){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(s)}}else a=i[t]=n,++e._eventsCount;return e}function Sl(e,t,n){var r=!1;function o(){e.removeListener(t,o),r||(r=!0,n.apply(e,arguments))}return o.listener=n,o}function xl(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function kl(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Object.assign(yl,{Manager:ml,Socket:hl,io:yl,connect:yl}),vl.prototype=Object.create(null),_l.EventEmitter=_l,_l.usingDomains=!1,_l.prototype.domain=void 0,_l.prototype._events=void 0,_l.prototype._maxListeners=void 0,_l.defaultMaxListeners=10,_l.init=function(){this.domain=null,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new vl,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},_l.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},_l.prototype.getMaxListeners=function(){return bl(this)},_l.prototype.emit=function(e){var t,n,r,o,i,a,s,u="error"===e;if(a=this._events)u=u&&null==a.error;else if(!u)return!1;if(s=this.domain,u){if(t=arguments[1],!s){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(n=a[e]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,o=kl(e,r),i=0;i<r;++i)o[i].call(n)}(n,l,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var o=e.length,i=kl(e,o),a=0;a<o;++a)i[a].call(n,r)}(n,l,this,arguments[1]);break;case 3:!function(e,t,n,r,o){if(t)e.call(n,r,o);else for(var i=e.length,a=kl(e,i),s=0;s<i;++s)a[s].call(n,r,o)}(n,l,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,o,i){if(t)e.call(n,r,o,i);else for(var a=e.length,s=kl(e,a),u=0;u<a;++u)s[u].call(n,r,o,i)}(n,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(o=new Array(r-1),i=1;i<r;i++)o[i-1]=arguments[i];!function(e,t,n,r){if(t)e.apply(n,r);else for(var o=e.length,i=kl(e,o),a=0;a<o;++a)i[a].apply(n,r)}(n,l,this,o)}return!0},_l.prototype.on=_l.prototype.addListener=function(e,t){return wl(this,e,t,!1)},_l.prototype.prependListener=function(e,t){return wl(this,e,t,!0)},_l.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,Sl(this,e,t)),this},_l.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,Sl(this,e,t)),this},_l.prototype.removeListener=function(e,t){var n,r,o,i,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new vl:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,i=n.length;i-- >0;)if(n[i]===t||n[i].listener&&n[i].listener===t){a=n[i].listener,o=i;break}if(o<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new vl,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}(n,o);r.removeListener&&this.emit("removeListener",e,a||t)}return this},_l.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new vl,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new vl:delete n[e]),this;if(0===arguments.length){for(var r,o=Object.keys(n),i=0;i<o.length;++i)"removeListener"!==(r=o[i])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new vl,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},_l.prototype.listeners=function(e){var t,n,r=this._events;return n=r&&(t=r[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[],n},_l.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):xl.call(e,t)},_l.prototype.listenerCount=xl,_l.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var El="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e},Al=/%[sdj%]/g;function Cl(e){if(!Bl(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(Pl(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,o=r.length,i=String(e).replace(Al,(function(e){if("%%"===e)return"%";if(n>=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),a=r[n];n<o;a=r[++n])ql(a)||!Gl(a)?i+=" "+a:i+=" "+Pl(a);return i}function Ol(e,t){if(Ul(pt.process))return function(){return Ol(e,t).apply(this,arguments)};if(!0===qt.noDeprecation)return e;var n=!1;return function(){if(!n){if(qt.throwDeprecation)throw new Error(t);qt.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var Rl,Nl={};function Il(e){return Ul(Rl)&&(Rl=qt.env.NODE_DEBUG||""),e=e.toUpperCase(),Nl[e]||(Nl[e]=new RegExp("\\b"+e+"\\b","i").test(Rl)?function(){var t=Cl.apply(null,arguments);console.error("%s %d: %s",e,0,t)}:function(){}),Nl[e]}function Pl(e,t){var n={seen:[],stylize:Ml};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),Dl(t)?n.showHidden=t:t&&function(e,t){if(!t||!Gl(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]]}(n,t),Ul(n.showHidden)&&(n.showHidden=!1),Ul(n.depth)&&(n.depth=2),Ul(n.colors)&&(n.colors=!1),Ul(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Tl),jl(n,e,n.depth)}function Tl(e,t){var n=Pl.styles[t];return n?"["+Pl.colors[n][0]+"m"+e+"["+Pl.colors[n][1]+"m":e}function Ml(e,t){return e}function jl(e,t,n){if(e.customInspect&&t&&Vl(t.inspect)&&t.inspect!==Pl&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Bl(r)||(r=jl(e,r,n)),r}var o=function(e,t){if(Ul(t))return e.stylize("undefined","undefined");if(Bl(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return"number"==typeof t?e.stylize(""+t,"number"):Dl(t)?e.stylize(""+t,"boolean"):ql(t)?e.stylize("null","null"):void 0}(e,t);if(o)return o;var i=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),Wl(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Fl(t);if(0===i.length){if(Vl(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(zl(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Hl(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Wl(t))return Fl(t)}var s,u="",c=!1,l=["{","}"];return Array.isArray(t)&&(c=!0,l=["[","]"]),Vl(t)&&(u=" [Function"+(t.name?": "+t.name:"")+"]"),zl(t)&&(u=" "+RegExp.prototype.toString.call(t)),Hl(t)&&(u=" "+Date.prototype.toUTCString.call(t)),Wl(t)&&(u=" "+Fl(t)),0!==i.length||c&&0!=t.length?n<0?zl(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),s=c?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)Jl(t,String(a))?i.push(Ll(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(Ll(e,t,n,r,o,!0))})),i}(e,t,n,a,i):i.map((function(r){return Ll(e,t,n,a,r,c)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(s,u,l)):l[0]+u+l[1]}function Fl(e){return"["+Error.prototype.toString.call(e)+"]"}function Ll(e,t,n,r,o,i){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(u.set?"[Getter/Setter]":"[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),Jl(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(u.value)<0?(s=ql(n)?jl(e,u.value,null):jl(e,u.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),Ul(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function Dl(e){return"boolean"==typeof e}function ql(e){return null===e}function Bl(e){return"string"==typeof e}function Ul(e){return void 0===e}function zl(e){return Gl(e)&&"[object RegExp]"===$l(e)}function Gl(e){return"object"===Z(e)&&null!==e}function Hl(e){return Gl(e)&&"[object Date]"===$l(e)}function Wl(e){return Gl(e)&&("[object Error]"===$l(e)||e instanceof Error)}function Vl(e){return"function"==typeof e}function $l(e){return Object.prototype.toString.call(e)}function Jl(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Kl(){this.head=null,this.tail=null,this.length=0}Pl.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Pl.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Kl.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Kl.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},Kl.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,e}},Kl.prototype.clear=function(){this.head=this.tail=null,this.length=0},Kl.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},Kl.prototype.concat=function(e){if(0===this.length)return Xt.alloc(0);if(1===this.length)return this.head.data;for(var t=Xt.allocUnsafe(e>>>0),n=this.head,r=0;n;)n.data.copy(t,r),r+=n.data.length,n=n.next;return t};var Yl=Xt.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Zl(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!Yl(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Ql;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=ef;break;default:return void(this.write=Xl)}this.charBuffer=new Xt(6),this.charReceived=0,this.charLength=0}function Xl(e){return e.toString(this.encoding)}function Ql(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function ef(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}Zl.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return"";if(e=e.slice(n,e.length),!((r=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&r<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var r,o=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,o),o-=this.charReceived),(r=(t+=e.toString(this.encoding,0,o)).charCodeAt(o=t.length-1))>=55296&&r<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,o)}return t},Zl.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},Zl.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.encoding;t+=this.charBuffer.slice(0,this.charReceived).toString(n)}return t},rf.ReadableState=nf;var tf=Il("stream");function nf(e,t){this.objectMode=!!(e=e||{}).objectMode,t instanceof Pf&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var n=e.highWaterMark;this.highWaterMark=n||0===n?n:this.objectMode?16:16384,this.highWaterMark=~~this.highWaterMark,this.buffer=new Kl,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new Zl(e.encoding),this.encoding=e.encoding)}function rf(e){if(!(this instanceof rf))return new rf(e);this._readableState=new nf(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),_l.call(this)}function of(e,t,n,r,o){var i=function(e,t){var n=null;return Fn(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(i)e.emit("error",i);else if(null===n)t.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,uf(e)}}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!o){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&o){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var u;!t.decoder||o||r||(n=t.decoder.write(n),u=!t.objectMode&&0===n.length),o||(t.reading=!1),u||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,o?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&uf(e))),function(e,t){t.readingMore||(t.readingMore=!0,At(lf,e,t))}(e,t)}else o||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(t)}El(rf,_l),rf.prototype.push=function(e,t){var n=this._readableState;return n.objectMode||"string"!=typeof e||(t=t||n.defaultEncoding)!==n.encoding&&(e=Xt.from(e,t),t=""),of(this,n,e,t,!1)},rf.prototype.unshift=function(e){return of(this,this._readableState,e,"",!0)},rf.prototype.isPaused=function(){return!1===this._readableState.flowing},rf.prototype.setEncoding=function(e){return this._readableState.decoder=new Zl(e),this._readableState.encoding=e,this};var af=8388608;function sf(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=af?e=af:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function uf(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(tf("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?At(cf,e):cf(e))}function cf(e){tf("emit readable"),e.emit("readable"),hf(e)}function lf(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(tf("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function ff(e){tf("readable nexttick read 0"),e.read(0)}function df(e,t){t.reading||(tf("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),hf(e),t.flowing&&!t.reading&&e.read(0)}function hf(e){var t=e._readableState;for(tf("flow",t.flowing);t.flowing&&null!==e.read(););}function pf(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,r=1,o=n.data;for(e-=o.length;n=n.next;){var i=n.data,a=e>i.length?i.length:e;if(o+=a===i.length?i:i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.head=n.next?n.next:t.tail=null):(t.head=n,n.data=i.slice(a));break}++r}return t.length-=r,o}(e,t):function(e,t){var n=Xt.allocUnsafe(e),r=t.head,o=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var i=r.data,a=e>i.length?i.length:e;if(i.copy(n,n.length-e,0,a),0==(e-=a)){a===i.length?(++o,t.head=r.next?r.next:t.tail=null):(t.head=r,r.data=i.slice(a));break}++o}return t.length-=o,n}(e,t),r}(e,t.buffer,t.decoder),n);var n}function mf(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,At(gf,t,e))}function gf(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function yf(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function vf(){}function _f(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function bf(e,t){Object.defineProperty(this,"buffer",{get:Ol((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),this.objectMode=!!(e=e||{}).objectMode,t instanceof Pf&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var n=e.highWaterMark;this.highWaterMark=n||0===n?n:this.objectMode?16:16384,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.decodeStrings=!(!1===e.decodeStrings),this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,o=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,o){--t.pendingcb,n?At(o,r):o(r),e._writableState.errorEmitted=!0,e.emit("error",r)}(e,n,r,t,o);else{var i=Ef(n);i||n.corked||n.bufferProcessing||!n.bufferedRequest||kf(e,n),r?At(xf,e,n,i,o):xf(e,n,i,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new Of(this)}function wf(e){if(!(this instanceof wf||this instanceof Pf))return new wf(e);this._writableState=new bf(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),_l.call(this)}function Sf(e,t,n,r,o,i,a){t.writelen=r,t.writecb=a,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,i,t.onwrite),t.sync=!1}function xf(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),Cf(e,t)}function kf(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=new Array(t.bufferedRequestCount),o=t.corkedRequestsFree;o.entry=n;for(var i=0;n;)r[i]=n,n=n.next,i+=1;Sf(e,t,!0,t.length,r,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new Of(t)}else{for(;n;){var a=n.chunk;if(Sf(e,t,!1,t.objectMode?1:a.length,a,n.encoding,n.callback),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function Ef(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function Af(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function Cf(e,t){var n=Ef(t);return n&&(0===t.pendingcb?(Af(e,t),t.finished=!0,e.emit("finish")):Af(e,t)),n}function Of(e){var t=this;this.next=null,this.entry=null,this.finish=function(n){var r=t.entry;for(t.entry=null;r;){var o=r.callback;e.pendingcb--,o(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}rf.prototype.read=function(e){tf("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return tf("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?mf(this):uf(this),null;if(0===(e=sf(e,t))&&t.ended)return 0===t.length&&mf(this),null;var r,o=t.needReadable;return tf("need readable",o),(0===t.length||t.length-e<t.highWaterMark)&&tf("length less than watermark",o=!0),t.ended||t.reading?tf("reading or ended",o=!1):o&&(tf("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=sf(n,t))),null===(r=e>0?pf(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&mf(this)),null!==r&&this.emit("data",r),r},rf.prototype._read=function(e){this.emit("error",new Error("not implemented"))},rf.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,tf("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end?c:a;function i(e){tf("onunpipe"),e===n&&c()}function a(){tf("onend"),e.end()}r.endEmitted?At(o):n.once("end",o),e.on("unpipe",i);var s=function(e){return function(){var t=e._readableState;tf("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,hf(e))}}(n);e.on("drain",s);var u=!1;function c(){tf("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",i),n.removeListener("end",a),n.removeListener("end",c),n.removeListener("data",f),u=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var l=!1;function f(t){tf("ondata"),l=!1,!1!==e.write(t)||l||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==yf(r.pipes,e))&&!u&&(tf("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,l=!0),n.pause())}function d(t){tf("onerror",t),m(),e.removeListener("error",d),0===e.listeners("error").length&&e.emit("error",t)}function h(){e.removeListener("finish",p),m()}function p(){tf("onfinish"),e.removeListener("close",h),m()}function m(){tf("unpipe"),n.unpipe(e)}return n.on("data",f),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",d),e.once("close",h),e.once("finish",p),e.emit("pipe",n),r.flowing||(tf("pipe resume"),n.resume()),e},rf.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<r;o++)n[o].emit("unpipe",this);return this}var i=yf(t.pipes,e);return-1===i||(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this)),this},rf.prototype.addListener=rf.prototype.on=function(e,t){var n=_l.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&uf(this):At(ff,this))}return n},rf.prototype.resume=function(){var e=this._readableState;return e.flowing||(tf("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,At(df,e,t))}(this,e)),this},rf.prototype.pause=function(){return tf("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(tf("pause"),this._readableState.flowing=!1,this.emit("pause")),this},rf.prototype.wrap=function(e){var t=this._readableState,n=!1,r=this;for(var o in e.on("end",(function(){if(tf("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&r.push(e)}r.push(null)})),e.on("data",(function(o){tf("wrapped data"),t.decoder&&(o=t.decoder.write(o)),t.objectMode&&null==o||(t.objectMode||o&&o.length)&&(r.push(o)||(n=!0,e.pause()))})),e)void 0===this[o]&&"function"==typeof e[o]&&(this[o]=function(t){return function(){return e[t].apply(e,arguments)}}(o));return function(t,n){for(var o=0,i=t.length;o<i;o++)e.on(a=t[o],r.emit.bind(r,a));var a}(["error","close","destroy","pause","resume"]),r._read=function(t){tf("wrapped _read",t),n&&(n=!1,e.resume())},r},rf._fromList=pf,wf.WritableState=bf,El(wf,_l),bf.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},wf.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},wf.prototype.write=function(e,t,n){var r=this._writableState,o=!1;return"function"==typeof t&&(n=t,t=null),Xt.isBuffer(e)?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=vf),r.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),At(t,n)}(this,n):function(e,t,n,r){var o=!0,i=!1;return null===n?i=new TypeError("May not write null values to stream"):Xt.isBuffer(n)||"string"==typeof n||void 0===n||t.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i&&(e.emit("error",i),At(r,i),o=!1),o}(this,r,e,n)&&(r.pendingcb++,o=function(e,t,n,r,o){n=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=Xt.from(t,n)),t}(t,n,r),Xt.isBuffer(n)&&(r="buffer");var i=t.objectMode?1:n.length;t.length+=i;var a=t.length<t.highWaterMark;if(a||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new _f(n,r,o),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Sf(e,t,!1,i,n,r,o);return a}(this,r,e,t,n)),o},wf.prototype.cork=function(){this._writableState.corked++},wf.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||kf(this,e))},wf.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},wf.prototype._write=function(e,t,n){n(new Error("not implemented"))},wf.prototype._writev=null,wf.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,Cf(e,t),n&&(t.finished?At(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,r,n)},El(Pf,rf);for(var Rf=Object.keys(wf.prototype),Nf=0;Nf<Rf.length;Nf++){var If=Rf[Nf];Pf.prototype[If]||(Pf.prototype[If]=wf.prototype[If])}function Pf(e){if(!(this instanceof Pf))return new Pf(e);rf.call(this,e),wf.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",Tf)}function Tf(){this.allowHalfOpen||this._writableState.ended||At(Mf,this)}function Mf(e){e.end()}function jf(e){this.afterTransform=function(t,n){return function(e,t,n){var r=e._transformState;r.transforming=!1;var o=r.writecb;if(!o)return e.emit("error",new Error("no writecb in Transform class"));r.writechunk=null,r.writecb=null,null!=n&&e.push(n),o(t);var i=e._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&e._read(i.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Ff(e){if(!(this instanceof Ff))return new Ff(e);Pf.call(this,e),this._transformState=new jf(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",(function(){"function"==typeof this._flush?this._flush((function(e){Lf(t,e)})):Lf(t)}))}function Lf(e,t){if(t)return e.emit("error",t);var n=e._transformState;if(e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(n.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}function Df(e){if(!(this instanceof Df))return new Df(e);Ff.call(this,e)}function qf(){_l.call(this)}function Bf(e){return e.replace(/%([0-9A-Fa-f]{2})/g,(function(e,t){return String.fromCharCode(parseInt(t,16))}))}function Uf(e,t){return String(t).replace(e,(function(e){var t=e.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0");return"%".concat(t)}))}function zf(e){return Uf(/[\n;\r\t=%&,\x00-\x1f\x7f-\xff]/g,e)}function Gf(e){return Uf(/[\n\r\t%\x00-\x1f\x7f-\xff]/g,e)}function Hf(e){if(!e||!e.length||"."===e)return{};var t={};return e.replace(/\r?\n$/,"").split(";").forEach((function(e){var n,r=e.split("=",2);if(r[1]&&r[1].length){r[0]=r[0].trim();var o=t[r[0].trim()];o||(t[r[0]]=o=[]),(n=o).push.apply(n,me(r[1].split(",").map((function(e){return e.trim()})).map(Bf)))}})),t}function Wf(e){var t=e.split("\t").map((function(e){return"."===e||""===e?null:e}));return{seq_id:t[0]&&Bf(t[0]),source:t[1]&&Bf(t[1]),type:t[2]&&Bf(t[2]),start:null===t[3]?null:parseInt(t[3],10),end:null===t[4]?null:parseInt(t[4],10),score:null===t[5]?null:parseFloat(t[5]),strand:t[6],phase:t[7],attributes:null===t[8]?null:Hf(t[8])}}function Vf(e){var t=/^\s*##\s*(\S+)\s*(.*)/.exec(e);if(!t)return null;var n=he(t,2)[1],r=he(t,3)[2],o={directive:n};if(r.length&&(r=r.replace(/\r?\n$/,""),o.value=r),"sequence-region"===n){var i=r.split(/\s+/,3);return K(K({},o),{},{seq_id:i[0],start:i[1]&&i[1].replace(/\D/g,""),end:i[2]&&i[2].replace(/\D/g,"")})}if("genome-build"===n){var a=he(r.split(/\s+/,2),2),s=a[0],u=a[1];return K(K({},o),{},{source:s,buildName:u})}return o}function $f(e){var t=[];return Object.entries(e).forEach((function(e){var n,r=he(e,2),o=r[0],i=r[1];i&&(n=i.hasOwnProperty("toString")?zf(i.toString()):Array.isArray(i)?i.map(zf).join(","):zf(i),t.push("".concat(zf(o),"=").concat(n)))})),t.length?t.join(";"):"."}function Jf(e,t){var n=null==e.attributes?".":$f(e.attributes),r=[null===e.seq_id?".":Gf(e.seq_id),null===e.source?".":Gf(e.source),null===e.type?".":Gf(e.type),null===e.start?".":Gf(e.start),null===e.end?".":Gf(e.end),null===e.score?".":Gf(e.score),null===e.strand?".":Gf(e.strand),null===e.phase?".":Gf(e.phase),n],o="".concat(r.join("\t"),"\n");return t[o]?"":(t[o]=!0,o)}function Kf(e,t){if(Array.isArray(e))return e.map((function(e){return Kf(e,t)})).join("");var n,r=[Jf(e,t)];return void 0!==(n=e).child_features&&void 0!==n.derived_features&&r.push.apply(r,me(e.child_features.map((function(e){return Kf(e,t)}))).concat(me(e.derived_features.map((function(e){return Kf(e,t)}))))),r.join("")}function Yf(e){return Kf(e,{})}function Zf(e){var t="##".concat(e.directive);return e.value&&(t+=" ".concat(e.value)),t+"\n"}function Xf(e){return"# ".concat(e.comment,"\n")}function Qf(e){return">".concat(e.id).concat(e.description?" ".concat(e.description):"","\n").concat(e.sequence,"\n")}function ed(e){function t(e){return"attributes"in e?Yf(e):"directive"in e?Zf(e):"sequence"in e?Qf(e):"comment"in e?Xf(e):"# (invalid item found during format)\n"}return Array.isArray(e)?e.map(t):t(e)}El(Ff,Pf),Ff.prototype.push=function(e,t){return this._transformState.needTransform=!1,Pf.prototype.push.call(this,e,t)},Ff.prototype._transform=function(e,t,n){throw new Error("Not implemented")},Ff.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var o=this._readableState;(r.needTransform||o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}},Ff.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},El(Df,Ff),Df.prototype._transform=function(e,t,n){n(null,e)},El(qf,_l),qf.Readable=rf,qf.Writable=wf,qf.Duplex=Pf,qf.Transform=Ff,qf.PassThrough=Df,qf.Stream=qf,qf.prototype.pipe=function(e,t){var n=this;function r(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",r),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",a),n.on("close",s));var i=!1;function a(){i||(i=!0,e.end())}function s(){i||(i=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===_l.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",r),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",s),n.removeListener("error",u),e.removeListener("error",u),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",u),e.on("error",u),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e};var td={__proto__:null,unescape:Bf,escape:zf,escapeColumn:Gf,parseAttributes:Hf,parseFeature:Wf,parseDirective:Vf,formatAttributes:$f,formatFeature:Yf,formatDirective:Zf,formatComment:Xf,formatSequence:Qf,formatItem:ed},nd=function(){function e(t){ee(this,e),this.seqCallback=t,this.currentSequence=void 0}return ne(e,[{key:"addLine",value:function(e){var t=/^>\s*(\S+)\s*(.*)/.exec(e);t?(this._flush(),this.currentSequence={id:t[1],sequence:""},t[2]&&(this.currentSequence.description=t[2].trim())):this.currentSequence&&/\S/.test(e)&&(this.currentSequence.sequence+=e.replace(/\s/g,""))}},{key:"_flush",value:function(){this.currentSequence&&this.seqCallback(this.currentSequence)}},{key:"finish",value:function(){this._flush()}}]),e}(),rd=function(){function e(t){ee(this,e),this.fastaParser=void 0,this.eof=!1,this.lineNumber=0,this._underConstructionTopLevel=[],this._underConstructionById={},this._completedReferences={},this._underConstructionOrphans={};var n=function(){};this.featureCallback=t.featureCallback||n,this.endCallback=t.endCallback||n,this.commentCallback=t.commentCallback||n,this.errorCallback=t.errorCallback||n,this.directiveCallback=t.directiveCallback||n,this.sequenceCallback=t.sequenceCallback||n,this.bufferSize=void 0===t.bufferSize?1e3:t.bufferSize}return ne(e,[{key:"addLine",value:function(e){if(this.fastaParser)this.fastaParser.addLine(e);else if(!this.eof)if(this.lineNumber+=1,/^\s*[^#\s>]/.test(e))this._bufferLine(e);else{var t=/^\s*(#+)(.*)/.exec(e);if(t){var n=he(t,2)[1],r=he(t,3)[2];if(3===n.length)this._emitAllUnderConstructionFeatures();else if(2===n.length){var o=Vf(e);o&&("FASTA"===o.directive?(this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new nd(this.sequenceCallback)):this._emitItem(o))}else r=r.replace(/\s*/,""),this._emitItem({comment:r})}else if(/^\s*$/.test(e));else{if(!/^\s*>/.test(e)){var i=e.replace(/\r?\n?$/g,"");throw new Error("GFF3 parse error. Cannot parse '".concat(i,"'."))}this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new nd(this.sequenceCallback),this.fastaParser.addLine(e)}}}},{key:"finish",value:function(){this._emitAllUnderConstructionFeatures(),this.fastaParser&&this.fastaParser.finish(),this.endCallback()}},{key:"_emitItem",value:function(e){Array.isArray(e)?this.featureCallback(e):"directive"in e?this.directiveCallback(e):"comment"in e&&this.commentCallback(e)}},{key:"_enforceBufferSizeLimit",value:function(){for(var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=function t(n){n&&Array.isArray(n)&&n[0].attributes&&n[0].attributes.ID&&n[0].attributes.ID[0]&&(n[0].attributes.ID.forEach((function(t){delete e._underConstructionById[t],delete e._completedReferences[t]})),n.forEach((function(e){e.child_features&&e.child_features.forEach((function(e){return t(e)})),e.derived_features&&e.derived_features.forEach((function(e){return t(e)}))})))};this._underConstructionTopLevel.length+t>this.bufferSize;){var r=this._underConstructionTopLevel.shift();r&&(this._emitItem(r),n(r))}}},{key:"_emitAllUnderConstructionFeatures",value:function(){if(this._underConstructionTopLevel.forEach(this._emitItem.bind(this)),this._underConstructionTopLevel=[],this._underConstructionById={},this._completedReferences={},Array.from(Object.values(this._underConstructionOrphans)).length)throw new Error("some features reference other features that do not exist in the file (or in the same '###' scope). ".concat(JSON.stringify(this._underConstructionOrphans)))}},{key:"_bufferLine",value:function(e){var t,n,r,o=this,i=K(K({},Wf(e)),{},{child_features:[],derived_features:[]}),a=(null===(t=i.attributes)||void 0===t?void 0:t.ID)||[],s=(null===(n=i.attributes)||void 0===n?void 0:n.Parent)||[],u=(null===(r=i.attributes)||void 0===r?void 0:r.Derives_from)||[];if(a.length||s.length||u.length){var c=void 0;a.forEach((function(e){var t=o._underConstructionById[e];t?(t[t.length-1].type!==i.type&&o._parseError('multi-line feature "'.concat(e,'" has inconsistent types: "').concat(i.type,'", "').concat(t[t.length-1].type,'"')),t.push(i),c=t):(c=[i],o._enforceBufferSizeLimit(1),s.length||u.length||o._underConstructionTopLevel.push(c),o._underConstructionById[e]=c,o._resolveReferencesTo(c,e))})),this._resolveReferencesFrom(c||[i],{Parent:s,Derives_from:u},a)}else this._emitItem([i])}},{key:"_resolveReferencesTo",value:function(e,t){var n=this._underConstructionOrphans[t];n&&(e.forEach((function(e){var t;(t=e.child_features).push.apply(t,me(n.Parent))})),e.forEach((function(e){var t;(t=e.derived_features).push.apply(t,me(n.Derives_from))})),delete this._underConstructionOrphans[t])}},{key:"_parseError",value:function(e){this.eof=!0,this.errorCallback("".concat(this.lineNumber,": ").concat(e))}},{key:"_resolveReferencesFrom",value:function(e,t,n){var r=this;function o(e,t,n){var r=e[t];r||(e[t]=r={});var o=r[n]||!1;return r[n]=!0,o}t.Parent.forEach((function(t){var i=r._underConstructionById[t];if(i)n.filter((function(e){return o(r._completedReferences,e,"Parent,".concat(t))})).length||i.forEach((function(t){t.child_features.push(e)}));else{var a=r._underConstructionOrphans[t];a||(r._underConstructionOrphans[t]=a={Parent:[],Derives_from:[]}),a.Parent.push(e)}})),t.Derives_from.forEach((function(t){var i=r._underConstructionById[t];if(i)n.filter((function(e){return o(r._completedReferences,e,"Derives_from,".concat(t))})).length||i.forEach((function(t){t.derived_features.push(e)}));else{var a=r._underConstructionOrphans[t];a||(r._underConstructionOrphans[t]=a={Parent:[],Derives_from:[]}),a.Derives_from.push(e)}}))}}]),e}();function od(e){qt&&At?At(e):e()}function id(e){var t=K({encoding:"utf8",parseFeatures:!0,parseDirectives:!1,parseSequences:!0,parseComments:!1,bufferSize:1e3},e);return e.parseAll&&(t.parseFeatures=!0,t.parseDirectives=!0,t.parseComments=!0,t.parseSequences=!0),t}var ad=function(e){oe(n,e);var t=fe(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ee(this,n),(e=t.call(this,{objectMode:!0})).textBuffer="";var o=id(r);e.encoding=r.encoding||"utf8",e.decoder=new Zl;var i=e.push.bind(le(e));return e.parser=new rd({featureCallback:o.parseFeatures?i:void 0,directiveCallback:o.parseDirectives?i:void 0,commentCallback:o.parseComments?i:void 0,sequenceCallback:o.parseSequences?i:void 0,errorCallback:function(t){return e.emit("error",t)},bufferSize:o.bufferSize}),e}return ne(n,[{key:"_addLine",value:function(e){e&&this.parser.addLine(e)}},{key:"_nextText",value:function(e){var t=this,n=(this.textBuffer+e).split(/\r?\n/);this.textBuffer=n.pop()||"",n.forEach((function(e){return t._addLine(e)}))}},{key:"_transform",value:function(e,t,n){this._nextText(this.decoder.write(e)),od(n)}},{key:"_flush",value:function(e){this.decoder.end&&this._nextText(this.decoder.end()),null!=this.textBuffer&&this._addLine(this.textBuffer),this.parser.finish(),od(e)}}]),n}(Ff),sd=function(e){oe(n,e);var t=fe(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ee(this,n),(e=t.call(this,Object.assign(r,{objectMode:!0}))).linesSinceLastSyncMark=0,e.haveWeEmittedData=!1,e.fastaMode=!1,e.minLinesBetweenSyncMarks=r.minSyncLines||100,e.insertVersionDirective=r.insertVersionDirective||!1,e}return ne(n,[{key:"_transform",value:function(e,t,n){var r;if(!this.haveWeEmittedData&&this.insertVersionDirective){var o=Array.isArray(e)?e[0]:e;"directive"in o&&"gff-version"!==o.directive&&this.push("##gff-version 3\n")}if("sequence"in e&&!this.fastaMode&&(this.push("##FASTA\n"),this.fastaMode=!0),r=Array.isArray(e)?e.map(ed).join(""):ed(e),this.push(r),this.linesSinceLastSyncMark>=this.minLinesBetweenSyncMarks)this.push("###\n"),this.linesSinceLastSyncMark=0;else{for(var i=0,a=0;a<r.length;a+=1)"\n"===r[a]&&(i+=1);this.linesSinceLastSyncMark+=i}this.haveWeEmittedData=!0,od(n)}}]),n}(Ff),ud={parseStream:function(){return new ad(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},parseStringSync:function(e){if(!e)return[];var t=id(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),n=[],r=n.push.bind(n),o=new rd({featureCallback:t.parseFeatures?r:void 0,directiveCallback:t.parseDirectives?r:void 0,commentCallback:t.parseComments?r:void 0,sequenceCallback:t.parseSequences?r:void 0,bufferSize:Infinity,errorCallback:function(e){throw e}});return e.split(/\r?\n/).forEach(o.addLine.bind(o)),o.finish(),n},formatSync:function(e){var t=[],n=[];e.forEach((function(e){"sequence"in e?n.push(e):t.push(e)}));var r=t.map(ed).join("");return n.length&&(r+="##FASTA\n",r+=n.map(Qf).join("")),r},formatStream:function(){return new sd(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},formatFile:function(e,t){var n=K({insertVersionDirective:!0},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return new Promise((function(r,o){e.pipe(new sd(n)).on("end",(function(){return r(null)})).on("error",o).pipe(t)}))},util:td};async function cd(e,t,n){const r=ud.parseStringSync(t,{parseSequences:!0,parseComments:!0,parseDirectives:!1,parseFeatures:!0});if(0===r.length)throw new Error("No features found in GFF3 file");let o=0,i=n.assemblies.get(e);i||(i=n.addAssembly(e,"InMemoryFileDriver"));for(const e of r)if(Array.isArray(e)){const t=nr.gff3ToAnnotationFeature(e),n=i.refSeqs.get(t.refSeq)??i.addRefSeq(t.refSeq,t.refSeq);n.features.has(t._id)||n.addFeature(t)}else if("comment"in e)i.addComment(e.comment);else{o++;let t=i.refSeqs.get(e.id);t||(t=i.addRefSeq(e.id,e.id,e.description)),e.description&&!t.description&&t.setDescription(e.description),t.addSequence({start:0,stop:e.sequence.length,sequence:e.sequence})}if(0===o)throw new Error("No embedded FASTA section found in GFF3");const a=await ld(i);return n.addCheckResults(a),i}async function ld(e){const t=[];for(const n of e.refSeqs.values())for(const e of n.features.values())for(const r of z.checkRegistry.getChecks().values()){const o=await r.checkFeature(u.getSnapshot(e),((e,t)=>Promise.resolve(n.getSequence(e,t))));t.push(...o)}return t}async function fd(e,t){let n;try{n=await e.text()}catch{n=""}return`${t?`${t} — `:""}${e.status} ${e.statusText}${n?` (${n})`:""}`}var dd={},hd=Hu.exports;Object.defineProperty(dd,"__esModule",{value:!0});var pd=dd.default=void 0;pd=dd.default=(0,hd(Wu).default)((0,N.default.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"}),"Link");var md={},gd=Hu.exports;Object.defineProperty(md,"__esModule",{value:!0});var yd=md.default=void 0;yd=md.default=(0,gd(Wu).default)((0,N.default.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");const vd=m.makeStyles()((e=>({dialogTitle:{background:e.palette.primary.main,color:e.palette.primary.contrastText,padding:e.spacing(2)},closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1.5),color:e.palette.primary.contrastText}}))),_d=p.observer((function(e){const{classes:t}=vd(),{handleClose:n,title:r,...o}=e;return M.default.createElement(h.Dialog,{...o,header:M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogTitle,{className:t.dialogTitle},r),M.default.createElement(c.IconButton,{"aria-label":"close",onClick:n,className:t.closeButton},M.default.createElement(yd,null)))})}));var bd;function wd({changeManager:e,handleClose:t,session:n}){const{internetAccounts:o}=u.getRoot(n),{notify:i}=n,a=o.filter((e=>"ApolloInternetAccount"===e.type));if(0===a.length)throw new Error("No Apollo internet account found");const[s,l]=d.useState(""),[f,h]=d.useState(""),[p,m]=d.useState(!1),[g,y]=d.useState(null),[v,_]=d.useState(bd.GFF3),[b,w]=d.useState(!0),[S,x]=d.useState(!1),[k,E]=d.useState(a[0]),[A,C]=d.useState(""),[O,R]=d.useState(""),[N,I]=d.useState(""),[j,F]=d.useState(!1);let L=!1;try{const e=new URL(A);"http:"!==e.protocol&&"https:"!==e.protocol||(L=!0)}catch{}let D=!1;try{const e=new URL(O);"http:"!==e.protocol&&"https:"!==e.protocol||(D=!0)}catch{}let q=!1;try{const e=new URL(N);"http:"!==e.protocol&&"https:"!==e.protocol||(q=!0)}catch{}return M.default.createElement(_d,{open:!0,maxWidth:!1,"data-testid":"add-assembly-dialog",title:"Add new assembly",handleClose:t},j?M.default.createElement(T.default,null):null,M.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),h(""),x(!0),F(!0),i(`Assembly "${s}" is being added`,"info"),t(),r.preventDefault();const{jobsManager:o}=n,a=new AbortController,u={name:`UploadAssemblyFile for ${s}`,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{a.abort(),o.abortJob(u.name)}};o.runJob(u);let c="";const{baseURL:l,getFetcher:f,internetAccountId:d}=k;if(v!==bd.EXTERNAL&&g){const e=new URL("files",l);e.searchParams.set("type",v);const t=e.href,n=new FormData;n.append("file",g),n.append("fileName",g.name),n.append("type",v);const r=f({locationType:"UriLocation",uri:t});if(r){o.update(u.name,"Uploading file, this may take awhile");const{signal:e}=a,i=await r(t,{method:"POST",body:n,signal:e});if(!i.ok){const e=await fd(i,"Error when inserting new assembly (while uploading file)");return o.abortJob(u.name,e),void h(e)}c=(await i.json())._id}}let p;if(v===bd.EXTERNAL)p=new nr.AddAssemblyFromExternalChange({typeName:"AddAssemblyFromExternalChange",assembly:(new Jn).toHexString(),assemblyName:s,externalLocation:{fa:A,fai:O,...N?{gzi:N}:{}}});else{const e={assembly:(new Jn).toHexString(),assemblyName:s,fileIds:{fa:c}};p=v===bd.GFF3&&b?new nr.AddAssemblyAndFeaturesFromFileChange({typeName:"AddAssemblyAndFeaturesFromFileChange",...e}):new nr.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",...e})}o.done(u),await e.submit(p,{internetAccountId:d,updateJobsManager:!0}),x(!1),F(!1)}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},a.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:k.internetAccountId,onChange:function(e){x(!1);const t=a.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);E(t)},disabled:S&&!f},o.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.TextField,{margin:"dense",id:"name",label:"Assembly name",type:"TextField",fullWidth:!0,variant:"outlined",onChange:e=>{x(!1),l(e.target.value),function(e){const{assemblies:t}=n;t.find((t=>r.readConfObject(t,"displayName")===e))?(m(!1),h(`Assembly ${e} already exists.`)):(m(!0),h(""))}(e.target.value)},disabled:S&&!f}),M.default.createElement(c.FormControl,{style:{marginTop:20}},M.default.createElement(c.FormLabel,null,"Select GFF3, FASTA or EXTERNAL option"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:bd.GFF3,name:"radio-buttons-group",onChange:function(e){_(e.target.value),w(e.target.value===bd.GFF3),C(""),R(""),y(null)},value:v},M.default.createElement(c.FormControlLabel,{value:bd.GFF3,control:M.default.createElement(c.Radio,null),label:"GFF3",disabled:S&&!f}),M.default.createElement(c.FormControlLabel,{value:bd.FASTA,control:M.default.createElement(c.Radio,null),label:"FASTA",disabled:S&&!f}),M.default.createElement(c.FormControlLabel,{value:bd.EXTERNAL,control:M.default.createElement(c.Radio,null),label:"External",disabled:S&&!f}))),v===bd.EXTERNAL?M.default.createElement(c.Box,{style:{marginTop:20}},M.default.createElement(c.Typography,{variant:"caption"},"Enter FASTA and FASTA index(es) URL"),M.default.createElement(c.TextField,{margin:"dense",helperText:"Can be bgz-compressed",id:"fasta",label:"FASTA",type:"TextField",fullWidth:!0,variant:"outlined",error:!L,onChange:e=>{C(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(pd,null))}}),M.default.createElement(c.TextField,{margin:"dense",id:"fasta-index",label:"FASTA Index",helperText:".fai or .gz.fai",type:"TextField",fullWidth:!0,variant:"outlined",error:!D,onChange:e=>{R(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(pd,null))}}),M.default.createElement(c.TextField,{margin:"dense",id:"fasta-gzi-index",label:"FASTA GZI Index",helperText:"Only for bgz-compressed FASTA, .gz.gzi",type:"TextField",fullWidth:!0,variant:"outlined",error:Boolean(N)&&!q,onChange:e=>{I(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(pd,null))}})):M.default.createElement(c.Box,{style:{marginTop:20}},M.default.createElement("input",{type:"file",onChange:function(e){if(!e.target.files)return;const t=e.target.files.item(0);if(y(t),!t)return;const n=t.name.toLowerCase();n.endsWith(".fasta")||n.endsWith(".fna")||n.endsWith(".fa")?_(bd.FASTA):(n.endsWith(".gff3")||n.endsWith(".gff"))&&_(bd.GFF3)},disabled:S&&!f}),M.default.createElement(c.FormGroup,null,M.default.createElement(c.FormControlLabel,{control:M.default.createElement(c.Checkbox,{checked:v===bd.GFF3&&b,onChange:()=>{w(!b)},disabled:v!==bd.GFF3||S&&!f}),label:"Also load features from GFF3 file"})))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!p||!((s&&g)??(s&&A&&O&&L&&D))||S,variant:"contained",type:"submit"},S?"Submitting...":"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),f?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},f)):null)}!function(e){e.GFF3="text/x-gff3",e.FASTA="text/x-fasta",e.EXTERNAL="text/x-external"}(bd||(bd={}));var Sd,xd,kd=function(e,t){return t.some((function(t){return e instanceof t}))},Ed=new WeakMap,Ad=new WeakMap,Cd=new WeakMap,Od=new WeakMap,Rd=new WeakMap,Nd={get:function(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return Ad.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Cd.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Pd(e[t])},set:function(e,t,n){return e[t]=n,!0},has:function(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function Id(e){Nd=e(Nd)}function Pd(e){if(e instanceof IDBRequest)return t=e,(n=new Promise((function(e,n){var r=function(){t.removeEventListener("success",o),t.removeEventListener("error",i)},o=function(){e(Pd(t.result)),r()},i=function(){n(t.error),r()};t.addEventListener("success",o),t.addEventListener("error",i)}))).then((function(e){e instanceof IDBCursor&&Ed.set(e,t)})).catch((function(){})),Rd.set(n,t),n;var t,n;if(Od.has(e))return Od.get(e);var r=function(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(xd||(xd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.apply(Td(this),n),Pd(Ed.get(this))}:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return Pd(t.apply(Td(this),n))}:function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=t.call.apply(t,[Td(this),e].concat(r));return Cd.set(i,e.sort?e.sort():[e]),Pd(i)}:(e instanceof IDBTransaction&&function(e){if(!Ad.has(e)){var t=new Promise((function(t,n){var r=function(){e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=function(){t(),r()},i=function(){n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)}));Ad.set(e,t)}}(e),kd(e,Sd||(Sd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,Nd):e);var t}(e);return r!==e&&(Od.set(e,r),Rd.set(r,e)),r}var Td=function(e){return Rd.get(e)},Md=["get","getKey","getAll","getAllKeys","count"],jd=["put","add","delete","clear"],Fd=new Map;function Ld(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(Fd.get(t))return Fd.get(t);var n=t.replace(/FromIndex$/,""),r=t!==n,o=jd.includes(n);if(n in(r?IDBIndex:IDBObjectStore).prototype&&(o||Md.includes(n))){var i=function(){var e=Q(Y().mark((function e(t){var i,a,s,u,c,l,f=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(a=this.transaction(t,o?"readwrite":"readonly"),s=a.store,u=f.length,c=new Array(u>1?u-1:0),l=1;l<u;l++)c[l-1]=f[l];return r&&(s=s.index(c.shift())),e.next=6,Promise.all([(i=s)[n].apply(i,c),o&&a.done]);case 6:return e.abrupt("return",e.sent[0]);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}();return Fd.set(t,i),i}}}Id((function(e){return K(K({},e),{},{get:function(t,n,r){return Ld(t,n)||e.get(t,n,r)},has:function(t,n){return!!Ld(t,n)||e.has(t,n)}})}));var Dd=["continue","continuePrimaryKey","advance"],qd={},Bd=new WeakMap,Ud=new WeakMap,zd={get:function(e,t){if(!Dd.includes(t))return e[t];var n=qd[t];return n||(n=qd[t]=function(){var e;Bd.set(this,(e=Ud.get(this))[t].apply(e,arguments))}),n}};function Gd(){return Hd.apply(this,arguments)}function Hd(){var e;return e=Y().mark((function e(){var t,n,r,o=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((t=this)instanceof IDBCursor){e.next=5;break}return e.next=4,$((n=t).openCursor.apply(n,o));case 4:t=e.sent;case 5:if(t){e.next=7;break}return e.abrupt("return");case 7:r=new Proxy(t,zd),Ud.set(r,t),Rd.set(r,Td(t));case 11:if(!t){e.next=20;break}return e.next=14,r;case 14:return e.next=16,$(Bd.get(r)||t.continue());case 16:t=e.sent,Bd.delete(r),e.next=11;break;case 20:case"end":return e.stop()}}),e,this)})),Hd=function(){return new G(e.apply(this,arguments))},Hd.apply(this,arguments)}function Wd(e,t){return t===Symbol.asyncIterator&&kd(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&kd(e,[IDBIndex,IDBObjectStore])}Id((function(e){return K(K({},e),{},{get:function(t,n,r){return Wd(t,n)?Gd:e.get(t,n,r)},has:function(t,n){return Wd(t,n)||e.has(t,n)}})}));var Vd={},$d={},Jd={},Kd={},Yd={};Object.defineProperty(Yd,"__esModule",{value:!0}),Yd.isFunction=void 0,Yd.isFunction=function(e){return"function"==typeof e};var Zd={},Xd={},Qd={};Object.defineProperty(Qd,"__esModule",{value:!0}),Qd.createErrorClass=void 0,Qd.createErrorClass=function(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t},Object.defineProperty(Xd,"__esModule",{value:!0}),Xd.UnsubscriptionError=void 0,Xd.UnsubscriptionError=Qd.createErrorClass((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}}));var eh={};Object.defineProperty(eh,"__esModule",{value:!0}),eh.arrRemove=void 0,eh.arrRemove=function(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}};var th=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},nh=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},rh=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Zd,"__esModule",{value:!0}),Zd.isSubscription=Zd.EMPTY_SUBSCRIPTION=Zd.Subscription=void 0;var oh=Yd,ih=Xd,ah=eh,sh=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,o;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var a=th(i),s=a.next();!s.done;s=a.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else i.remove(this);var u=this.initialTeardown;if(oh.isFunction(u))try{u()}catch(e){o=e instanceof ih.UnsubscriptionError?e.errors:[e]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var l=th(c),f=l.next();!f.done;f=l.next()){var d=f.value;try{uh(d)}catch(e){o=null!=o?o:[],e instanceof ih.UnsubscriptionError?o=rh(rh([],nh(o)),nh(e.errors)):o.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}}if(o)throw new ih.UnsubscriptionError(o)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)uh(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&ah.arrRemove(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&ah.arrRemove(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();function uh(e){oh.isFunction(e)?e():e.unsubscribe()}Zd.Subscription=sh,Zd.EMPTY_SUBSCRIPTION=sh.EMPTY,Zd.isSubscription=function(e){return e instanceof sh||e&&"closed"in e&&oh.isFunction(e.remove)&&oh.isFunction(e.add)&&oh.isFunction(e.unsubscribe)};var ch={};Object.defineProperty(ch,"__esModule",{value:!0}),ch.config=void 0,ch.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var lh={},fh={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.timeoutProvider=void 0,e.timeoutProvider={setTimeout:function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(r,o){for(var i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var s=e.timeoutProvider.delegate;return(null==s?void 0:s.setTimeout)?s.setTimeout.apply(s,n([r,o],t(i))):setTimeout.apply(void 0,n([r,o],t(i)))})),clearTimeout:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(t){var n=e.timeoutProvider.delegate;return((null==n?void 0:n.clearTimeout)||clearTimeout)(t)})),delegate:void 0}}(fh),Object.defineProperty(lh,"__esModule",{value:!0}),lh.reportUnhandledError=void 0;var dh=ch,hh=fh;lh.reportUnhandledError=function(e){hh.timeoutProvider.setTimeout((function(){var t=dh.config.onUnhandledError;if(!t)throw e;t(e)}))};var ph={};Object.defineProperty(ph,"__esModule",{value:!0}),ph.noop=void 0,ph.noop=function(){};var mh={};function gh(e,t,n){return{kind:e,value:t,error:n}}Object.defineProperty(mh,"__esModule",{value:!0}),mh.createNotification=mh.nextNotification=mh.errorNotification=mh.COMPLETE_NOTIFICATION=void 0,mh.COMPLETE_NOTIFICATION=function(){return gh("C",void 0,void 0)}(),mh.errorNotification=function(e){return gh("E",void 0,e)},mh.nextNotification=function(e){return gh("N",e,void 0)},mh.createNotification=gh;var yh={};Object.defineProperty(yh,"__esModule",{value:!0}),yh.captureError=yh.errorContext=void 0;var vh=ch,_h=null;yh.errorContext=function(e){if(vh.config.useDeprecatedSynchronousErrorHandling){var t=!_h;if(t&&(_h={errorThrown:!1,error:null}),e(),t){var n=_h;if(_h=null,n.errorThrown)throw n.error}}else e()},yh.captureError=function(e){vh.config.useDeprecatedSynchronousErrorHandling&&_h&&(_h.errorThrown=!0,_h.error=e)},function(e){var t=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.EMPTY_OBSERVER=e.SafeSubscriber=e.Subscriber=void 0;var n=Yd,r=Zd,o=ch,i=lh,a=ph,s=mh,u=fh,c=yh,l=function(n){function o(t){var o=n.call(this)||this;return o.isStopped=!1,t?(o.destination=t,r.isSubscription(t)&&t.add(o)):o.destination=e.EMPTY_OBSERVER,o}return t(o,n),o.create=function(e,t,n){return new p(e,t,n)},o.prototype.next=function(e){this.isStopped?g(s.nextNotification(e),this):this._next(e)},o.prototype.error=function(e){this.isStopped?g(s.errorNotification(e),this):(this.isStopped=!0,this._error(e))},o.prototype.complete=function(){this.isStopped?g(s.COMPLETE_NOTIFICATION,this):(this.isStopped=!0,this._complete())},o.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},o.prototype._next=function(e){this.destination.next(e)},o.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},o.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},o}(r.Subscription);e.Subscriber=l;var f=Function.prototype.bind;function d(e,t){return f.call(e,t)}var h=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){m(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){m(e)}else m(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){m(e)}},e}(),p=function(e){function r(t,r,i){var a,s,u=e.call(this)||this;return n.isFunction(t)||!t?a={next:null!=t?t:void 0,error:null!=r?r:void 0,complete:null!=i?i:void 0}:u&&o.config.useDeprecatedNextContext?((s=Object.create(t)).unsubscribe=function(){return u.unsubscribe()},a={next:t.next&&d(t.next,s),error:t.error&&d(t.error,s),complete:t.complete&&d(t.complete,s)}):a=t,u.destination=new h(a),u}return t(r,e),r}(l);function m(e){o.config.useDeprecatedSynchronousErrorHandling?c.captureError(e):i.reportUnhandledError(e)}function g(e,t){var n=o.config.onStoppedNotification;n&&u.timeoutProvider.setTimeout((function(){return n(e,t)}))}e.SafeSubscriber=p,e.EMPTY_OBSERVER={closed:!0,next:a.noop,error:function(e){throw e},complete:a.noop}}(Kd);var bh={};Object.defineProperty(bh,"__esModule",{value:!0}),bh.observable=void 0,bh.observable=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();var wh={},Sh={};Object.defineProperty(Sh,"__esModule",{value:!0}),Sh.identity=void 0,Sh.identity=function(e){return e},Object.defineProperty(wh,"__esModule",{value:!0}),wh.pipeFromArray=wh.pipe=void 0;var xh=Sh;function kh(e){return 0===e.length?xh.identity:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}wh.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return kh(e)},wh.pipeFromArray=kh,Object.defineProperty(Jd,"__esModule",{value:!0}),Jd.Observable=void 0;var Eh=Kd,Ah=Zd,Ch=bh,Oh=wh,Rh=ch,Nh=Yd,Ih=yh,Ph=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this,o=function(e){return e&&e instanceof Eh.Subscriber||function(e){return e&&Nh.isFunction(e.next)&&Nh.isFunction(e.error)&&Nh.isFunction(e.complete)}(e)&&Ah.isSubscription(e)}(e)?e:new Eh.SafeSubscriber(e,t,n);return Ih.errorContext((function(){var e=r.operator,t=r.source;o.add(e?e.call(o,t):t?r._subscribe(o):r._trySubscribe(o))})),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=Th(t))((function(t,r){var o=new Eh.SafeSubscriber({next:function(t){try{e(t)}catch(e){r(e),o.unsubscribe()}},error:r,complete:t});n.subscribe(o)}))},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[Ch.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Oh.pipeFromArray(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=Th(e))((function(e,n){var r;t.subscribe((function(e){return r=e}),(function(e){return n(e)}),(function(){return e(r)}))}))},e.create=function(t){return new e(t)},e}();function Th(e){var t;return null!==(t=null!=e?e:Rh.config.Promise)&&void 0!==t?t:Promise}Jd.Observable=Ph;var Mh={},jh={},Fh={};Object.defineProperty(Fh,"__esModule",{value:!0}),Fh.operate=Fh.hasLift=void 0;var Lh=Yd;function Dh(e){return Lh.isFunction(null==e?void 0:e.lift)}Fh.hasLift=Dh,Fh.operate=function(e){return function(t){if(Dh(t))return t.lift((function(t){try{return e(t,this)}catch(e){this.error(e)}}));throw new TypeError("Unable to lift unknown Observable type")}};var qh={},Bh=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(qh,"__esModule",{value:!0}),qh.OperatorSubscriber=qh.createOperatorSubscriber=void 0;var Uh=Kd;qh.createOperatorSubscriber=function(e,t,n,r,o){return new zh(e,t,n,r,o)};var zh=function(e){function t(t,n,r,o,i,a){var s=e.call(this,t)||this;return s.onFinalize=i,s.shouldUnsubscribe=a,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=o?function(e){try{o(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return Bh(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Uh.Subscriber);qh.OperatorSubscriber=zh,Object.defineProperty(jh,"__esModule",{value:!0}),jh.refCount=void 0;var Gh=Fh,Hh=qh;jh.refCount=function(){return Gh.operate((function(e,t){var n=null;e._refCount++;var r=Hh.createOperatorSubscriber(t,void 0,void 0,void 0,(function(){if(!e||e._refCount<=0||0<--e._refCount)n=null;else{var r=e._connection,o=n;n=null,!r||o&&r!==o||r.unsubscribe(),t.unsubscribe()}}));e.subscribe(r),r.closed||(n=e.connect())}))};var Wh=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Mh,"__esModule",{value:!0}),Mh.ConnectableObservable=void 0;var Vh=Zd,$h=jh,Jh=qh,Kh=Fh,Yh=function(e){function t(t,n){var r=e.call(this)||this;return r.source=t,r.subjectFactory=n,r._subject=null,r._refCount=0,r._connection=null,Kh.hasLift(t)&&(r.lift=t.lift),r}return Wh(t,e),t.prototype._subscribe=function(e){return this.getSubject().subscribe(e)},t.prototype.getSubject=function(){var e=this._subject;return e&&!e.isStopped||(this._subject=this.subjectFactory()),this._subject},t.prototype._teardown=function(){this._refCount=0;var e=this._connection;this._subject=this._connection=null,null==e||e.unsubscribe()},t.prototype.connect=function(){var e=this,t=this._connection;if(!t){t=this._connection=new Vh.Subscription;var n=this.getSubject();t.add(this.source.subscribe(Jh.createOperatorSubscriber(n,void 0,(function(){e._teardown(),n.complete()}),(function(t){e._teardown(),n.error(t)}),(function(){return e._teardown()})))),t.closed&&(this._connection=null,t=Vh.Subscription.EMPTY)}return t},t.prototype.refCount=function(){return $h.refCount()(this)},t}(Jd.Observable);Mh.ConnectableObservable=Yh;var Zh={},Xh={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.performanceTimestampProvider=void 0,e.performanceTimestampProvider={now:function(){return(e.performanceTimestampProvider.delegate||performance).now()},delegate:void 0}}(Xh);var Qh={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrameProvider=void 0;var r=Zd;e.animationFrameProvider={schedule:function(t){var n=requestAnimationFrame,o=cancelAnimationFrame,i=e.animationFrameProvider.delegate;i&&(n=i.requestAnimationFrame,o=i.cancelAnimationFrame);var a=n((function(e){o=void 0,t(e)}));return new r.Subscription((function(){return null==o?void 0:o(a)}))},requestAnimationFrame:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=e.animationFrameProvider.delegate;return((null==i?void 0:i.requestAnimationFrame)||requestAnimationFrame).apply(void 0,n([],t(r)))})),cancelAnimationFrame:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=e.animationFrameProvider.delegate;return((null==i?void 0:i.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,n([],t(r)))})),delegate:void 0}}(Qh),Object.defineProperty(Zh,"__esModule",{value:!0}),Zh.animationFrames=void 0;var ep=Jd,tp=Xh,np=Qh;function rp(e){return new ep.Observable((function(t){var n=e||tp.performanceTimestampProvider,r=n.now(),o=0;return function i(){t.closed||(o=np.animationFrameProvider.requestAnimationFrame((function(a){o=0;var s=n.now();t.next({timestamp:e?s:a,elapsed:s-r}),i()})))}(),function(){o&&np.animationFrameProvider.cancelAnimationFrame(o)}}))}Zh.animationFrames=function(e){return e?rp(e):op};var op=rp(),ip={},ap={};Object.defineProperty(ap,"__esModule",{value:!0}),ap.ObjectUnsubscribedError=void 0,ap.ObjectUnsubscribedError=Qd.createErrorClass((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}));var sp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),up=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(ip,"__esModule",{value:!0}),ip.AnonymousSubject=ip.Subject=void 0;var cp=Jd,lp=Zd,fp=ap,dp=eh,hp=yh,pp=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return sp(t,e),t.prototype.lift=function(e){var t=new mp(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new fp.ObjectUnsubscribedError},t.prototype.next=function(e){var t=this;hp.errorContext((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var o=up(t.currentObservers),i=o.next();!i.done;i=o.next())i.value.next(e)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;hp.errorContext((function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}}))},t.prototype.complete=function(){var e=this;hp.errorContext((function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}}))},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.observers;return n.hasError||n.isStopped?lp.EMPTY_SUBSCRIPTION:(this.currentObservers=null,r.push(e),new lp.Subscription((function(){t.currentObservers=null,dp.arrRemove(r,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.isStopped;t.hasError?e.error(t.thrownError):n&&e.complete()},t.prototype.asObservable=function(){var e=new cp.Observable;return e.source=this,e},t.create=function(e,t){return new mp(e,t)},t}(cp.Observable);ip.Subject=pp;var mp=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return sp(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:lp.EMPTY_SUBSCRIPTION},t}(pp);ip.AnonymousSubject=mp;var gp={},yp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(gp,"__esModule",{value:!0}),gp.BehaviorSubject=void 0;var vp=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return yp(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e._value;if(e.hasError)throw e.thrownError;return this._throwIfClosed(),t},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(ip.Subject);gp.BehaviorSubject=vp;var _p={},bp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.dateTimestampProvider=void 0,e.dateTimestampProvider={now:function(){return(e.dateTimestampProvider.delegate||Date).now()},delegate:void 0}}(bp);var wp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(_p,"__esModule",{value:!0}),_p.ReplaySubject=void 0;var Sp=bp,xp=function(e){function t(t,n,r){void 0===t&&(t=Infinity),void 0===n&&(n=Infinity),void 0===r&&(r=Sp.dateTimestampProvider);var o=e.call(this)||this;return o._bufferSize=t,o._windowTime=n,o._timestampProvider=r,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=Infinity===n,o._bufferSize=Math.max(1,t),o._windowTime=Math.max(1,n),o}return wp(t,e),t.prototype.next=function(t){var n=this,r=n._buffer,o=n._infiniteTimeWindow,i=n._timestampProvider,a=n._windowTime;n.isStopped||(r.push(t),!o&&r.push(i.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),o=0;o<r.length&&!e.closed;o+=n?1:2)e.next(r[o]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,o=e._infiniteTimeWindow,i=(o?1:2)*t;if(t<Infinity&&i<r.length&&r.splice(0,r.length-i),!o){for(var a=n.now(),s=0,u=1;u<r.length&&r[u]<=a;u+=2)s=u;s&&r.splice(0,s+1)}},t}(ip.Subject);_p.ReplaySubject=xp;var kp={},Ep=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(kp,"__esModule",{value:!0}),kp.AsyncSubject=void 0;var Ap=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._value=null,t._hasValue=!1,t._isComplete=!1,t}return Ep(t,e),t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t._hasValue,r=t._value,o=t.isStopped,i=t._isComplete;t.hasError?e.error(t.thrownError):(o||i)&&(n&&e.next(r),e.complete())},t.prototype.next=function(e){this.isStopped||(this._value=e,this._hasValue=!0)},t.prototype.complete=function(){var t=this,n=t._hasValue,r=t._value;t._isComplete||(this._isComplete=!0,n&&e.prototype.next.call(this,r),e.prototype.complete.call(this))},t}(ip.Subject);kp.AsyncSubject=Ap;var Cp={},Op={},Rp={},Np={},Ip=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Np,"__esModule",{value:!0}),Np.Action=void 0,Np.Action=function(e){function t(t,n){return e.call(this)||this}return Ip(t,e),t.prototype.schedule=function(e,t){return this},t}(Zd.Subscription);var Pp={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.intervalProvider=void 0,e.intervalProvider={setInterval:function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(r,o){for(var i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var s=e.intervalProvider.delegate;return(null==s?void 0:s.setInterval)?s.setInterval.apply(s,n([r,o],t(i))):setInterval.apply(void 0,n([r,o],t(i)))})),clearInterval:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(t){var n=e.intervalProvider.delegate;return((null==n?void 0:n.clearInterval)||clearInterval)(t)})),delegate:void 0}}(Pp);var Tp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Rp,"__esModule",{value:!0}),Rp.AsyncAction=void 0;var Mp=Pp,jp=eh,Fp=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return Tp(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(o,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),Mp.intervalProvider.setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&Mp.intervalProvider.clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,jp.arrRemove(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Np.Action);Rp.AsyncAction=Fp;var Lp={},Dp={};Object.defineProperty(Dp,"__esModule",{value:!0}),Dp.TestTools=Dp.Immediate=void 0;var qp,Bp=1,Up={};function zp(e){return e in Up&&(delete Up[e],!0)}Dp.Immediate={setImmediate:function(e){var t=Bp++;return Up[t]=!0,qp||(qp=Promise.resolve()),qp.then((function(){return zp(t)&&e()})),t},clearImmediate:function(e){zp(e)}},Dp.TestTools={pending:function(){return Object.keys(Up).length}},function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.immediateProvider=void 0;var r=Dp.Immediate.setImmediate,o=Dp.Immediate.clearImmediate;e.immediateProvider={setImmediate:function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=e.immediateProvider.delegate;return((null==a?void 0:a.setImmediate)||r).apply(void 0,n([],t(o)))},clearImmediate:function(t){var n=e.immediateProvider.delegate;return((null==n?void 0:n.clearImmediate)||o)(t)},delegate:void 0}}(Lp);var Gp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Op,"__esModule",{value:!0}),Op.AsapAction=void 0;var Hp=Lp;Op.AsapAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return Gp(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=Hp.immediateProvider.setImmediate(t.flush.bind(t,void 0))))},t.prototype.recycleAsyncId=function(t,n,r){var o;if(void 0===r&&(r=0),null!=r?r>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);var i=t.actions;null!=n&&(null===(o=i[i.length-1])||void 0===o?void 0:o.id)!==n&&(Hp.immediateProvider.clearImmediate(n),t._scheduled===n&&(t._scheduled=void 0))},t}(Rp.AsyncAction);var Wp={},Vp={},$p={};Object.defineProperty($p,"__esModule",{value:!0}),$p.Scheduler=void 0;var Jp=bp;$p.Scheduler=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=Jp.dateTimestampProvider.now,e}();var Kp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Vp,"__esModule",{value:!0}),Vp.AsyncScheduler=void 0;var Yp=$p;Vp.AsyncScheduler=function(e){function t(t,n){void 0===n&&(n=Yp.Scheduler.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return Kp(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(Yp.Scheduler);var Zp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Wp,"__esModule",{value:!0}),Wp.AsapScheduler=void 0;var Xp=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Zp(t,e),t.prototype.flush=function(e){this._active=!0;var t=this._scheduled;this._scheduled=void 0;var n,r=this.actions;e=e||r.shift();do{if(n=e.execute(e.state,e.delay))break}while((e=r[0])&&e.id===t&&r.shift());if(this._active=!1,n){for(;(e=r[0])&&e.id===t&&r.shift();)e.unsubscribe();throw n}},t}(Vp.AsyncScheduler);Wp.AsapScheduler=Xp,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.asap=e.asapScheduler=void 0,e.asapScheduler=new Wp.AsapScheduler(Op.AsapAction),e.asap=e.asapScheduler}(Cp);var Qp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.async=e.asyncScheduler=void 0,e.asyncScheduler=new Vp.AsyncScheduler(Rp.AsyncAction),e.async=e.asyncScheduler}(Qp);var em={},tm={},nm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(tm,"__esModule",{value:!0}),tm.QueueAction=void 0,tm.QueueAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return nm(t,e),t.prototype.schedule=function(t,n){return void 0===n&&(n=0),n>0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.flush(this),0)},t}(Rp.AsyncAction);var rm={},om=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(rm,"__esModule",{value:!0}),rm.QueueScheduler=void 0;var im=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return om(t,e),t}(Vp.AsyncScheduler);rm.QueueScheduler=im,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.queue=e.queueScheduler=void 0,e.queueScheduler=new rm.QueueScheduler(tm.QueueAction),e.queue=e.queueScheduler}(em);var am={},sm={},um=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(sm,"__esModule",{value:!0}),sm.AnimationFrameAction=void 0;var cm=Qh;sm.AnimationFrameAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return um(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=cm.animationFrameProvider.requestAnimationFrame((function(){return t.flush(void 0)}))))},t.prototype.recycleAsyncId=function(t,n,r){var o;if(void 0===r&&(r=0),null!=r?r>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);var i=t.actions;null!=n&&(null===(o=i[i.length-1])||void 0===o?void 0:o.id)!==n&&(cm.animationFrameProvider.cancelAnimationFrame(n),t._scheduled=void 0)},t}(Rp.AsyncAction);var lm={},fm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(lm,"__esModule",{value:!0}),lm.AnimationFrameScheduler=void 0;var dm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return fm(t,e),t.prototype.flush=function(e){this._active=!0;var t=this._scheduled;this._scheduled=void 0;var n,r=this.actions;e=e||r.shift();do{if(n=e.execute(e.state,e.delay))break}while((e=r[0])&&e.id===t&&r.shift());if(this._active=!1,n){for(;(e=r[0])&&e.id===t&&r.shift();)e.unsubscribe();throw n}},t}(Vp.AsyncScheduler);lm.AnimationFrameScheduler=dm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrame=e.animationFrameScheduler=void 0,e.animationFrameScheduler=new lm.AnimationFrameScheduler(sm.AnimationFrameAction),e.animationFrame=e.animationFrameScheduler}(am);var hm={},pm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(hm,"__esModule",{value:!0}),hm.VirtualAction=hm.VirtualTimeScheduler=void 0;var mm=Rp,gm=Zd;hm.VirtualTimeScheduler=function(e){function t(t,n){void 0===t&&(t=ym),void 0===n&&(n=Infinity);var r=e.call(this,t,(function(){return r.frame}))||this;return r.maxFrames=n,r.frame=0,r.index=-1,r}return pm(t,e),t.prototype.flush=function(){for(var e,t,n=this.actions,r=this.maxFrames;(t=n[0])&&t.delay<=r&&(n.shift(),this.frame=t.delay,!(e=t.execute(t.state,t.delay))););if(e){for(;t=n.shift();)t.unsubscribe();throw e}},t.frameTimeFactor=10,t}(Vp.AsyncScheduler);var ym=function(e){function t(t,n,r){void 0===r&&(r=t.index+=1);var o=e.call(this,t,n)||this;return o.scheduler=t,o.work=n,o.index=r,o.active=!0,o.index=t.index=r,o}return pm(t,e),t.prototype.schedule=function(n,r){if(void 0===r&&(r=0),Number.isFinite(r)){if(!this.id)return e.prototype.schedule.call(this,n,r);this.active=!1;var o=new t(this.scheduler,this.work);return this.add(o),o.schedule(n,r)}return gm.Subscription.EMPTY},t.prototype.requestAsyncId=function(e,n,r){void 0===r&&(r=0),this.delay=e.frame+r;var o=e.actions;return o.push(this),o.sort(t.sortActions),1},t.prototype.recycleAsyncId=function(e,t,n){},t.prototype._execute=function(t,n){if(!0===this.active)return e.prototype._execute.call(this,t,n)},t.sortActions=function(e,t){return e.delay===t.delay?e.index===t.index?0:e.index>t.index?1:-1:e.delay>t.delay?1:-1},t}(mm.AsyncAction);hm.VirtualAction=ym;var vm={},_m={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.empty=e.EMPTY=void 0;var t=Jd;e.EMPTY=new t.Observable((function(e){return e.complete()})),e.empty=function(n){return n?function(e){return new t.Observable((function(t){return e.schedule((function(){return t.complete()}))}))}(n):e.EMPTY}}(_m);var bm={},wm={},Sm={};Object.defineProperty(Sm,"__esModule",{value:!0}),Sm.isScheduler=void 0;var xm=Yd;Sm.isScheduler=function(e){return e&&xm.isFunction(e.schedule)},Object.defineProperty(wm,"__esModule",{value:!0}),wm.popNumber=wm.popScheduler=wm.popResultSelector=void 0;var km=Yd,Em=Sm;function Am(e){return e[e.length-1]}wm.popResultSelector=function(e){return km.isFunction(Am(e))?e.pop():void 0},wm.popScheduler=function(e){return Em.isScheduler(Am(e))?e.pop():void 0},wm.popNumber=function(e,t){return"number"==typeof Am(e)?e.pop():t};var Cm={},Om={},Rm={},Nm={},Im={};Object.defineProperty(Im,"__esModule",{value:!0}),Im.isArrayLike=void 0,Im.isArrayLike=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};var Pm={};Object.defineProperty(Pm,"__esModule",{value:!0}),Pm.isPromise=void 0;var Tm=Yd;Pm.isPromise=function(e){return Tm.isFunction(null==e?void 0:e.then)};var Mm={};Object.defineProperty(Mm,"__esModule",{value:!0}),Mm.isInteropObservable=void 0;var jm=bh,Fm=Yd;Mm.isInteropObservable=function(e){return Fm.isFunction(e[jm.observable])};var Lm={};Object.defineProperty(Lm,"__esModule",{value:!0}),Lm.isAsyncIterable=void 0;var Dm=Yd;Lm.isAsyncIterable=function(e){return Symbol.asyncIterator&&Dm.isFunction(null==e?void 0:e[Symbol.asyncIterator])};var qm={};Object.defineProperty(qm,"__esModule",{value:!0}),qm.createInvalidObservableTypeError=void 0,qm.createInvalidObservableTypeError=function(e){return new TypeError("You provided "+(null!==e&&"object"===Z(e)?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")};var Bm={},Um={};function zm(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}Object.defineProperty(Um,"__esModule",{value:!0}),Um.iterator=Um.getSymbolIterator=void 0,Um.getSymbolIterator=zm,Um.iterator=zm(),Object.defineProperty(Bm,"__esModule",{value:!0}),Bm.isIterable=void 0;var Gm=Um,Hm=Yd;Bm.isIterable=function(e){return Hm.isFunction(null==e?void 0:e[Gm.iterator])};var Wm={},Vm=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},$m=q&&q.__await||function(e){return this instanceof $m?(this.v=e,this):new $m(e)},Jm=q&&q.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof $m?Promise.resolve(e.value.v).then(u,c):l(i[0][2],e)}(o[e](t))}catch(e){l(i[0][3],e)}}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}};Object.defineProperty(Wm,"__esModule",{value:!0}),Wm.isReadableStreamLike=Wm.readableStreamLikeToAsyncGenerator=void 0;var Km=Yd;Wm.readableStreamLikeToAsyncGenerator=function(e){return Jm(this,arguments,(function(){var t,n,r;return Vm(this,(function(o){switch(o.label){case 0:t=e.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,$m(t.read())];case 3:return n=o.sent(),r=n.value,n.done?[4,$m(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,$m(r)];case 6:return[4,o.sent()];case 7:return o.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))},Wm.isReadableStreamLike=function(e){return Km.isFunction(null==e?void 0:e.getReader)};var Ym=q&&q.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}u((r=r.apply(e,t||[])).next())}))},Zm=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},Xm=q&&q.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof Qm?Qm(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}},Qm=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Nm,"__esModule",{value:!0}),Nm.fromReadableStreamLike=Nm.fromAsyncIterable=Nm.fromIterable=Nm.fromPromise=Nm.fromArrayLike=Nm.fromInteropObservable=Nm.innerFrom=void 0;var eg=Im,tg=Pm,ng=Jd,rg=Mm,og=Lm,ig=qm,ag=Bm,sg=Wm,ug=Yd,cg=lh,lg=bh;function fg(e){return new ng.Observable((function(t){var n=e[lg.observable]();if(ug.isFunction(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")}))}function dg(e){return new ng.Observable((function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()}))}function hg(e){return new ng.Observable((function(t){e.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,cg.reportUnhandledError)}))}function pg(e){return new ng.Observable((function(t){var n,r;try{for(var o=Qm(e),i=o.next();!i.done;i=o.next())if(t.next(i.value),t.closed)return}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.complete()}))}function mg(e){return new ng.Observable((function(t){(function(e,t){var n,r,o,i;return Ym(this,void 0,void 0,(function(){var a;return Zm(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=Xm(e),s.label=1;case 1:return[4,n.next()];case 2:if((r=s.sent()).done)return[3,4];if(t.next(r.value),t.closed)return[2];s.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=s.sent(),o={error:a},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:s.sent(),s.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(e,t).catch((function(e){return t.error(e)}))}))}function gg(e){return mg(sg.readableStreamLikeToAsyncGenerator(e))}Nm.innerFrom=function(e){if(e instanceof ng.Observable)return e;if(null!=e){if(rg.isInteropObservable(e))return fg(e);if(eg.isArrayLike(e))return dg(e);if(tg.isPromise(e))return hg(e);if(og.isAsyncIterable(e))return mg(e);if(ag.isIterable(e))return pg(e);if(sg.isReadableStreamLike(e))return gg(e)}throw ig.createInvalidObservableTypeError(e)},Nm.fromInteropObservable=fg,Nm.fromArrayLike=dg,Nm.fromPromise=hg,Nm.fromIterable=pg,Nm.fromAsyncIterable=mg,Nm.fromReadableStreamLike=gg;var yg={},vg={};Object.defineProperty(vg,"__esModule",{value:!0}),vg.executeSchedule=void 0,vg.executeSchedule=function(e,t,n,r,o){void 0===r&&(r=0),void 0===o&&(o=!1);var i=t.schedule((function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(i),!o)return i},Object.defineProperty(yg,"__esModule",{value:!0}),yg.observeOn=void 0;var _g=vg,bg=Fh,wg=qh;yg.observeOn=function(e,t){return void 0===t&&(t=0),bg.operate((function(n,r){n.subscribe(wg.createOperatorSubscriber(r,(function(n){return _g.executeSchedule(r,e,(function(){return r.next(n)}),t)}),(function(){return _g.executeSchedule(r,e,(function(){return r.complete()}),t)}),(function(n){return _g.executeSchedule(r,e,(function(){return r.error(n)}),t)})))}))};var Sg={};Object.defineProperty(Sg,"__esModule",{value:!0}),Sg.subscribeOn=void 0;var xg=Fh;Sg.subscribeOn=function(e,t){return void 0===t&&(t=0),xg.operate((function(n,r){r.add(e.schedule((function(){return n.subscribe(r)}),t))}))},Object.defineProperty(Rm,"__esModule",{value:!0}),Rm.scheduleObservable=void 0;var kg=Nm,Eg=yg,Ag=Sg;Rm.scheduleObservable=function(e,t){return kg.innerFrom(e).pipe(Ag.subscribeOn(t),Eg.observeOn(t))};var Cg={};Object.defineProperty(Cg,"__esModule",{value:!0}),Cg.schedulePromise=void 0;var Og=Nm,Rg=yg,Ng=Sg;Cg.schedulePromise=function(e,t){return Og.innerFrom(e).pipe(Ng.subscribeOn(t),Rg.observeOn(t))};var Ig={};Object.defineProperty(Ig,"__esModule",{value:!0}),Ig.scheduleArray=void 0;var Pg=Jd;Ig.scheduleArray=function(e,t){return new Pg.Observable((function(n){var r=0;return t.schedule((function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())}))}))};var Tg={};Object.defineProperty(Tg,"__esModule",{value:!0}),Tg.scheduleIterable=void 0;var Mg=Jd,jg=Um,Fg=Yd,Lg=vg;Tg.scheduleIterable=function(e,t){return new Mg.Observable((function(n){var r;return Lg.executeSchedule(n,t,(function(){r=e[jg.iterator](),Lg.executeSchedule(n,t,(function(){var e,t,o;try{t=(e=r.next()).value,o=e.done}catch(e){return void n.error(e)}o?n.complete():n.next(t)}),0,!0)})),function(){return Fg.isFunction(null==r?void 0:r.return)&&r.return()}}))};var Dg={};Object.defineProperty(Dg,"__esModule",{value:!0}),Dg.scheduleAsyncIterable=void 0;var qg=Jd,Bg=vg;Dg.scheduleAsyncIterable=function(e,t){if(!e)throw new Error("Iterable cannot be null");return new qg.Observable((function(n){Bg.executeSchedule(n,t,(function(){var r=e[Symbol.asyncIterator]();Bg.executeSchedule(n,t,(function(){r.next().then((function(e){e.done?n.complete():n.next(e.value)}))}),0,!0)}))}))};var Ug={};Object.defineProperty(Ug,"__esModule",{value:!0}),Ug.scheduleReadableStreamLike=void 0;var zg=Dg,Gg=Wm;Ug.scheduleReadableStreamLike=function(e,t){return zg.scheduleAsyncIterable(Gg.readableStreamLikeToAsyncGenerator(e),t)},Object.defineProperty(Om,"__esModule",{value:!0}),Om.scheduled=void 0;var Hg=Rm,Wg=Cg,Vg=Ig,$g=Tg,Jg=Dg,Kg=Mm,Yg=Pm,Zg=Im,Xg=Bm,Qg=Lm,ey=qm,ty=Wm,ny=Ug;Om.scheduled=function(e,t){if(null!=e){if(Kg.isInteropObservable(e))return Hg.scheduleObservable(e,t);if(Zg.isArrayLike(e))return Vg.scheduleArray(e,t);if(Yg.isPromise(e))return Wg.schedulePromise(e,t);if(Qg.isAsyncIterable(e))return Jg.scheduleAsyncIterable(e,t);if(Xg.isIterable(e))return $g.scheduleIterable(e,t);if(ty.isReadableStreamLike(e))return ny.scheduleReadableStreamLike(e,t)}throw ey.createInvalidObservableTypeError(e)},Object.defineProperty(Cm,"__esModule",{value:!0}),Cm.from=void 0;var ry=Om,oy=Nm;Cm.from=function(e,t){return t?ry.scheduled(e,t):oy.innerFrom(e)},Object.defineProperty(bm,"__esModule",{value:!0}),bm.of=void 0;var iy=wm,ay=Cm;bm.of=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=iy.popScheduler(e);return ay.from(e,n)};var sy={};Object.defineProperty(sy,"__esModule",{value:!0}),sy.throwError=void 0;var uy=Jd,cy=Yd;sy.throwError=function(e,t){var n=cy.isFunction(e)?e:function(){return e},r=function(e){return e.error(n())};return new uy.Observable(t?function(e){return t.schedule(r,0,e)}:r)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.observeNotification=e.Notification=e.NotificationKind=void 0;var t,n=_m,r=bm,o=sy,i=Yd;(t=e.NotificationKind||(e.NotificationKind={})).NEXT="N",t.ERROR="E",t.COMPLETE="C";var a=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){return s(this,e)},e.prototype.do=function(e,t,n){var r=this,o=r.kind,i=r.error;return"N"===o?null==e?void 0:e(r.value):"E"===o?null==t?void 0:t(i):null==n?void 0:n()},e.prototype.accept=function(e,t,n){var r;return i.isFunction(null===(r=e)||void 0===r?void 0:r.next)?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e=this,t=e.kind,i=e.error,a="N"===t?r.of(e.value):"E"===t?o.throwError((function(){return i})):"C"===t?n.EMPTY:0;if(!a)throw new TypeError("Unexpected notification kind "+t);return a},e.createNext=function(t){return new e("N",t)},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e}();function s(e,t){var n,r,o,i=e.kind,a=e.value,s=e.error;if("string"!=typeof i)throw new TypeError('Invalid notification, missing "kind"');"N"===i?null===(n=t.next)||void 0===n||n.call(t,a):"E"===i?null===(r=t.error)||void 0===r||r.call(t,s):null===(o=t.complete)||void 0===o||o.call(t)}e.Notification=a,e.observeNotification=s}(vm);var ly={};Object.defineProperty(ly,"__esModule",{value:!0}),ly.isObservable=void 0;var fy=Jd,dy=Yd;ly.isObservable=function(e){return!!e&&(e instanceof fy.Observable||dy.isFunction(e.lift)&&dy.isFunction(e.subscribe))};var hy={},py={};Object.defineProperty(py,"__esModule",{value:!0}),py.EmptyError=void 0,py.EmptyError=Qd.createErrorClass((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})),Object.defineProperty(hy,"__esModule",{value:!0}),hy.lastValueFrom=void 0;var my=py;hy.lastValueFrom=function(e,t){var n="object"===Z(t);return new Promise((function(r,o){var i,a=!1;e.subscribe({next:function(e){i=e,a=!0},error:o,complete:function(){a?r(i):n?r(t.defaultValue):o(new my.EmptyError)}})}))};var gy={};Object.defineProperty(gy,"__esModule",{value:!0}),gy.firstValueFrom=void 0;var yy=py,vy=Kd;gy.firstValueFrom=function(e,t){var n="object"===Z(t);return new Promise((function(r,o){var i=new vy.SafeSubscriber({next:function(e){r(e),i.unsubscribe()},error:o,complete:function(){n?r(t.defaultValue):o(new yy.EmptyError)}});e.subscribe(i)}))};var _y={};Object.defineProperty(_y,"__esModule",{value:!0}),_y.ArgumentOutOfRangeError=void 0,_y.ArgumentOutOfRangeError=Qd.createErrorClass((function(e){return function(){e(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}}));var by={};Object.defineProperty(by,"__esModule",{value:!0}),by.NotFoundError=void 0,by.NotFoundError=Qd.createErrorClass((function(e){return function(t){e(this),this.name="NotFoundError",this.message=t}}));var wy={};Object.defineProperty(wy,"__esModule",{value:!0}),wy.SequenceError=void 0,wy.SequenceError=Qd.createErrorClass((function(e){return function(t){e(this),this.name="SequenceError",this.message=t}}));var Sy={},xy={};Object.defineProperty(xy,"__esModule",{value:!0}),xy.isValidDate=void 0,xy.isValidDate=function(e){return e instanceof Date&&!isNaN(e)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.timeout=e.TimeoutError=void 0;var t=Qp,n=xy,r=Fh,o=Nm,i=qh,a=vg;function s(t){throw new e.TimeoutError(t)}e.TimeoutError=Qd.createErrorClass((function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}})),e.timeout=function(e,u){var c=n.isValidDate(e)?{first:e}:"number"==typeof e?{each:e}:e,l=c.first,f=c.each,d=c.with,h=void 0===d?s:d,p=c.scheduler,m=void 0===p?null!=u?u:t.asyncScheduler:p,g=c.meta,y=void 0===g?null:g;if(null==l&&null==f)throw new TypeError("No timeout provided.");return r.operate((function(e,t){var n,r,s=null,u=0,c=function(e){r=a.executeSchedule(t,m,(function(){try{n.unsubscribe(),o.innerFrom(h({meta:y,lastValue:s,seen:u})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(i.createOperatorSubscriber(t,(function(e){null==r||r.unsubscribe(),u++,t.next(s=e),f>0&&c(f)}),void 0,void 0,(function(){(null==r?void 0:r.closed)||null==r||r.unsubscribe(),s=null}))),!u&&c(null!=l?"number"==typeof l?l:+l-m.now():f)}))}}(Sy);var ky={},Ey={},Ay={},Cy={};Object.defineProperty(Cy,"__esModule",{value:!0}),Cy.map=void 0;var Oy=Fh,Ry=qh;Cy.map=function(e,t){return Oy.operate((function(n,r){var o=0;n.subscribe(Ry.createOperatorSubscriber(r,(function(n){r.next(e.call(t,n,o++))})))}))};var Ny=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Iy=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ay,"__esModule",{value:!0}),Ay.mapOneOrManyArgs=void 0;var Py=Cy,Ty=Array.isArray;Ay.mapOneOrManyArgs=function(e){return Py.map((function(t){return function(e,t){return Ty(t)?e.apply(void 0,Iy([],Ny(t))):e(t)}(e,t)}))};var My=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},jy=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ey,"__esModule",{value:!0}),Ey.bindCallbackInternals=void 0;var Fy=Sm,Ly=Jd,Dy=Sg,qy=Ay,By=yg,Uy=kp;Ey.bindCallbackInternals=function e(t,n,r,o){if(r){if(!Fy.isScheduler(r))return function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];return e(t,n,o).apply(this,i).pipe(qy.mapOneOrManyArgs(r))};o=r}return o?function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];return e(t,n).apply(this,r).pipe(Dy.subscribeOn(o),By.observeOn(o))}:function(){for(var e=this,r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=new Uy.AsyncSubject,a=!0;return new Ly.Observable((function(o){var s=i.subscribe(o);if(a){a=!1;var u=!1,c=!1;n.apply(e,jy(jy([],My(r)),[function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];if(t){var r=e.shift();if(null!=r)return void i.error(r)}i.next(1<e.length?e:e[0]),c=!0,u&&i.complete()}])),c&&i.complete(),u=!0}return s}))}},Object.defineProperty(ky,"__esModule",{value:!0}),ky.bindCallback=void 0;var zy=Ey;ky.bindCallback=function(e,t,n){return zy.bindCallbackInternals(!1,e,t,n)};var Gy={};Object.defineProperty(Gy,"__esModule",{value:!0}),Gy.bindNodeCallback=void 0;var Hy=Ey;Gy.bindNodeCallback=function(e,t,n){return Hy.bindCallbackInternals(!0,e,t,n)};var Wy={},Vy={};Object.defineProperty(Vy,"__esModule",{value:!0}),Vy.argsArgArrayOrObject=void 0;var $y=Array.isArray,Jy=Object.getPrototypeOf,Ky=Object.prototype,Yy=Object.keys;Vy.argsArgArrayOrObject=function(e){if(1===e.length){var t=e[0];if($y(t))return{args:t,keys:null};if((r=t)&&"object"===Z(r)&&Jy(r)===Ky){var n=Yy(t);return{args:n.map((function(e){return t[e]})),keys:n}}}var r;return{args:e,keys:null}};var Zy={};Object.defineProperty(Zy,"__esModule",{value:!0}),Zy.createObject=void 0,Zy.createObject=function(e,t){return e.reduce((function(e,n,r){return e[n]=t[r],e}),{})},Object.defineProperty(Wy,"__esModule",{value:!0}),Wy.combineLatestInit=Wy.combineLatest=void 0;var Xy=Jd,Qy=Vy,ev=Cm,tv=Sh,nv=Ay,rv=wm,ov=Zy,iv=qh,av=vg;function sv(e,t,n){return void 0===n&&(n=tv.identity),function(r){uv(t,(function(){for(var o=e.length,i=new Array(o),a=o,s=o,u=function(o){uv(t,(function(){var u=ev.from(e[o],t),c=!1;u.subscribe(iv.createOperatorSubscriber(r,(function(e){i[o]=e,c||(c=!0,s--),s||r.next(n(i.slice()))}),(function(){--a||r.complete()})))}),r)},c=0;c<o;c++)u(c)}),r)}}function uv(e,t,n){e?av.executeSchedule(n,e,t):t()}Wy.combineLatest=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=rv.popScheduler(e),r=rv.popResultSelector(e),o=Qy.argsArgArrayOrObject(e),i=o.args,a=o.keys;if(0===i.length)return ev.from([],n);var s=new Xy.Observable(sv(i,n,a?function(e){return ov.createObject(a,e)}:tv.identity));return r?s.pipe(nv.mapOneOrManyArgs(r)):s},Wy.combineLatestInit=sv;var cv={},lv={},fv={},dv={},hv={};Object.defineProperty(hv,"__esModule",{value:!0}),hv.mergeInternals=void 0;var pv=Nm,mv=vg,gv=qh;hv.mergeInternals=function(e,t,n,r,o,i,a,s){var u=[],c=0,l=0,f=!1,d=function(){!f||u.length||c||t.complete()},h=function(e){return c<r?p(e):u.push(e)},p=function e(s){i&&t.next(s),c++;var f=!1;pv.innerFrom(n(s,l++)).subscribe(gv.createOperatorSubscriber(t,(function(e){null==o||o(e),i?h(e):t.next(e)}),(function(){f=!0}),void 0,(function(){if(f)try{c--;for(var n=function(){var n=u.shift();a?mv.executeSchedule(t,a,(function(){return e(n)})):e(n)};u.length&&c<r;)n();d()}catch(e){t.error(e)}})))};return e.subscribe(gv.createOperatorSubscriber(t,h,(function(){f=!0,d()}))),function(){null==s||s()}},Object.defineProperty(dv,"__esModule",{value:!0}),dv.mergeMap=void 0;var yv=Cy,vv=Nm,_v=Fh,bv=hv,wv=Yd;dv.mergeMap=function e(t,n,r){return void 0===r&&(r=Infinity),wv.isFunction(n)?e((function(e,r){return yv.map((function(t,o){return n(e,t,r,o)}))(vv.innerFrom(t(e,r)))}),r):("number"==typeof n&&(r=n),_v.operate((function(e,n){return bv.mergeInternals(e,n,t,r)})))},Object.defineProperty(fv,"__esModule",{value:!0}),fv.mergeAll=void 0;var Sv=dv,xv=Sh;fv.mergeAll=function(e){return void 0===e&&(e=Infinity),Sv.mergeMap(xv.identity,e)},Object.defineProperty(lv,"__esModule",{value:!0}),lv.concatAll=void 0;var kv=fv;lv.concatAll=function(){return kv.mergeAll(1)},Object.defineProperty(cv,"__esModule",{value:!0}),cv.concat=void 0;var Ev=lv,Av=wm,Cv=Cm;cv.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ev.concatAll()(Cv.from(e,Av.popScheduler(e)))};var Ov={},Rv={};Object.defineProperty(Rv,"__esModule",{value:!0}),Rv.defer=void 0;var Nv=Jd,Iv=Nm;Rv.defer=function(e){return new Nv.Observable((function(t){Iv.innerFrom(e()).subscribe(t)}))},Object.defineProperty(Ov,"__esModule",{value:!0}),Ov.connectable=void 0;var Pv=ip,Tv=Jd,Mv=Rv,jv={connector:function(){return new Pv.Subject},resetOnDisconnect:!0};Ov.connectable=function(e,t){void 0===t&&(t=jv);var n=null,r=t.connector,o=t.resetOnDisconnect,i=void 0===o||o,a=r(),s=new Tv.Observable((function(e){return a.subscribe(e)}));return s.connect=function(){return n&&!n.closed||(n=Mv.defer((function(){return e})).subscribe(a),i&&n.add((function(){return a=r()}))),n},s};var Fv={};Object.defineProperty(Fv,"__esModule",{value:!0}),Fv.forkJoin=void 0;var Lv=Jd,Dv=Vy,qv=Nm,Bv=wm,Uv=qh,zv=Ay,Gv=Zy;Fv.forkJoin=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Bv.popResultSelector(e),r=Dv.argsArgArrayOrObject(e),o=r.args,i=r.keys,a=new Lv.Observable((function(e){var t=o.length;if(t)for(var n=new Array(t),r=t,a=t,s=function(t){var s=!1;qv.innerFrom(o[t]).subscribe(Uv.createOperatorSubscriber(e,(function(e){s||(s=!0,a--),n[t]=e}),(function(){return r--}),void 0,(function(){r&&s||(a||e.next(i?Gv.createObject(i,n):n),e.complete())})))},u=0;u<t;u++)s(u);else e.complete()}));return n?a.pipe(zv.mapOneOrManyArgs(n)):a};var Hv={},Wv=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(Hv,"__esModule",{value:!0}),Hv.fromEvent=void 0;var Vv=Nm,$v=Jd,Jv=dv,Kv=Im,Yv=Yd,Zv=Ay,Xv=["addListener","removeListener"],Qv=["addEventListener","removeEventListener"],e_=["on","off"];function t_(e,t){return function(n){return function(r){return e[n](t,r)}}}Hv.fromEvent=function e(t,n,r,o){if(Yv.isFunction(r)&&(o=r,r=void 0),o)return e(t,n,r).pipe(Zv.mapOneOrManyArgs(o));var i=Wv(function(e){return Yv.isFunction(e.addEventListener)&&Yv.isFunction(e.removeEventListener)}(t)?Qv.map((function(e){return function(o){return t[e](n,o,r)}})):function(e){return Yv.isFunction(e.addListener)&&Yv.isFunction(e.removeListener)}(t)?Xv.map(t_(t,n)):function(e){return Yv.isFunction(e.on)&&Yv.isFunction(e.off)}(t)?e_.map(t_(t,n)):[],2),a=i[0],s=i[1];if(!a&&Kv.isArrayLike(t))return Jv.mergeMap((function(t){return e(t,n,r)}))(Vv.innerFrom(t));if(!a)throw new TypeError("Invalid event target");return new $v.Observable((function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return a(t),function(){return s(t)}}))};var n_={};Object.defineProperty(n_,"__esModule",{value:!0}),n_.fromEventPattern=void 0;var r_=Jd,o_=Yd,i_=Ay;n_.fromEventPattern=function e(t,n,r){return r?e(t,n).pipe(i_.mapOneOrManyArgs(r)):new r_.Observable((function(e){var r=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1===t.length?t[0]:t)},o=t(r);return o_.isFunction(n)?function(){return n(r,o)}:void 0}))};var a_={},s_=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}};Object.defineProperty(a_,"__esModule",{value:!0}),a_.generate=void 0;var u_=Sh,c_=Sm,l_=Rv,f_=Tg;a_.generate=function(e,t,n,r,o){var i,a,s,u;function c(){var e;return s_(this,(function(r){switch(r.label){case 0:e=u,r.label=1;case 1:return t&&!t(e)?[3,4]:[4,s(e)];case 2:r.sent(),r.label=3;case 3:return e=n(e),[3,1];case 4:return[2]}}))}return 1===arguments.length?(u=(i=e).initialState,t=i.condition,n=i.iterate,s=void 0===(a=i.resultSelector)?u_.identity:a,o=i.scheduler):(u=e,!r||c_.isScheduler(r)?(s=u_.identity,o=r):s=r),l_.defer(o?function(){return f_.scheduleIterable(c(),o)}:c)};var d_={};Object.defineProperty(d_,"__esModule",{value:!0}),d_.iif=void 0;var h_=Rv;d_.iif=function(e,t,n){return h_.defer((function(){return e()?t:n}))};var p_={},m_={};Object.defineProperty(m_,"__esModule",{value:!0}),m_.timer=void 0;var g_=Jd,y_=Qp,v_=Sm,__=xy;m_.timer=function(e,t,n){void 0===e&&(e=0),void 0===n&&(n=y_.async);var r=-1;return null!=t&&(v_.isScheduler(t)?n=t:r=t),new g_.Observable((function(t){var o=__.isValidDate(e)?+e-n.now():e;o<0&&(o=0);var i=0;return n.schedule((function(){t.closed||(t.next(i++),0<=r?this.schedule(void 0,r):t.complete())}),o)}))},Object.defineProperty(p_,"__esModule",{value:!0}),p_.interval=void 0;var b_=Qp,w_=m_;p_.interval=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=b_.asyncScheduler),e<0&&(e=0),w_.timer(e,e,t)};var S_={};Object.defineProperty(S_,"__esModule",{value:!0}),S_.merge=void 0;var x_=fv,k_=Nm,E_=_m,A_=wm,C_=Cm;S_.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=A_.popScheduler(e),r=A_.popNumber(e,Infinity),o=e;return o.length?1===o.length?k_.innerFrom(o[0]):x_.mergeAll(r)(C_.from(o,n)):E_.EMPTY};var O_={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.never=e.NEVER=void 0,e.NEVER=new Jd.Observable(ph.noop),e.never=function(){return e.NEVER}}(O_);var R_={},N_={};Object.defineProperty(N_,"__esModule",{value:!0}),N_.argsOrArgArray=void 0;var I_=Array.isArray;N_.argsOrArgArray=function(e){return 1===e.length&&I_(e[0])?e[0]:e},Object.defineProperty(R_,"__esModule",{value:!0}),R_.onErrorResumeNext=void 0;var P_=Jd,T_=N_,M_=qh,j_=ph,F_=Nm;R_.onErrorResumeNext=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=T_.argsOrArgArray(e);return new P_.Observable((function(e){var t=0;!function r(){if(t<n.length){var o=void 0;try{o=F_.innerFrom(n[t++])}catch(e){return void r()}var i=new M_.OperatorSubscriber(e,void 0,j_.noop,j_.noop);o.subscribe(i),i.add(r)}else e.complete()}()}))};var L_={};Object.defineProperty(L_,"__esModule",{value:!0}),L_.pairs=void 0;var D_=Cm;L_.pairs=function(e,t){return D_.from(Object.entries(e),t)};var q_={},B_={};Object.defineProperty(B_,"__esModule",{value:!0}),B_.not=void 0,B_.not=function(e,t){return function(n,r){return!e.call(t,n,r)}};var U_={};Object.defineProperty(U_,"__esModule",{value:!0}),U_.filter=void 0;var z_=Fh,G_=qh;U_.filter=function(e,t){return z_.operate((function(n,r){var o=0;n.subscribe(G_.createOperatorSubscriber(r,(function(n){return e.call(t,n,o++)&&r.next(n)})))}))},Object.defineProperty(q_,"__esModule",{value:!0}),q_.partition=void 0;var H_=B_,W_=U_,V_=Nm;q_.partition=function(e,t,n){return[W_.filter(t,n)(V_.innerFrom(e)),W_.filter(H_.not(t,n))(V_.innerFrom(e))]};var $_={};Object.defineProperty($_,"__esModule",{value:!0}),$_.raceInit=$_.race=void 0;var J_=Jd,K_=Nm,Y_=N_,Z_=qh;function X_(e){return function(t){for(var n=[],r=function(r){n.push(K_.innerFrom(e[r]).subscribe(Z_.createOperatorSubscriber(t,(function(e){if(n){for(var o=0;o<n.length;o++)o!==r&&n[o].unsubscribe();n=null}t.next(e)}))))},o=0;n&&!t.closed&&o<e.length;o++)r(o)}}$_.race=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=Y_.argsOrArgArray(e)).length?K_.innerFrom(e[0]):new J_.Observable(X_(e))},$_.raceInit=X_;var Q_={};Object.defineProperty(Q_,"__esModule",{value:!0}),Q_.range=void 0;var eb=Jd,tb=_m;Q_.range=function(e,t,n){if(null==t&&(t=e,e=0),t<=0)return tb.EMPTY;var r=t+e;return new eb.Observable(n?function(t){var o=e;return n.schedule((function(){o<r?(t.next(o++),this.schedule()):t.complete()}))}:function(t){for(var n=e;n<r&&!t.closed;)t.next(n++);t.complete()})};var nb={};Object.defineProperty(nb,"__esModule",{value:!0}),nb.using=void 0;var rb=Jd,ob=Nm,ib=_m;nb.using=function(e,t){return new rb.Observable((function(n){var r=e(),o=t(r);return(o?ob.innerFrom(o):ib.EMPTY).subscribe(n),function(){r&&r.unsubscribe()}}))};var ab={},sb=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},ub=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(ab,"__esModule",{value:!0}),ab.zip=void 0;var cb=Jd,lb=Nm,fb=N_,db=_m,hb=qh,pb=wm;ab.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=pb.popResultSelector(e),r=fb.argsOrArgArray(e);return r.length?new cb.Observable((function(e){var t=r.map((function(){return[]})),o=r.map((function(){return!1}));e.add((function(){t=o=null}));for(var i=function(i){lb.innerFrom(r[i]).subscribe(hb.createOperatorSubscriber(e,(function(r){if(t[i].push(r),t.every((function(e){return e.length}))){var a=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,ub([],sb(a))):a),t.some((function(e,t){return!e.length&&o[t]}))&&e.complete()}}),(function(){o[i]=!0,!t[i].length&&e.complete()})))},a=0;!e.closed&&a<r.length;a++)i(a);return function(){t=o=null}})):db.EMPTY};var mb={};Object.defineProperty(mb,"__esModule",{value:!0});var gb={};Object.defineProperty(gb,"__esModule",{value:!0}),gb.audit=void 0;var yb=Fh,vb=Nm,_b=qh;gb.audit=function(e){return yb.operate((function(t,n){var r=!1,o=null,i=null,a=!1,s=function(){if(null==i||i.unsubscribe(),i=null,r){r=!1;var e=o;o=null,n.next(e)}a&&n.complete()},u=function(){i=null,a&&n.complete()};t.subscribe(_b.createOperatorSubscriber(n,(function(t){r=!0,o=t,i||vb.innerFrom(e(t)).subscribe(i=_b.createOperatorSubscriber(n,s,u))}),(function(){a=!0,(!r||!i||i.closed)&&n.complete()})))}))};var bb={};Object.defineProperty(bb,"__esModule",{value:!0}),bb.auditTime=void 0;var wb=Qp,Sb=gb,xb=m_;bb.auditTime=function(e,t){return void 0===t&&(t=wb.asyncScheduler),Sb.audit((function(){return xb.timer(e,t)}))};var kb={};Object.defineProperty(kb,"__esModule",{value:!0}),kb.buffer=void 0;var Eb=Fh,Ab=ph,Cb=qh,Ob=Nm;kb.buffer=function(e){return Eb.operate((function(t,n){var r=[];return t.subscribe(Cb.createOperatorSubscriber(n,(function(e){return r.push(e)}),(function(){n.next(r),n.complete()}))),Ob.innerFrom(e).subscribe(Cb.createOperatorSubscriber(n,(function(){var e=r;r=[],n.next(e)}),Ab.noop)),function(){r=null}}))};var Rb={},Nb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Rb,"__esModule",{value:!0}),Rb.bufferCount=void 0;var Ib=Fh,Pb=qh,Tb=eh;Rb.bufferCount=function(e,t){return void 0===t&&(t=null),t=null!=t?t:e,Ib.operate((function(n,r){var o=[],i=0;n.subscribe(Pb.createOperatorSubscriber(r,(function(n){var a,s,u,c,l=null;i++%t==0&&o.push([]);try{for(var f=Nb(o),d=f.next();!d.done;d=f.next())(m=d.value).push(n),e<=m.length&&(l=null!=l?l:[]).push(m)}catch(e){a={error:e}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(a)throw a.error}}if(l)try{for(var h=Nb(l),p=h.next();!p.done;p=h.next()){var m;Tb.arrRemove(o,m=p.value),r.next(m)}}catch(e){u={error:e}}finally{try{p&&!p.done&&(c=h.return)&&c.call(h)}finally{if(u)throw u.error}}}),(function(){var e,t;try{for(var n=Nb(o),i=n.next();!i.done;i=n.next())r.next(i.value)}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}r.complete()}),void 0,(function(){o=null})))}))};var Mb={},jb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Mb,"__esModule",{value:!0}),Mb.bufferTime=void 0;var Fb=Zd,Lb=Fh,Db=qh,qb=eh,Bb=Qp,Ub=wm,zb=vg;Mb.bufferTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var i=null!==(t=Ub.popScheduler(r))&&void 0!==t?t:Bb.asyncScheduler,a=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return Lb.operate((function(t,n){var r=[],o=!1,u=function(e){var t=e.buffer;e.subs.unsubscribe(),qb.arrRemove(r,e),n.next(t),o&&c()},c=function(){if(r){var t=new Fb.Subscription;n.add(t);var o={buffer:[],subs:t};r.push(o),zb.executeSchedule(t,i,(function(){return u(o)}),e)}};null!==a&&a>=0?zb.executeSchedule(n,i,c,a,!0):o=!0,c();var l=Db.createOperatorSubscriber(n,(function(e){var t,n,o=r.slice();try{for(var i=jb(o),a=i.next();!a.done;a=i.next()){var c=a.value,l=c.buffer;l.push(e),s<=l.length&&u(c)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}}),(function(){for(;null==r?void 0:r.length;)n.next(r.shift().buffer);null==l||l.unsubscribe(),n.complete(),n.unsubscribe()}),void 0,(function(){return r=null}));t.subscribe(l)}))};var Gb={},Hb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Gb,"__esModule",{value:!0}),Gb.bufferToggle=void 0;var Wb=Zd,Vb=Fh,$b=Nm,Jb=qh,Kb=ph,Yb=eh;Gb.bufferToggle=function(e,t){return Vb.operate((function(n,r){var o=[];$b.innerFrom(e).subscribe(Jb.createOperatorSubscriber(r,(function(e){var n=[];o.push(n);var i=new Wb.Subscription;i.add($b.innerFrom(t(e)).subscribe(Jb.createOperatorSubscriber(r,(function(){Yb.arrRemove(o,n),r.next(n),i.unsubscribe()}),Kb.noop)))}),Kb.noop)),n.subscribe(Jb.createOperatorSubscriber(r,(function(e){var t,n;try{for(var r=Hb(o),i=r.next();!i.done;i=r.next())i.value.push(e)}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}}),(function(){for(;o.length>0;)r.next(o.shift());r.complete()})))}))};var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0}),Zb.bufferWhen=void 0;var Xb=Fh,Qb=ph,ew=qh,tw=Nm;Zb.bufferWhen=function(e){return Xb.operate((function(t,n){var r=null,o=null;!function t(){null==o||o.unsubscribe();var i=r;r=[],i&&n.next(i),tw.innerFrom(e()).subscribe(o=ew.createOperatorSubscriber(n,t,Qb.noop))}(),t.subscribe(ew.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.push(e)}),(function(){r&&n.next(r),n.complete()}),void 0,(function(){return r=o=null})))}))};var nw={};Object.defineProperty(nw,"__esModule",{value:!0}),nw.catchError=void 0;var rw=Nm,ow=qh,iw=Fh;nw.catchError=function e(t){return iw.operate((function(n,r){var o,i=null,a=!1;i=n.subscribe(ow.createOperatorSubscriber(r,void 0,void 0,(function(s){o=rw.innerFrom(t(s,e(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(r)):a=!0}))),a&&(i.unsubscribe(),i=null,o.subscribe(r))}))};var aw={},sw={},uw={},cw={},lw={},fw={};Object.defineProperty(fw,"__esModule",{value:!0}),fw.scanInternals=void 0;var dw=qh;fw.scanInternals=function(e,t,n,r,o){return function(i,a){var s=n,u=t,c=0;i.subscribe(dw.createOperatorSubscriber(a,(function(t){var n=c++;u=s?e(u,t,n):(s=!0,t),r&&a.next(u)}),o&&function(){s&&a.next(u),a.complete()}))}},Object.defineProperty(lw,"__esModule",{value:!0}),lw.reduce=void 0;var hw=fw,pw=Fh;lw.reduce=function(e,t){return pw.operate(hw.scanInternals(e,t,arguments.length>=2,!1,!0))},Object.defineProperty(cw,"__esModule",{value:!0}),cw.toArray=void 0;var mw=lw,gw=Fh,yw=function(e,t){return e.push(t),e};cw.toArray=function(){return gw.operate((function(e,t){mw.reduce(yw,[])(e).subscribe(t)}))},Object.defineProperty(uw,"__esModule",{value:!0}),uw.joinAllInternals=void 0;var vw=Sh,_w=Ay,bw=wh,ww=dv,Sw=cw;uw.joinAllInternals=function(e,t){return bw.pipe(Sw.toArray(),ww.mergeMap((function(t){return e(t)})),t?_w.mapOneOrManyArgs(t):vw.identity)},Object.defineProperty(sw,"__esModule",{value:!0}),sw.combineLatestAll=void 0;var xw=Wy,kw=uw;sw.combineLatestAll=function(e){return kw.joinAllInternals(xw.combineLatest,e)},Object.defineProperty(aw,"__esModule",{value:!0}),aw.combineAll=void 0,aw.combineAll=sw.combineLatestAll;var Ew={},Aw={},Cw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Ow=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Aw,"__esModule",{value:!0}),Aw.combineLatest=void 0;var Rw=Wy,Nw=Fh,Iw=N_,Pw=Ay,Tw=wh,Mw=wm;Aw.combineLatest=function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=Mw.popResultSelector(t);return r?Tw.pipe(e.apply(void 0,Ow([],Cw(t))),Pw.mapOneOrManyArgs(r)):Nw.operate((function(e,n){Rw.combineLatestInit(Ow([e],Cw(Iw.argsOrArgArray(t))))(n)}))};var jw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Fw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ew,"__esModule",{value:!0}),Ew.combineLatestWith=void 0;var Lw=Aw;Ew.combineLatestWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Lw.combineLatest.apply(void 0,Fw([],jw(e)))};var Dw={};Object.defineProperty(Dw,"__esModule",{value:!0}),Dw.concatMap=void 0;var qw=dv,Bw=Yd;Dw.concatMap=function(e,t){return Bw.isFunction(t)?qw.mergeMap(e,t,1):qw.mergeMap(e,1)};var Uw={};Object.defineProperty(Uw,"__esModule",{value:!0}),Uw.concatMapTo=void 0;var zw=Dw,Gw=Yd;Uw.concatMapTo=function(e,t){return Gw.isFunction(t)?zw.concatMap((function(){return e}),t):zw.concatMap((function(){return e}))};var Hw={},Ww={},Vw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},$w=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ww,"__esModule",{value:!0}),Ww.concat=void 0;var Jw=Fh,Kw=lv,Yw=wm,Zw=Cm;Ww.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Yw.popScheduler(e);return Jw.operate((function(t,r){Kw.concatAll()(Zw.from($w([t],Vw(e)),n)).subscribe(r)}))};var Xw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Qw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Hw,"__esModule",{value:!0}),Hw.concatWith=void 0;var eS=Ww;Hw.concatWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return eS.concat.apply(void 0,Qw([],Xw(e)))};var tS={},nS={};Object.defineProperty(nS,"__esModule",{value:!0}),nS.fromSubscribable=void 0;var rS=Jd;nS.fromSubscribable=function(e){return new rS.Observable((function(t){return e.subscribe(t)}))},Object.defineProperty(tS,"__esModule",{value:!0}),tS.connect=void 0;var oS=ip,iS=Nm,aS=Fh,sS=nS,uS={connector:function(){return new oS.Subject}};tS.connect=function(e,t){void 0===t&&(t=uS);var n=t.connector;return aS.operate((function(t,r){var o=n();iS.innerFrom(e(sS.fromSubscribable(o))).subscribe(r),r.add(t.subscribe(o))}))};var cS={};Object.defineProperty(cS,"__esModule",{value:!0}),cS.count=void 0;var lS=lw;cS.count=function(e){return lS.reduce((function(t,n,r){return!e||e(n,r)?t+1:t}),0)};var fS={};Object.defineProperty(fS,"__esModule",{value:!0}),fS.debounce=void 0;var dS=Fh,hS=ph,pS=qh,mS=Nm;fS.debounce=function(e){return dS.operate((function(t,n){var r=!1,o=null,i=null,a=function(){if(null==i||i.unsubscribe(),i=null,r){r=!1;var e=o;o=null,n.next(e)}};t.subscribe(pS.createOperatorSubscriber(n,(function(t){null==i||i.unsubscribe(),r=!0,o=t,i=pS.createOperatorSubscriber(n,a,hS.noop),mS.innerFrom(e(t)).subscribe(i)}),(function(){a(),n.complete()}),void 0,(function(){o=i=null})))}))};var gS={};Object.defineProperty(gS,"__esModule",{value:!0}),gS.debounceTime=void 0;var yS=Qp,vS=Fh,_S=qh;gS.debounceTime=function(e,t){return void 0===t&&(t=yS.asyncScheduler),vS.operate((function(n,r){var o=null,i=null,a=null,s=function(){if(o){o.unsubscribe(),o=null;var e=i;i=null,r.next(e)}};function u(){var n=a+e,i=t.now();if(i<n)return o=this.schedule(void 0,n-i),void r.add(o);s()}n.subscribe(_S.createOperatorSubscriber(r,(function(n){i=n,a=t.now(),o||(o=t.schedule(u,e),r.add(o))}),(function(){s(),r.complete()}),void 0,(function(){i=o=null})))}))};var bS={};Object.defineProperty(bS,"__esModule",{value:!0}),bS.defaultIfEmpty=void 0;var wS=Fh,SS=qh;bS.defaultIfEmpty=function(e){return wS.operate((function(t,n){var r=!1;t.subscribe(SS.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))};var xS={},kS={},ES={};Object.defineProperty(ES,"__esModule",{value:!0}),ES.take=void 0;var AS=_m,CS=Fh,OS=qh;ES.take=function(e){return e<=0?function(){return AS.EMPTY}:CS.operate((function(t,n){var r=0;t.subscribe(OS.createOperatorSubscriber(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))};var RS={};Object.defineProperty(RS,"__esModule",{value:!0}),RS.ignoreElements=void 0;var NS=Fh,IS=qh,PS=ph;RS.ignoreElements=function(){return NS.operate((function(e,t){e.subscribe(IS.createOperatorSubscriber(t,PS.noop))}))};var TS={};Object.defineProperty(TS,"__esModule",{value:!0}),TS.mapTo=void 0;var MS=Cy;TS.mapTo=function(e){return MS.map((function(){return e}))},Object.defineProperty(kS,"__esModule",{value:!0}),kS.delayWhen=void 0;var jS=cv,FS=ES,LS=RS,DS=TS,qS=dv,BS=Nm;kS.delayWhen=function e(t,n){return n?function(r){return jS.concat(n.pipe(FS.take(1),LS.ignoreElements()),r.pipe(e(t)))}:qS.mergeMap((function(e,n){return BS.innerFrom(t(e,n)).pipe(FS.take(1),DS.mapTo(e))}))},Object.defineProperty(xS,"__esModule",{value:!0}),xS.delay=void 0;var US=Qp,zS=kS,GS=m_;xS.delay=function(e,t){void 0===t&&(t=US.asyncScheduler);var n=GS.timer(e,t);return zS.delayWhen((function(){return n}))};var HS={};Object.defineProperty(HS,"__esModule",{value:!0}),HS.dematerialize=void 0;var WS=vm,VS=Fh,$S=qh;HS.dematerialize=function(){return VS.operate((function(e,t){e.subscribe($S.createOperatorSubscriber(t,(function(e){return WS.observeNotification(e,t)})))}))};var JS={};Object.defineProperty(JS,"__esModule",{value:!0}),JS.distinct=void 0;var KS=Fh,YS=qh,ZS=ph,XS=Nm;JS.distinct=function(e,t){return KS.operate((function(n,r){var o=new Set;n.subscribe(YS.createOperatorSubscriber(r,(function(t){var n=e?e(t):t;o.has(n)||(o.add(n),r.next(t))}))),t&&XS.innerFrom(t).subscribe(YS.createOperatorSubscriber(r,(function(){return o.clear()}),ZS.noop))}))};var QS={};Object.defineProperty(QS,"__esModule",{value:!0}),QS.distinctUntilChanged=void 0;var ex=Sh,tx=Fh,nx=qh;function rx(e,t){return e===t}QS.distinctUntilChanged=function(e,t){return void 0===t&&(t=ex.identity),e=null!=e?e:rx,tx.operate((function(n,r){var o,i=!0;n.subscribe(nx.createOperatorSubscriber(r,(function(n){var a=t(n);!i&&e(o,a)||(i=!1,o=a,r.next(n))})))}))};var ox={};Object.defineProperty(ox,"__esModule",{value:!0}),ox.distinctUntilKeyChanged=void 0;var ix=QS;ox.distinctUntilKeyChanged=function(e,t){return ix.distinctUntilChanged((function(n,r){return t?t(n[e],r[e]):n[e]===r[e]}))};var ax={},sx={};Object.defineProperty(sx,"__esModule",{value:!0}),sx.throwIfEmpty=void 0;var ux=py,cx=Fh,lx=qh;function fx(){return new ux.EmptyError}sx.throwIfEmpty=function(e){return void 0===e&&(e=fx),cx.operate((function(t,n){var r=!1;t.subscribe(lx.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))},Object.defineProperty(ax,"__esModule",{value:!0}),ax.elementAt=void 0;var dx=_y,hx=U_,px=sx,mx=bS,gx=ES;ax.elementAt=function(e,t){if(e<0)throw new dx.ArgumentOutOfRangeError;var n=arguments.length>=2;return function(r){return r.pipe(hx.filter((function(t,n){return n===e})),gx.take(1),n?mx.defaultIfEmpty(t):px.throwIfEmpty((function(){return new dx.ArgumentOutOfRangeError})))}};var yx={},vx=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},_x=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(yx,"__esModule",{value:!0}),yx.endWith=void 0;var bx=cv,wx=bm;yx.endWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return bx.concat(t,wx.of.apply(void 0,_x([],vx(e))))}};var Sx={};Object.defineProperty(Sx,"__esModule",{value:!0}),Sx.every=void 0;var xx=Fh,kx=qh;Sx.every=function(e,t){return xx.operate((function(n,r){var o=0;n.subscribe(kx.createOperatorSubscriber(r,(function(i){e.call(t,i,o++,n)||(r.next(!1),r.complete())}),(function(){r.next(!0),r.complete()})))}))};var Ex={},Ax={},Cx={};Object.defineProperty(Cx,"__esModule",{value:!0}),Cx.exhaustMap=void 0;var Ox=Cy,Rx=Nm,Nx=Fh,Ix=qh;Cx.exhaustMap=function e(t,n){return n?function(r){return r.pipe(e((function(e,r){return Rx.innerFrom(t(e,r)).pipe(Ox.map((function(t,o){return n(e,t,r,o)})))})))}:Nx.operate((function(e,n){var r=0,o=null,i=!1;e.subscribe(Ix.createOperatorSubscriber(n,(function(e){o||(o=Ix.createOperatorSubscriber(n,void 0,(function(){o=null,i&&n.complete()})),Rx.innerFrom(t(e,r++)).subscribe(o))}),(function(){i=!0,!o&&n.complete()})))}))},Object.defineProperty(Ax,"__esModule",{value:!0}),Ax.exhaustAll=void 0;var Px=Cx,Tx=Sh;Ax.exhaustAll=function(){return Px.exhaustMap(Tx.identity)},Object.defineProperty(Ex,"__esModule",{value:!0}),Ex.exhaust=void 0,Ex.exhaust=Ax.exhaustAll;var Mx={};Object.defineProperty(Mx,"__esModule",{value:!0}),Mx.expand=void 0;var jx=Fh,Fx=hv;Mx.expand=function(e,t,n){return void 0===t&&(t=Infinity),t=(t||0)<1?Infinity:t,jx.operate((function(r,o){return Fx.mergeInternals(r,o,e,t,void 0,!0,n)}))};var Lx={};Object.defineProperty(Lx,"__esModule",{value:!0}),Lx.finalize=void 0;var Dx=Fh;Lx.finalize=function(e){return Dx.operate((function(t,n){try{t.subscribe(n)}finally{n.add(e)}}))};var qx={};Object.defineProperty(qx,"__esModule",{value:!0}),qx.createFind=qx.find=void 0;var Bx=Fh,Ux=qh;function zx(e,t,n){var r="index"===n;return function(n,o){var i=0;n.subscribe(Ux.createOperatorSubscriber(o,(function(a){var s=i++;e.call(t,a,s,n)&&(o.next(r?s:a),o.complete())}),(function(){o.next(r?-1:void 0),o.complete()})))}}qx.find=function(e,t){return Bx.operate(zx(e,t,"value"))},qx.createFind=zx;var Gx={};Object.defineProperty(Gx,"__esModule",{value:!0}),Gx.findIndex=void 0;var Hx=Fh,Wx=qx;Gx.findIndex=function(e,t){return Hx.operate(Wx.createFind(e,t,"index"))};var Vx={};Object.defineProperty(Vx,"__esModule",{value:!0}),Vx.first=void 0;var $x=py,Jx=U_,Kx=ES,Yx=bS,Zx=sx,Xx=Sh;Vx.first=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Jx.filter((function(t,n){return e(t,n,r)})):Xx.identity,Kx.take(1),n?Yx.defaultIfEmpty(t):Zx.throwIfEmpty((function(){return new $x.EmptyError})))}};var Qx={};Object.defineProperty(Qx,"__esModule",{value:!0}),Qx.groupBy=void 0;var ek=Jd,tk=Nm,nk=ip,rk=Fh,ok=qh;Qx.groupBy=function(e,t,n,r){return rk.operate((function(o,i){var a;t&&"function"!=typeof t?(n=t.duration,a=t.element,r=t.connector):a=t;var s=new Map,u=function(e){s.forEach(e),e(i)},c=function(e){return u((function(t){return t.error(e)}))},l=0,f=!1,d=new ok.OperatorSubscriber(i,(function(t){try{var o=e(t),u=s.get(o);if(!u){s.set(o,u=r?r():new nk.Subject);var h=(m=o,g=u,(y=new ek.Observable((function(e){l++;var t=g.subscribe(e);return function(){t.unsubscribe(),0==--l&&f&&d.unsubscribe()}}))).key=m,y);if(i.next(h),n){var p=ok.createOperatorSubscriber(u,(function(){u.complete(),null==p||p.unsubscribe()}),void 0,void 0,(function(){return s.delete(o)}));d.add(tk.innerFrom(n(h)).subscribe(p))}}u.next(a?a(t):t)}catch(e){c(e)}var m,g,y}),(function(){return u((function(e){return e.complete()}))}),c,(function(){return s.clear()}),(function(){return f=!0,0===l}));o.subscribe(d)}))};var ik={};Object.defineProperty(ik,"__esModule",{value:!0}),ik.isEmpty=void 0;var ak=Fh,sk=qh;ik.isEmpty=function(){return ak.operate((function(e,t){e.subscribe(sk.createOperatorSubscriber(t,(function(){t.next(!1),t.complete()}),(function(){t.next(!0),t.complete()})))}))};var uk={},ck={},lk=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(ck,"__esModule",{value:!0}),ck.takeLast=void 0;var fk=_m,dk=Fh,hk=qh;ck.takeLast=function(e){return e<=0?function(){return fk.EMPTY}:dk.operate((function(t,n){var r=[];t.subscribe(hk.createOperatorSubscriber(n,(function(t){r.push(t),e<r.length&&r.shift()}),(function(){var e,t;try{for(var o=lk(r),i=o.next();!i.done;i=o.next())n.next(i.value)}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}n.complete()}),void 0,(function(){r=null})))}))},Object.defineProperty(uk,"__esModule",{value:!0}),uk.last=void 0;var pk=py,mk=U_,gk=ck,yk=sx,vk=bS,_k=Sh;uk.last=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?mk.filter((function(t,n){return e(t,n,r)})):_k.identity,gk.takeLast(1),n?vk.defaultIfEmpty(t):yk.throwIfEmpty((function(){return new pk.EmptyError})))}};var bk={};Object.defineProperty(bk,"__esModule",{value:!0}),bk.materialize=void 0;var wk=vm,Sk=Fh,xk=qh;bk.materialize=function(){return Sk.operate((function(e,t){e.subscribe(xk.createOperatorSubscriber(t,(function(e){t.next(wk.Notification.createNext(e))}),(function(){t.next(wk.Notification.createComplete()),t.complete()}),(function(e){t.next(wk.Notification.createError(e)),t.complete()})))}))};var kk={};Object.defineProperty(kk,"__esModule",{value:!0}),kk.max=void 0;var Ek=lw,Ak=Yd;kk.max=function(e){return Ek.reduce(Ak.isFunction(e)?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})};var Ck={};Object.defineProperty(Ck,"__esModule",{value:!0}),Ck.flatMap=void 0,Ck.flatMap=dv.mergeMap;var Ok={};Object.defineProperty(Ok,"__esModule",{value:!0}),Ok.mergeMapTo=void 0;var Rk=dv,Nk=Yd;Ok.mergeMapTo=function(e,t,n){return void 0===n&&(n=Infinity),Nk.isFunction(t)?Rk.mergeMap((function(){return e}),t,n):("number"==typeof t&&(n=t),Rk.mergeMap((function(){return e}),n))};var Ik={};Object.defineProperty(Ik,"__esModule",{value:!0}),Ik.mergeScan=void 0;var Pk=Fh,Tk=hv;Ik.mergeScan=function(e,t,n){return void 0===n&&(n=Infinity),Pk.operate((function(r,o){var i=t;return Tk.mergeInternals(r,o,(function(t,n){return e(i,t,n)}),n,(function(e){i=e}),!1,void 0,(function(){return i=null}))}))};var Mk={},jk={},Fk=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Lk=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(jk,"__esModule",{value:!0}),jk.merge=void 0;var Dk=Fh,qk=N_,Bk=fv,Uk=wm,zk=Cm;jk.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Uk.popScheduler(e),r=Uk.popNumber(e,Infinity);return e=qk.argsOrArgArray(e),Dk.operate((function(t,o){Bk.mergeAll(r)(zk.from(Lk([t],Fk(e)),n)).subscribe(o)}))};var Gk=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Hk=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Mk,"__esModule",{value:!0}),Mk.mergeWith=void 0;var Wk=jk;Mk.mergeWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Wk.merge.apply(void 0,Hk([],Gk(e)))};var Vk={};Object.defineProperty(Vk,"__esModule",{value:!0}),Vk.min=void 0;var $k=lw,Jk=Yd;Vk.min=function(e){return $k.reduce(Jk.isFunction(e)?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e<t?e:t})};var Kk={};Object.defineProperty(Kk,"__esModule",{value:!0}),Kk.multicast=void 0;var Yk=Mh,Zk=Yd,Xk=tS;Kk.multicast=function(e,t){var n=Zk.isFunction(e)?e:function(){return e};return Zk.isFunction(t)?Xk.connect(t,{connector:n}):function(e){return new Yk.ConnectableObservable(e,n)}};var Qk={},eE=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},tE=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Qk,"__esModule",{value:!0}),Qk.onErrorResumeNext=Qk.onErrorResumeNextWith=void 0;var nE=N_,rE=R_;function oE(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=nE.argsOrArgArray(e);return function(e){return rE.onErrorResumeNext.apply(void 0,tE([e],eE(n)))}}Qk.onErrorResumeNextWith=oE,Qk.onErrorResumeNext=oE;var iE={};Object.defineProperty(iE,"__esModule",{value:!0}),iE.pairwise=void 0;var aE=Fh,sE=qh;iE.pairwise=function(){return aE.operate((function(e,t){var n,r=!1;e.subscribe(sE.createOperatorSubscriber(t,(function(e){var o=n;n=e,r&&t.next([o,e]),r=!0})))}))};var uE={};Object.defineProperty(uE,"__esModule",{value:!0}),uE.pluck=void 0;var cE=Cy;uE.pluck=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e.length;if(0===n)throw new Error("list of properties cannot be empty.");return cE.map((function(t){for(var r=t,o=0;o<n;o++){var i=null==r?void 0:r[e[o]];if(void 0===i)return;r=i}return r}))};var lE={};Object.defineProperty(lE,"__esModule",{value:!0}),lE.publish=void 0;var fE=ip,dE=Kk,hE=tS;lE.publish=function(e){return e?function(t){return hE.connect(e)(t)}:function(e){return dE.multicast(new fE.Subject)(e)}};var pE={};Object.defineProperty(pE,"__esModule",{value:!0}),pE.publishBehavior=void 0;var mE=gp,gE=Mh;pE.publishBehavior=function(e){return function(t){var n=new mE.BehaviorSubject(e);return new gE.ConnectableObservable(t,(function(){return n}))}};var yE={};Object.defineProperty(yE,"__esModule",{value:!0}),yE.publishLast=void 0;var vE=kp,_E=Mh;yE.publishLast=function(){return function(e){var t=new vE.AsyncSubject;return new _E.ConnectableObservable(e,(function(){return t}))}};var bE={};Object.defineProperty(bE,"__esModule",{value:!0}),bE.publishReplay=void 0;var wE=_p,SE=Kk,xE=Yd;bE.publishReplay=function(e,t,n,r){n&&!xE.isFunction(n)&&(r=n);var o=xE.isFunction(n)?n:void 0;return function(n){return SE.multicast(new wE.ReplaySubject(e,t,r),o)(n)}};var kE={},EE=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},AE=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(kE,"__esModule",{value:!0}),kE.raceWith=void 0;var CE=$_,OE=Fh,RE=Sh;kE.raceWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length?OE.operate((function(t,n){CE.raceInit(AE([t],EE(e)))(n)})):RE.identity};var NE={};Object.defineProperty(NE,"__esModule",{value:!0}),NE.repeat=void 0;var IE=_m,PE=Fh,TE=qh,ME=Nm,jE=m_;NE.repeat=function(e){var t,n,r=Infinity;return null!=e&&("object"===Z(e)?(r=void 0===(t=e.count)?Infinity:t,n=e.delay):r=e),r<=0?function(){return IE.EMPTY}:PE.operate((function(e,t){var o,i=0,a=function(){if(null==o||o.unsubscribe(),o=null,null!=n){var e="number"==typeof n?jE.timer(n):ME.innerFrom(n(i)),r=TE.createOperatorSubscriber(t,(function(){r.unsubscribe(),s()}));e.subscribe(r)}else s()},s=function(){var n=!1;o=e.subscribe(TE.createOperatorSubscriber(t,void 0,(function(){++i<r?o?a():n=!0:t.complete()}))),n&&a()};s()}))};var FE={};Object.defineProperty(FE,"__esModule",{value:!0}),FE.repeatWhen=void 0;var LE=Nm,DE=ip,qE=Fh,BE=qh;FE.repeatWhen=function(e){return qE.operate((function(t,n){var r,o,i=!1,a=!1,s=!1,u=function(){return s&&a&&(n.complete(),!0)},c=function(){return o||(o=new DE.Subject,LE.innerFrom(e(o)).subscribe(BE.createOperatorSubscriber(n,(function(){r?l():i=!0}),(function(){a=!0,u()})))),o},l=function e(){s=!1,r=t.subscribe(BE.createOperatorSubscriber(n,void 0,(function(){s=!0,!u()&&c().next()}))),i&&(r.unsubscribe(),r=null,i=!1,e())};l()}))};var UE={};Object.defineProperty(UE,"__esModule",{value:!0}),UE.retry=void 0;var zE=Fh,GE=qh,HE=Sh,WE=m_,VE=Nm;UE.retry=function(e){var t;void 0===e&&(e=Infinity);var n=(t=e&&"object"===Z(e)?e:{count:e}).count,r=void 0===n?Infinity:n,o=t.delay,i=t.resetOnSuccess,a=void 0!==i&&i;return r<=0?HE.identity:zE.operate((function(e,t){var n,i=0;!function s(){var u=!1;n=e.subscribe(GE.createOperatorSubscriber(t,(function(e){a&&(i=0),t.next(e)}),void 0,(function(e){if(i++<r){var a=function(){n?(n.unsubscribe(),n=null,s()):u=!0};if(null!=o){var c="number"==typeof o?WE.timer(o):VE.innerFrom(o(e,i)),l=GE.createOperatorSubscriber(t,(function(){l.unsubscribe(),a()}),(function(){t.complete()}));c.subscribe(l)}else a()}else t.error(e)}))),u&&(n.unsubscribe(),n=null,s())}()}))};var $E={};Object.defineProperty($E,"__esModule",{value:!0}),$E.retryWhen=void 0;var JE=Nm,KE=ip,YE=Fh,ZE=qh;$E.retryWhen=function(e){return YE.operate((function(t,n){var r,o,i=!1;!function a(){r=t.subscribe(ZE.createOperatorSubscriber(n,void 0,void 0,(function(t){o||(o=new KE.Subject,JE.innerFrom(e(o)).subscribe(ZE.createOperatorSubscriber(n,(function(){return r?a():i=!0})))),o&&o.next(t)}))),i&&(r.unsubscribe(),r=null,i=!1,a())}()}))};var XE={};Object.defineProperty(XE,"__esModule",{value:!0}),XE.sample=void 0;var QE=Nm,eA=Fh,tA=ph,nA=qh;XE.sample=function(e){return eA.operate((function(t,n){var r=!1,o=null;t.subscribe(nA.createOperatorSubscriber(n,(function(e){r=!0,o=e}))),QE.innerFrom(e).subscribe(nA.createOperatorSubscriber(n,(function(){if(r){r=!1;var e=o;o=null,n.next(e)}}),tA.noop))}))};var rA={};Object.defineProperty(rA,"__esModule",{value:!0}),rA.sampleTime=void 0;var oA=Qp,iA=XE,aA=p_;rA.sampleTime=function(e,t){return void 0===t&&(t=oA.asyncScheduler),iA.sample(aA.interval(e,t))};var sA={};Object.defineProperty(sA,"__esModule",{value:!0}),sA.scan=void 0;var uA=Fh,cA=fw;sA.scan=function(e,t){return uA.operate(cA.scanInternals(e,t,arguments.length>=2,!0))};var lA={};Object.defineProperty(lA,"__esModule",{value:!0}),lA.sequenceEqual=void 0;var fA=Fh,dA=qh,hA=Nm;lA.sequenceEqual=function(e,t){return void 0===t&&(t=function(e,t){return e===t}),fA.operate((function(n,r){var o={buffer:[],complete:!1},i={buffer:[],complete:!1},a=function(e){r.next(e),r.complete()},s=function(e,n){var o=dA.createOperatorSubscriber(r,(function(r){var o=n.buffer;0===o.length?n.complete?a(!1):e.buffer.push(r):!t(r,o.shift())&&a(!1)}),(function(){e.complete=!0,n.complete&&a(0===n.buffer.length),null==o||o.unsubscribe()}));return o};n.subscribe(s(o,i)),hA.innerFrom(e).subscribe(s(i,o))}))};var pA={},mA=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},gA=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(pA,"__esModule",{value:!0}),pA.share=void 0;var yA=Nm,vA=ip,_A=Kd,bA=Fh;function wA(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var o=new _A.SafeSubscriber({next:function(){o.unsubscribe(),e()}});return yA.innerFrom(t.apply(void 0,gA([],mA(n)))).subscribe(o)}}else e()}pA.share=function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new vA.Subject}:t,r=e.resetOnError,o=void 0===r||r,i=e.resetOnComplete,a=void 0===i||i,s=e.resetOnRefCountZero,u=void 0===s||s;return function(e){var t,r,i,s=0,c=!1,l=!1,f=function(){null==r||r.unsubscribe(),r=void 0},d=function(){f(),t=i=void 0,c=l=!1},h=function(){var e=t;d(),null==e||e.unsubscribe()};return bA.operate((function(e,p){s++,l||c||f();var m=i=null!=i?i:n();p.add((function(){0!=--s||l||c||(r=wA(h,u))})),m.subscribe(p),!t&&s>0&&(t=new _A.SafeSubscriber({next:function(e){return m.next(e)},error:function(e){l=!0,f(),r=wA(d,o,e),m.error(e)},complete:function(){c=!0,f(),r=wA(d,a),m.complete()}}),yA.innerFrom(e).subscribe(t))}))(e)}};var SA={};Object.defineProperty(SA,"__esModule",{value:!0}),SA.shareReplay=void 0;var xA=_p,kA=pA;SA.shareReplay=function(e,t,n){var r,o,i,a,s=!1;return e&&"object"===Z(e)?(a=void 0===(r=e.bufferSize)?Infinity:r,t=void 0===(o=e.windowTime)?Infinity:o,s=void 0!==(i=e.refCount)&&i,n=e.scheduler):a=null!=e?e:Infinity,kA.share({connector:function(){return new xA.ReplaySubject(a,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})};var EA={};Object.defineProperty(EA,"__esModule",{value:!0}),EA.single=void 0;var AA=py,CA=wy,OA=by,RA=Fh,NA=qh;EA.single=function(e){return RA.operate((function(t,n){var r,o=!1,i=!1,a=0;t.subscribe(NA.createOperatorSubscriber(n,(function(s){i=!0,e&&!e(s,a++,t)||(o&&n.error(new CA.SequenceError("Too many matching values")),o=!0,r=s)}),(function(){o?(n.next(r),n.complete()):n.error(i?new OA.NotFoundError("No matching values"):new AA.EmptyError)})))}))};var IA={};Object.defineProperty(IA,"__esModule",{value:!0}),IA.skip=void 0;var PA=U_;IA.skip=function(e){return PA.filter((function(t,n){return e<=n}))};var TA={};Object.defineProperty(TA,"__esModule",{value:!0}),TA.skipLast=void 0;var MA=Sh,jA=Fh,FA=qh;TA.skipLast=function(e){return e<=0?MA.identity:jA.operate((function(t,n){var r=new Array(e),o=0;return t.subscribe(FA.createOperatorSubscriber(n,(function(t){var i=o++;if(i<e)r[i]=t;else{var a=i%e,s=r[a];r[a]=t,n.next(s)}}))),function(){r=null}}))};var LA={};Object.defineProperty(LA,"__esModule",{value:!0}),LA.skipUntil=void 0;var DA=Fh,qA=qh,BA=Nm,UA=ph;LA.skipUntil=function(e){return DA.operate((function(t,n){var r=!1,o=qA.createOperatorSubscriber(n,(function(){null==o||o.unsubscribe(),r=!0}),UA.noop);BA.innerFrom(e).subscribe(o),t.subscribe(qA.createOperatorSubscriber(n,(function(e){return r&&n.next(e)})))}))};var zA={};Object.defineProperty(zA,"__esModule",{value:!0}),zA.skipWhile=void 0;var GA=Fh,HA=qh;zA.skipWhile=function(e){return GA.operate((function(t,n){var r=!1,o=0;t.subscribe(HA.createOperatorSubscriber(n,(function(t){return(r||(r=!e(t,o++)))&&n.next(t)})))}))};var WA={};Object.defineProperty(WA,"__esModule",{value:!0}),WA.startWith=void 0;var VA=cv,$A=wm,JA=Fh;WA.startWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=$A.popScheduler(e);return JA.operate((function(t,r){(n?VA.concat(e,t,n):VA.concat(e,t)).subscribe(r)}))};var KA={},YA={};Object.defineProperty(YA,"__esModule",{value:!0}),YA.switchMap=void 0;var ZA=Nm,XA=Fh,QA=qh;YA.switchMap=function(e,t){return XA.operate((function(n,r){var o=null,i=0,a=!1,s=function(){return a&&!o&&r.complete()};n.subscribe(QA.createOperatorSubscriber(r,(function(n){null==o||o.unsubscribe();var a=0,u=i++;ZA.innerFrom(e(n,u)).subscribe(o=QA.createOperatorSubscriber(r,(function(e){return r.next(t?t(n,e,u,a++):e)}),(function(){o=null,s()})))}),(function(){a=!0,s()})))}))},Object.defineProperty(KA,"__esModule",{value:!0}),KA.switchAll=void 0;var eC=YA,tC=Sh;KA.switchAll=function(){return eC.switchMap(tC.identity)};var nC={};Object.defineProperty(nC,"__esModule",{value:!0}),nC.switchMapTo=void 0;var rC=YA,oC=Yd;nC.switchMapTo=function(e,t){return oC.isFunction(t)?rC.switchMap((function(){return e}),t):rC.switchMap((function(){return e}))};var iC={};Object.defineProperty(iC,"__esModule",{value:!0}),iC.switchScan=void 0;var aC=YA,sC=Fh;iC.switchScan=function(e,t){return sC.operate((function(n,r){var o=t;return aC.switchMap((function(t,n){return e(o,t,n)}),(function(e,t){return o=t,t}))(n).subscribe(r),function(){o=null}}))};var uC={};Object.defineProperty(uC,"__esModule",{value:!0}),uC.takeUntil=void 0;var cC=Fh,lC=qh,fC=Nm,dC=ph;uC.takeUntil=function(e){return cC.operate((function(t,n){fC.innerFrom(e).subscribe(lC.createOperatorSubscriber(n,(function(){return n.complete()}),dC.noop)),!n.closed&&t.subscribe(n)}))};var hC={};Object.defineProperty(hC,"__esModule",{value:!0}),hC.takeWhile=void 0;var pC=Fh,mC=qh;hC.takeWhile=function(e,t){return void 0===t&&(t=!1),pC.operate((function(n,r){var o=0;n.subscribe(mC.createOperatorSubscriber(r,(function(n){var i=e(n,o++);(i||t)&&r.next(n),!i&&r.complete()})))}))};var gC={};Object.defineProperty(gC,"__esModule",{value:!0}),gC.tap=void 0;var yC=Yd,vC=Fh,_C=qh,bC=Sh;gC.tap=function(e,t,n){var r=yC.isFunction(e)||t||n?{next:e,error:t,complete:n}:e;return r?vC.operate((function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var o=!0;e.subscribe(_C.createOperatorSubscriber(t,(function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)}),(function(){var e;o=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()}),(function(e){var n;o=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)}),(function(){var e,t;o&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)})))})):bC.identity};var wC={};Object.defineProperty(wC,"__esModule",{value:!0}),wC.throttle=void 0;var SC=Fh,xC=qh,kC=Nm;wC.throttle=function(e,t){return SC.operate((function(n,r){var o=null!=t?t:{},i=o.leading,a=void 0===i||i,s=o.trailing,u=void 0!==s&&s,c=!1,l=null,f=null,d=!1,h=function(){null==f||f.unsubscribe(),f=null,u&&(g(),d&&r.complete())},p=function(){f=null,d&&r.complete()},m=function(t){return f=kC.innerFrom(e(t)).subscribe(xC.createOperatorSubscriber(r,h,p))},g=function(){if(c){c=!1;var e=l;l=null,r.next(e),!d&&m(e)}};n.subscribe(xC.createOperatorSubscriber(r,(function(e){c=!0,l=e,(!f||f.closed)&&(a?g():m(e))}),(function(){d=!0,(!(u&&c&&f)||f.closed)&&r.complete()})))}))};var EC={};Object.defineProperty(EC,"__esModule",{value:!0}),EC.throttleTime=void 0;var AC=Qp,CC=wC,OC=m_;EC.throttleTime=function(e,t,n){void 0===t&&(t=AC.asyncScheduler);var r=OC.timer(e,t);return CC.throttle((function(){return r}),n)};var RC={};Object.defineProperty(RC,"__esModule",{value:!0}),RC.TimeInterval=RC.timeInterval=void 0;var NC=Qp,IC=Fh,PC=qh;RC.timeInterval=function(e){return void 0===e&&(e=NC.asyncScheduler),IC.operate((function(t,n){var r=e.now();t.subscribe(PC.createOperatorSubscriber(n,(function(t){var o=e.now(),i=o-r;r=o,n.next(new TC(t,i))})))}))};var TC=function(){return function(e,t){this.value=e,this.interval=t}}();RC.TimeInterval=TC;var MC={};Object.defineProperty(MC,"__esModule",{value:!0}),MC.timeoutWith=void 0;var jC=Qp,FC=xy,LC=Sy;MC.timeoutWith=function(e,t,n){var r,o,i;if(n=null!=n?n:jC.async,FC.isValidDate(e)?r=e:"number"==typeof e&&(o=e),!t)throw new TypeError("No observable provided to switch to");if(i=function(){return t},null==r&&null==o)throw new TypeError("No timeout provided.");return LC.timeout({first:r,each:o,scheduler:n,with:i})};var DC={};Object.defineProperty(DC,"__esModule",{value:!0}),DC.timestamp=void 0;var qC=bp,BC=Cy;DC.timestamp=function(e){return void 0===e&&(e=qC.dateTimestampProvider),BC.map((function(t){return{value:t,timestamp:e.now()}}))};var UC={};Object.defineProperty(UC,"__esModule",{value:!0}),UC.window=void 0;var zC=ip,GC=Fh,HC=qh,WC=ph,VC=Nm;UC.window=function(e){return GC.operate((function(t,n){var r=new zC.Subject;n.next(r.asObservable());var o=function(e){r.error(e),n.error(e)};return t.subscribe(HC.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.next(e)}),(function(){r.complete(),n.complete()}),o)),VC.innerFrom(e).subscribe(HC.createOperatorSubscriber(n,(function(){r.complete(),n.next(r=new zC.Subject)}),WC.noop,o)),function(){null==r||r.unsubscribe(),r=null}}))};var $C={},JC=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty($C,"__esModule",{value:!0}),$C.windowCount=void 0;var KC=ip,YC=Fh,ZC=qh;$C.windowCount=function(e,t){void 0===t&&(t=0);var n=t>0?t:e;return YC.operate((function(t,r){var o=[new KC.Subject],i=0;r.next(o[0].asObservable()),t.subscribe(ZC.createOperatorSubscriber(r,(function(t){var a,s;try{for(var u=JC(o),c=u.next();!c.done;c=u.next())c.value.next(t)}catch(e){a={error:e}}finally{try{c&&!c.done&&(s=u.return)&&s.call(u)}finally{if(a)throw a.error}}var l=i-e+1;if(l>=0&&l%n==0&&o.shift().complete(),++i%n==0){var f=new KC.Subject;o.push(f),r.next(f.asObservable())}}),(function(){for(;o.length>0;)o.shift().complete();r.complete()}),(function(e){for(;o.length>0;)o.shift().error(e);r.error(e)}),(function(){o=null})))}))};var XC={};Object.defineProperty(XC,"__esModule",{value:!0}),XC.windowTime=void 0;var QC=ip,eO=Qp,tO=Zd,nO=Fh,rO=qh,oO=eh,iO=wm,aO=vg;XC.windowTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var i=null!==(t=iO.popScheduler(r))&&void 0!==t?t:eO.asyncScheduler,a=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return nO.operate((function(t,n){var r=[],o=!1,u=function(e){var t=e.subs;e.window.complete(),t.unsubscribe(),oO.arrRemove(r,e),o&&c()},c=function(){if(r){var t=new tO.Subscription;n.add(t);var o=new QC.Subject,a={window:o,subs:t,seen:0};r.push(a),n.next(o.asObservable()),aO.executeSchedule(t,i,(function(){return u(a)}),e)}};null!==a&&a>=0?aO.executeSchedule(n,i,c,a,!0):o=!0,c();var l=function(e){return r.slice().forEach(e)},f=function(e){l((function(t){return e(t.window)})),e(n),n.unsubscribe()};return t.subscribe(rO.createOperatorSubscriber(n,(function(e){l((function(t){t.window.next(e),s<=++t.seen&&u(t)}))}),(function(){return f((function(e){return e.complete()}))}),(function(e){return f((function(t){return t.error(e)}))}))),function(){r=null}}))};var sO={},uO=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(sO,"__esModule",{value:!0}),sO.windowToggle=void 0;var cO=ip,lO=Zd,fO=Fh,dO=Nm,hO=qh,pO=ph,mO=eh;sO.windowToggle=function(e,t){return fO.operate((function(n,r){var o=[],i=function(e){for(;0<o.length;)o.shift().error(e);r.error(e)};dO.innerFrom(e).subscribe(hO.createOperatorSubscriber(r,(function(e){var n=new cO.Subject;o.push(n);var a,s=new lO.Subscription;try{a=dO.innerFrom(t(e))}catch(e){return void i(e)}r.next(n.asObservable()),s.add(a.subscribe(hO.createOperatorSubscriber(r,(function(){mO.arrRemove(o,n),n.complete(),s.unsubscribe()}),pO.noop,i)))}),pO.noop)),n.subscribe(hO.createOperatorSubscriber(r,(function(e){var t,n,r=o.slice();try{for(var i=uO(r),a=i.next();!a.done;a=i.next())a.value.next(e)}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}}),(function(){for(;0<o.length;)o.shift().complete();r.complete()}),i,(function(){for(;0<o.length;)o.shift().unsubscribe()})))}))};var gO={};Object.defineProperty(gO,"__esModule",{value:!0}),gO.windowWhen=void 0;var yO=ip,vO=Fh,_O=qh,bO=Nm;gO.windowWhen=function(e){return vO.operate((function(t,n){var r,o,i=function(e){r.error(e),n.error(e)};!function t(){var a;null==o||o.unsubscribe(),null==r||r.complete(),r=new yO.Subject,n.next(r.asObservable());try{a=bO.innerFrom(e())}catch(e){return void i(e)}a.subscribe(o=_O.createOperatorSubscriber(n,t,t,i))}(),t.subscribe(_O.createOperatorSubscriber(n,(function(e){return r.next(e)}),(function(){r.complete(),n.complete()}),i,(function(){null==o||o.unsubscribe(),r=null})))}))};var wO={},SO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},xO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(wO,"__esModule",{value:!0}),wO.withLatestFrom=void 0;var kO=Fh,EO=qh,AO=Nm,CO=Sh,OO=ph,RO=wm;wO.withLatestFrom=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=RO.popResultSelector(e);return kO.operate((function(t,r){for(var o=e.length,i=new Array(o),a=e.map((function(){return!1})),s=!1,u=function(t){AO.innerFrom(e[t]).subscribe(EO.createOperatorSubscriber(r,(function(e){i[t]=e,s||a[t]||(a[t]=!0,(s=a.every(CO.identity))&&(a=null))}),OO.noop))},c=0;c<o;c++)u(c);t.subscribe(EO.createOperatorSubscriber(r,(function(e){if(s){var t=xO([e],SO(i));r.next(n?n.apply(void 0,xO([],SO(t))):t)}})))}))};var NO={};Object.defineProperty(NO,"__esModule",{value:!0}),NO.zipAll=void 0;var IO=ab,PO=uw;NO.zipAll=function(e){return PO.joinAllInternals(IO.zip,e)};var TO={},MO={},jO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},FO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(MO,"__esModule",{value:!0}),MO.zip=void 0;var LO=ab,DO=Fh;MO.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return DO.operate((function(t,n){LO.zip.apply(void 0,FO([t],jO(e))).subscribe(n)}))};var qO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},BO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(TO,"__esModule",{value:!0}),TO.zipWith=void 0;var UO=MO;TO.zipWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return UO.zip.apply(void 0,BO([],qO(e)))},function(e){var t=q&&q.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=q&&q.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.interval=e.iif=e.generate=e.fromEventPattern=e.fromEvent=e.from=e.forkJoin=e.empty=e.defer=e.connectable=e.concat=e.combineLatest=e.bindNodeCallback=e.bindCallback=e.UnsubscriptionError=e.TimeoutError=e.SequenceError=e.ObjectUnsubscribedError=e.NotFoundError=e.EmptyError=e.ArgumentOutOfRangeError=e.firstValueFrom=e.lastValueFrom=e.isObservable=e.identity=e.noop=e.pipe=e.NotificationKind=e.Notification=e.Subscriber=e.Subscription=e.Scheduler=e.VirtualAction=e.VirtualTimeScheduler=e.animationFrameScheduler=e.animationFrame=e.queueScheduler=e.queue=e.asyncScheduler=e.async=e.asapScheduler=e.asap=e.AsyncSubject=e.ReplaySubject=e.BehaviorSubject=e.Subject=e.animationFrames=e.observable=e.ConnectableObservable=e.Observable=void 0,e.filter=e.expand=e.exhaustMap=e.exhaustAll=e.exhaust=e.every=e.endWith=e.elementAt=e.distinctUntilKeyChanged=e.distinctUntilChanged=e.distinct=e.dematerialize=e.delayWhen=e.delay=e.defaultIfEmpty=e.debounceTime=e.debounce=e.count=e.connect=e.concatWith=e.concatMapTo=e.concatMap=e.concatAll=e.combineLatestWith=e.combineLatestAll=e.combineAll=e.catchError=e.bufferWhen=e.bufferToggle=e.bufferTime=e.bufferCount=e.buffer=e.auditTime=e.audit=e.config=e.NEVER=e.EMPTY=e.scheduled=e.zip=e.using=e.timer=e.throwError=e.range=e.race=e.partition=e.pairs=e.onErrorResumeNext=e.of=e.never=e.merge=void 0,e.switchMap=e.switchAll=e.subscribeOn=e.startWith=e.skipWhile=e.skipUntil=e.skipLast=e.skip=e.single=e.shareReplay=e.share=e.sequenceEqual=e.scan=e.sampleTime=e.sample=e.refCount=e.retryWhen=e.retry=e.repeatWhen=e.repeat=e.reduce=e.raceWith=e.publishReplay=e.publishLast=e.publishBehavior=e.publish=e.pluck=e.pairwise=e.onErrorResumeNextWith=e.observeOn=e.multicast=e.min=e.mergeWith=e.mergeScan=e.mergeMapTo=e.mergeMap=e.flatMap=e.mergeAll=e.max=e.materialize=e.mapTo=e.map=e.last=e.isEmpty=e.ignoreElements=e.groupBy=e.first=e.findIndex=e.find=e.finalize=void 0,e.zipWith=e.zipAll=e.withLatestFrom=e.windowWhen=e.windowToggle=e.windowTime=e.windowCount=e.window=e.toArray=e.timestamp=e.timeoutWith=e.timeout=e.timeInterval=e.throwIfEmpty=e.throttleTime=e.throttle=e.tap=e.takeWhile=e.takeUntil=e.takeLast=e.take=e.switchScan=e.switchMapTo=void 0;var r=Jd;Object.defineProperty(e,"Observable",{enumerable:!0,get:function(){return r.Observable}});var o=Mh;Object.defineProperty(e,"ConnectableObservable",{enumerable:!0,get:function(){return o.ConnectableObservable}});var i=bh;Object.defineProperty(e,"observable",{enumerable:!0,get:function(){return i.observable}});var a=Zh;Object.defineProperty(e,"animationFrames",{enumerable:!0,get:function(){return a.animationFrames}});var s=ip;Object.defineProperty(e,"Subject",{enumerable:!0,get:function(){return s.Subject}});var u=gp;Object.defineProperty(e,"BehaviorSubject",{enumerable:!0,get:function(){return u.BehaviorSubject}});var c=_p;Object.defineProperty(e,"ReplaySubject",{enumerable:!0,get:function(){return c.ReplaySubject}});var l=kp;Object.defineProperty(e,"AsyncSubject",{enumerable:!0,get:function(){return l.AsyncSubject}});var f=Cp;Object.defineProperty(e,"asap",{enumerable:!0,get:function(){return f.asap}}),Object.defineProperty(e,"asapScheduler",{enumerable:!0,get:function(){return f.asapScheduler}});var d=Qp;Object.defineProperty(e,"async",{enumerable:!0,get:function(){return d.async}}),Object.defineProperty(e,"asyncScheduler",{enumerable:!0,get:function(){return d.asyncScheduler}});var h=em;Object.defineProperty(e,"queue",{enumerable:!0,get:function(){return h.queue}}),Object.defineProperty(e,"queueScheduler",{enumerable:!0,get:function(){return h.queueScheduler}});var p=am;Object.defineProperty(e,"animationFrame",{enumerable:!0,get:function(){return p.animationFrame}}),Object.defineProperty(e,"animationFrameScheduler",{enumerable:!0,get:function(){return p.animationFrameScheduler}});var m=hm;Object.defineProperty(e,"VirtualTimeScheduler",{enumerable:!0,get:function(){return m.VirtualTimeScheduler}}),Object.defineProperty(e,"VirtualAction",{enumerable:!0,get:function(){return m.VirtualAction}});var g=$p;Object.defineProperty(e,"Scheduler",{enumerable:!0,get:function(){return g.Scheduler}});var y=Zd;Object.defineProperty(e,"Subscription",{enumerable:!0,get:function(){return y.Subscription}});var v=Kd;Object.defineProperty(e,"Subscriber",{enumerable:!0,get:function(){return v.Subscriber}});var _=vm;Object.defineProperty(e,"Notification",{enumerable:!0,get:function(){return _.Notification}}),Object.defineProperty(e,"NotificationKind",{enumerable:!0,get:function(){return _.NotificationKind}});var b=wh;Object.defineProperty(e,"pipe",{enumerable:!0,get:function(){return b.pipe}});var w=ph;Object.defineProperty(e,"noop",{enumerable:!0,get:function(){return w.noop}});var S=Sh;Object.defineProperty(e,"identity",{enumerable:!0,get:function(){return S.identity}});var x=ly;Object.defineProperty(e,"isObservable",{enumerable:!0,get:function(){return x.isObservable}});var k=hy;Object.defineProperty(e,"lastValueFrom",{enumerable:!0,get:function(){return k.lastValueFrom}});var E=gy;Object.defineProperty(e,"firstValueFrom",{enumerable:!0,get:function(){return E.firstValueFrom}});var A=_y;Object.defineProperty(e,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return A.ArgumentOutOfRangeError}});var C=py;Object.defineProperty(e,"EmptyError",{enumerable:!0,get:function(){return C.EmptyError}});var O=by;Object.defineProperty(e,"NotFoundError",{enumerable:!0,get:function(){return O.NotFoundError}});var R=ap;Object.defineProperty(e,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return R.ObjectUnsubscribedError}});var N=wy;Object.defineProperty(e,"SequenceError",{enumerable:!0,get:function(){return N.SequenceError}});var I=Sy;Object.defineProperty(e,"TimeoutError",{enumerable:!0,get:function(){return I.TimeoutError}});var P=Xd;Object.defineProperty(e,"UnsubscriptionError",{enumerable:!0,get:function(){return P.UnsubscriptionError}});var T=ky;Object.defineProperty(e,"bindCallback",{enumerable:!0,get:function(){return T.bindCallback}});var M=Gy;Object.defineProperty(e,"bindNodeCallback",{enumerable:!0,get:function(){return M.bindNodeCallback}});var j=Wy;Object.defineProperty(e,"combineLatest",{enumerable:!0,get:function(){return j.combineLatest}});var F=cv;Object.defineProperty(e,"concat",{enumerable:!0,get:function(){return F.concat}});var L=Ov;Object.defineProperty(e,"connectable",{enumerable:!0,get:function(){return L.connectable}});var D=Rv;Object.defineProperty(e,"defer",{enumerable:!0,get:function(){return D.defer}});var B=_m;Object.defineProperty(e,"empty",{enumerable:!0,get:function(){return B.empty}});var U=Fv;Object.defineProperty(e,"forkJoin",{enumerable:!0,get:function(){return U.forkJoin}});var z=Cm;Object.defineProperty(e,"from",{enumerable:!0,get:function(){return z.from}});var G=Hv;Object.defineProperty(e,"fromEvent",{enumerable:!0,get:function(){return G.fromEvent}});var H=n_;Object.defineProperty(e,"fromEventPattern",{enumerable:!0,get:function(){return H.fromEventPattern}});var W=a_;Object.defineProperty(e,"generate",{enumerable:!0,get:function(){return W.generate}});var V=d_;Object.defineProperty(e,"iif",{enumerable:!0,get:function(){return V.iif}});var $=p_;Object.defineProperty(e,"interval",{enumerable:!0,get:function(){return $.interval}});var J=S_;Object.defineProperty(e,"merge",{enumerable:!0,get:function(){return J.merge}});var K=O_;Object.defineProperty(e,"never",{enumerable:!0,get:function(){return K.never}});var Y=bm;Object.defineProperty(e,"of",{enumerable:!0,get:function(){return Y.of}});var Z=R_;Object.defineProperty(e,"onErrorResumeNext",{enumerable:!0,get:function(){return Z.onErrorResumeNext}});var X=L_;Object.defineProperty(e,"pairs",{enumerable:!0,get:function(){return X.pairs}});var Q=q_;Object.defineProperty(e,"partition",{enumerable:!0,get:function(){return Q.partition}});var ee=$_;Object.defineProperty(e,"race",{enumerable:!0,get:function(){return ee.race}});var te=Q_;Object.defineProperty(e,"range",{enumerable:!0,get:function(){return te.range}});var ne=sy;Object.defineProperty(e,"throwError",{enumerable:!0,get:function(){return ne.throwError}});var re=m_;Object.defineProperty(e,"timer",{enumerable:!0,get:function(){return re.timer}});var oe=nb;Object.defineProperty(e,"using",{enumerable:!0,get:function(){return oe.using}});var ie=ab;Object.defineProperty(e,"zip",{enumerable:!0,get:function(){return ie.zip}});var ae=Om;Object.defineProperty(e,"scheduled",{enumerable:!0,get:function(){return ae.scheduled}});var se=_m;Object.defineProperty(e,"EMPTY",{enumerable:!0,get:function(){return se.EMPTY}});var ue=O_;Object.defineProperty(e,"NEVER",{enumerable:!0,get:function(){return ue.NEVER}}),n(mb,e);var ce=ch;Object.defineProperty(e,"config",{enumerable:!0,get:function(){return ce.config}});var le=gb;Object.defineProperty(e,"audit",{enumerable:!0,get:function(){return le.audit}});var fe=bb;Object.defineProperty(e,"auditTime",{enumerable:!0,get:function(){return fe.auditTime}});var de=kb;Object.defineProperty(e,"buffer",{enumerable:!0,get:function(){return de.buffer}});var he=Rb;Object.defineProperty(e,"bufferCount",{enumerable:!0,get:function(){return he.bufferCount}});var pe=Mb;Object.defineProperty(e,"bufferTime",{enumerable:!0,get:function(){return pe.bufferTime}});var me=Gb;Object.defineProperty(e,"bufferToggle",{enumerable:!0,get:function(){return me.bufferToggle}});var ge=Zb;Object.defineProperty(e,"bufferWhen",{enumerable:!0,get:function(){return ge.bufferWhen}});var ye=nw;Object.defineProperty(e,"catchError",{enumerable:!0,get:function(){return ye.catchError}});var ve=aw;Object.defineProperty(e,"combineAll",{enumerable:!0,get:function(){return ve.combineAll}});var _e=sw;Object.defineProperty(e,"combineLatestAll",{enumerable:!0,get:function(){return _e.combineLatestAll}});var be=Ew;Object.defineProperty(e,"combineLatestWith",{enumerable:!0,get:function(){return be.combineLatestWith}});var we=lv;Object.defineProperty(e,"concatAll",{enumerable:!0,get:function(){return we.concatAll}});var Se=Dw;Object.defineProperty(e,"concatMap",{enumerable:!0,get:function(){return Se.concatMap}});var xe=Uw;Object.defineProperty(e,"concatMapTo",{enumerable:!0,get:function(){return xe.concatMapTo}});var ke=Hw;Object.defineProperty(e,"concatWith",{enumerable:!0,get:function(){return ke.concatWith}});var Ee=tS;Object.defineProperty(e,"connect",{enumerable:!0,get:function(){return Ee.connect}});var Ae=cS;Object.defineProperty(e,"count",{enumerable:!0,get:function(){return Ae.count}});var Ce=fS;Object.defineProperty(e,"debounce",{enumerable:!0,get:function(){return Ce.debounce}});var Oe=gS;Object.defineProperty(e,"debounceTime",{enumerable:!0,get:function(){return Oe.debounceTime}});var Re=bS;Object.defineProperty(e,"defaultIfEmpty",{enumerable:!0,get:function(){return Re.defaultIfEmpty}});var Ne=xS;Object.defineProperty(e,"delay",{enumerable:!0,get:function(){return Ne.delay}});var Ie=kS;Object.defineProperty(e,"delayWhen",{enumerable:!0,get:function(){return Ie.delayWhen}});var Pe=HS;Object.defineProperty(e,"dematerialize",{enumerable:!0,get:function(){return Pe.dematerialize}});var Te=JS;Object.defineProperty(e,"distinct",{enumerable:!0,get:function(){return Te.distinct}});var Me=QS;Object.defineProperty(e,"distinctUntilChanged",{enumerable:!0,get:function(){return Me.distinctUntilChanged}});var je=ox;Object.defineProperty(e,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return je.distinctUntilKeyChanged}});var Fe=ax;Object.defineProperty(e,"elementAt",{enumerable:!0,get:function(){return Fe.elementAt}});var Le=yx;Object.defineProperty(e,"endWith",{enumerable:!0,get:function(){return Le.endWith}});var De=Sx;Object.defineProperty(e,"every",{enumerable:!0,get:function(){return De.every}});var qe=Ex;Object.defineProperty(e,"exhaust",{enumerable:!0,get:function(){return qe.exhaust}});var Be=Ax;Object.defineProperty(e,"exhaustAll",{enumerable:!0,get:function(){return Be.exhaustAll}});var Ue=Cx;Object.defineProperty(e,"exhaustMap",{enumerable:!0,get:function(){return Ue.exhaustMap}});var ze=Mx;Object.defineProperty(e,"expand",{enumerable:!0,get:function(){return ze.expand}});var Ge=U_;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return Ge.filter}});var He=Lx;Object.defineProperty(e,"finalize",{enumerable:!0,get:function(){return He.finalize}});var We=qx;Object.defineProperty(e,"find",{enumerable:!0,get:function(){return We.find}});var Ve=Gx;Object.defineProperty(e,"findIndex",{enumerable:!0,get:function(){return Ve.findIndex}});var $e=Vx;Object.defineProperty(e,"first",{enumerable:!0,get:function(){return $e.first}});var Je=Qx;Object.defineProperty(e,"groupBy",{enumerable:!0,get:function(){return Je.groupBy}});var Ke=RS;Object.defineProperty(e,"ignoreElements",{enumerable:!0,get:function(){return Ke.ignoreElements}});var Ye=ik;Object.defineProperty(e,"isEmpty",{enumerable:!0,get:function(){return Ye.isEmpty}});var Ze=uk;Object.defineProperty(e,"last",{enumerable:!0,get:function(){return Ze.last}});var Xe=Cy;Object.defineProperty(e,"map",{enumerable:!0,get:function(){return Xe.map}});var Qe=TS;Object.defineProperty(e,"mapTo",{enumerable:!0,get:function(){return Qe.mapTo}});var et=bk;Object.defineProperty(e,"materialize",{enumerable:!0,get:function(){return et.materialize}});var tt=kk;Object.defineProperty(e,"max",{enumerable:!0,get:function(){return tt.max}});var nt=fv;Object.defineProperty(e,"mergeAll",{enumerable:!0,get:function(){return nt.mergeAll}});var rt=Ck;Object.defineProperty(e,"flatMap",{enumerable:!0,get:function(){return rt.flatMap}});var ot=dv;Object.defineProperty(e,"mergeMap",{enumerable:!0,get:function(){return ot.mergeMap}});var it=Ok;Object.defineProperty(e,"mergeMapTo",{enumerable:!0,get:function(){return it.mergeMapTo}});var at=Ik;Object.defineProperty(e,"mergeScan",{enumerable:!0,get:function(){return at.mergeScan}});var st=Mk;Object.defineProperty(e,"mergeWith",{enumerable:!0,get:function(){return st.mergeWith}});var ut=Vk;Object.defineProperty(e,"min",{enumerable:!0,get:function(){return ut.min}});var ct=Kk;Object.defineProperty(e,"multicast",{enumerable:!0,get:function(){return ct.multicast}});var lt=yg;Object.defineProperty(e,"observeOn",{enumerable:!0,get:function(){return lt.observeOn}});var ft=Qk;Object.defineProperty(e,"onErrorResumeNextWith",{enumerable:!0,get:function(){return ft.onErrorResumeNextWith}});var dt=iE;Object.defineProperty(e,"pairwise",{enumerable:!0,get:function(){return dt.pairwise}});var ht=uE;Object.defineProperty(e,"pluck",{enumerable:!0,get:function(){return ht.pluck}});var pt=lE;Object.defineProperty(e,"publish",{enumerable:!0,get:function(){return pt.publish}});var mt=pE;Object.defineProperty(e,"publishBehavior",{enumerable:!0,get:function(){return mt.publishBehavior}});var gt=yE;Object.defineProperty(e,"publishLast",{enumerable:!0,get:function(){return gt.publishLast}});var yt=bE;Object.defineProperty(e,"publishReplay",{enumerable:!0,get:function(){return yt.publishReplay}});var vt=kE;Object.defineProperty(e,"raceWith",{enumerable:!0,get:function(){return vt.raceWith}});var _t=lw;Object.defineProperty(e,"reduce",{enumerable:!0,get:function(){return _t.reduce}});var bt=NE;Object.defineProperty(e,"repeat",{enumerable:!0,get:function(){return bt.repeat}});var wt=FE;Object.defineProperty(e,"repeatWhen",{enumerable:!0,get:function(){return wt.repeatWhen}});var St=UE;Object.defineProperty(e,"retry",{enumerable:!0,get:function(){return St.retry}});var xt=$E;Object.defineProperty(e,"retryWhen",{enumerable:!0,get:function(){return xt.retryWhen}});var kt=jh;Object.defineProperty(e,"refCount",{enumerable:!0,get:function(){return kt.refCount}});var Et=XE;Object.defineProperty(e,"sample",{enumerable:!0,get:function(){return Et.sample}});var At=rA;Object.defineProperty(e,"sampleTime",{enumerable:!0,get:function(){return At.sampleTime}});var Ct=sA;Object.defineProperty(e,"scan",{enumerable:!0,get:function(){return Ct.scan}});var Ot=lA;Object.defineProperty(e,"sequenceEqual",{enumerable:!0,get:function(){return Ot.sequenceEqual}});var Rt=pA;Object.defineProperty(e,"share",{enumerable:!0,get:function(){return Rt.share}});var Nt=SA;Object.defineProperty(e,"shareReplay",{enumerable:!0,get:function(){return Nt.shareReplay}});var It=EA;Object.defineProperty(e,"single",{enumerable:!0,get:function(){return It.single}});var Pt=IA;Object.defineProperty(e,"skip",{enumerable:!0,get:function(){return Pt.skip}});var Tt=TA;Object.defineProperty(e,"skipLast",{enumerable:!0,get:function(){return Tt.skipLast}});var Mt=LA;Object.defineProperty(e,"skipUntil",{enumerable:!0,get:function(){return Mt.skipUntil}});var jt=zA;Object.defineProperty(e,"skipWhile",{enumerable:!0,get:function(){return jt.skipWhile}});var Ft=WA;Object.defineProperty(e,"startWith",{enumerable:!0,get:function(){return Ft.startWith}});var Lt=Sg;Object.defineProperty(e,"subscribeOn",{enumerable:!0,get:function(){return Lt.subscribeOn}});var Dt=KA;Object.defineProperty(e,"switchAll",{enumerable:!0,get:function(){return Dt.switchAll}});var qt=YA;Object.defineProperty(e,"switchMap",{enumerable:!0,get:function(){return qt.switchMap}});var Bt=nC;Object.defineProperty(e,"switchMapTo",{enumerable:!0,get:function(){return Bt.switchMapTo}});var Ut=iC;Object.defineProperty(e,"switchScan",{enumerable:!0,get:function(){return Ut.switchScan}});var zt=ES;Object.defineProperty(e,"take",{enumerable:!0,get:function(){return zt.take}});var Gt=ck;Object.defineProperty(e,"takeLast",{enumerable:!0,get:function(){return Gt.takeLast}});var Ht=uC;Object.defineProperty(e,"takeUntil",{enumerable:!0,get:function(){return Ht.takeUntil}});var Wt=hC;Object.defineProperty(e,"takeWhile",{enumerable:!0,get:function(){return Wt.takeWhile}});var Vt=gC;Object.defineProperty(e,"tap",{enumerable:!0,get:function(){return Vt.tap}});var $t=wC;Object.defineProperty(e,"throttle",{enumerable:!0,get:function(){return $t.throttle}});var Jt=EC;Object.defineProperty(e,"throttleTime",{enumerable:!0,get:function(){return Jt.throttleTime}});var Kt=sx;Object.defineProperty(e,"throwIfEmpty",{enumerable:!0,get:function(){return Kt.throwIfEmpty}});var Yt=RC;Object.defineProperty(e,"timeInterval",{enumerable:!0,get:function(){return Yt.timeInterval}});var Zt=Sy;Object.defineProperty(e,"timeout",{enumerable:!0,get:function(){return Zt.timeout}});var Xt=MC;Object.defineProperty(e,"timeoutWith",{enumerable:!0,get:function(){return Xt.timeoutWith}});var Qt=DC;Object.defineProperty(e,"timestamp",{enumerable:!0,get:function(){return Qt.timestamp}});var en=cw;Object.defineProperty(e,"toArray",{enumerable:!0,get:function(){return en.toArray}});var tn=UC;Object.defineProperty(e,"window",{enumerable:!0,get:function(){return tn.window}});var nn=$C;Object.defineProperty(e,"windowCount",{enumerable:!0,get:function(){return nn.windowCount}});var rn=XC;Object.defineProperty(e,"windowTime",{enumerable:!0,get:function(){return rn.windowTime}});var on=sO;Object.defineProperty(e,"windowToggle",{enumerable:!0,get:function(){return on.windowToggle}});var an=gO;Object.defineProperty(e,"windowWhen",{enumerable:!0,get:function(){return an.windowWhen}});var sn=wO;Object.defineProperty(e,"withLatestFrom",{enumerable:!0,get:function(){return sn.withLatestFrom}});var un=NO;Object.defineProperty(e,"zipAll",{enumerable:!0,get:function(){return un.zipAll}});var cn=TO;Object.defineProperty(e,"zipWith",{enumerable:!0,get:function(){return cn.zipWith}})}($d),Object.defineProperty(Vd,"__esModule",{value:!0});var zO=Vd.checkAbortSignal=VO;Vd.abortBreakPoint=function(e){return JO.apply(this,arguments)},Vd.makeAbortError=KO,Vd.observeAbortSignal=function(e){return e?(0,HO.fromEvent)(e,"abort"):HO.Observable.create()};var GO=Vd.isAbortException=function(e){return e instanceof Error&&("AbortError"===e.name||"ERR_ABORTED"===e.code||!!/\b(aborted|aborterror)\b/i.test(e.message))},HO=$d,WO=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n)}(ce(Error));function VO(e){if(e){if(!(e instanceof AbortSignal))throw new TypeError("must pass an AbortSignal");if(e.aborted)throw KO()}}function $O(e){return new Promise((function(t){return setTimeout(t,e)}))}function JO(){return(JO=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,$O(1);case 2:VO(t);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function KO(){if("undefined"!=typeof DOMException)return new DOMException("aborted","AbortError");var e=new WO("aborted");return e.code="ERR_ABORTED",e}var YO={exports:{}};!function(e,t){var n;n=function(){return function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){if(!s&&U)return U(a);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};t[a][0].call(c.exports,(function(e){return o(t[a][1][e]||e)}),c,c.exports,e,t,n,r)}return n[a].exports}for(var i=U,a=0;a<r.length;a++)o(r[a]);return o}({"./aesprim":[function(e,t,n){var r;r=function(e){var t,n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v;function _(e,t){if(!e)throw new Error("ASSERT: "+t)}function b(e){return e>=48&&e<=57}function w(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function S(e){return"01234567".indexOf(e)>=0}function x(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function k(e){return 10===e||13===e||8232===e||8233===e}function E(e){return 64==e||36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&s.NonAsciiIdentifierStart.test(String.fromCharCode(e))}function A(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&s.NonAsciiIdentifierPart.test(String.fromCharCode(e))}function C(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}function O(e){return"eval"===e||"arguments"===e}function R(e,t,n,r,o){var i;_("number"==typeof n,"Comment must have valid position"),y.lastCommentStart>=n||(y.lastCommentStart=n,i={type:e,value:t},v.range&&(i.range=[n,r]),v.loc&&(i.loc=o),v.comments.push(i),v.attachComment&&(v.leadingComments.push(i),v.trailingComments.push(i)))}function N(e){var t,n,r,o;for(t=f-e,n={start:{line:d,column:f-h-e}};f<p;)if(r=c.charCodeAt(f),++f,k(r))return v.comments&&(o=c.slice(t+e,f-1),n.end={line:d,column:f-h-1},R("Line",o,t,f-1,n)),13===r&&10===c.charCodeAt(f)&&++f,++d,void(h=f);v.comments&&(o=c.slice(t+e,f),n.end={line:d,column:f-h},R("Line",o,t,f,n))}function I(){var e,t,n,r;for(v.comments&&(e=f-2,t={start:{line:d,column:f-h-2}});f<p;)if(k(n=c.charCodeAt(f)))13===n&&10===c.charCodeAt(f+1)&&++f,++d,++f,h=f,f>=p&&V({},a.UnexpectedToken,"ILLEGAL");else if(42===n){if(47===c.charCodeAt(f+1))return++f,++f,void(v.comments&&(r=c.slice(e+2,f-2),t.end={line:d,column:f-h},R("Block",r,e,f,t)));++f}else++f;V({},a.UnexpectedToken,"ILLEGAL")}function P(){var e,t;for(t=0===f;f<p;)if(x(e=c.charCodeAt(f)))++f;else if(k(e))++f,13===e&&10===c.charCodeAt(f)&&++f,++d,h=f,t=!0;else if(47===e)if(47===(e=c.charCodeAt(f+1)))++f,++f,N(2),t=!0;else{if(42!==e)break;++f,++f,I()}else if(t&&45===e){if(45!==c.charCodeAt(f+1)||62!==c.charCodeAt(f+2))break;f+=3,N(3)}else{if(60!==e)break;if("!--"!==c.slice(f+1,f+4))break;++f,++f,++f,++f,N(4)}}function T(e){var t,n,r,o=0;for(n="u"===e?4:2,t=0;t<n;++t){if(!(f<p&&w(c[f])))return"";r=c[f++],o=16*o+"0123456789abcdef".indexOf(r.toLowerCase())}return String.fromCharCode(o)}function M(){var e,t;for(e=c.charCodeAt(f++),t=String.fromCharCode(e),92===e&&(117!==c.charCodeAt(f)&&V({},a.UnexpectedToken,"ILLEGAL"),++f,(e=T("u"))&&"\\"!==e&&E(e.charCodeAt(0))||V({},a.UnexpectedToken,"ILLEGAL"),t=e);f<p&&A(e=c.charCodeAt(f));)++f,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==c.charCodeAt(f)&&V({},a.UnexpectedToken,"ILLEGAL"),++f,(e=T("u"))&&"\\"!==e&&A(e.charCodeAt(0))||V({},a.UnexpectedToken,"ILLEGAL"),t+=e);return t}function j(){var e,n,r,o,i=f,s=c.charCodeAt(f),u=c[f];switch(s){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++f,v.tokenize&&(40===s?v.openParenToken=v.tokens.length:123===s&&(v.openCurlyToken=v.tokens.length)),{type:t.Punctuator,value:String.fromCharCode(s),lineNumber:d,lineStart:h,start:i,end:f};default:if(61===(e=c.charCodeAt(f+1)))switch(s){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return f+=2,{type:t.Punctuator,value:String.fromCharCode(s)+String.fromCharCode(e),lineNumber:d,lineStart:h,start:i,end:f};case 33:case 61:return 61===c.charCodeAt(f+=2)&&++f,{type:t.Punctuator,value:c.slice(i,f),lineNumber:d,lineStart:h,start:i,end:f}}}return">>>="===(o=c.substr(f,4))?{type:t.Punctuator,value:o,lineNumber:d,lineStart:h,start:i,end:f+=4}:">>>"===(r=o.substr(0,3))||"<<="===r||">>="===r?{type:t.Punctuator,value:r,lineNumber:d,lineStart:h,start:i,end:f+=3}:u===(n=r.substr(0,2))[1]&&"+-<>&|".indexOf(u)>=0||"=>"===n?{type:t.Punctuator,value:n,lineNumber:d,lineStart:h,start:i,end:f+=2}:"<>=!+-*%&|^/".indexOf(u)>=0?(++f,{type:t.Punctuator,value:u,lineNumber:d,lineStart:h,start:i,end:f}):void V({},a.UnexpectedToken,"ILLEGAL")}function F(){var e,n,r;if(_(b((r=c[f]).charCodeAt(0))||"."===r,"Numeric literal must start with a decimal digit or a decimal point"),n=f,e="","."!==r){if(e=c[f++],r=c[f],"0"===e){if("x"===r||"X"===r)return++f,function(e){for(var n="";f<p&&w(c[f]);)n+=c[f++];return 0===n.length&&V({},a.UnexpectedToken,"ILLEGAL"),E(c.charCodeAt(f))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt("0x"+n,16),lineNumber:d,lineStart:h,start:e,end:f}}(n);if(S(r))return function(e){for(var n="0"+c[f++];f<p&&S(c[f]);)n+=c[f++];return(E(c.charCodeAt(f))||b(c.charCodeAt(f)))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt(n,8),octal:!0,lineNumber:d,lineStart:h,start:e,end:f}}(n);r&&b(r.charCodeAt(0))&&V({},a.UnexpectedToken,"ILLEGAL")}for(;b(c.charCodeAt(f));)e+=c[f++];r=c[f]}if("."===r){for(e+=c[f++];b(c.charCodeAt(f));)e+=c[f++];r=c[f]}if("e"===r||"E"===r)if(e+=c[f++],"+"!==(r=c[f])&&"-"!==r||(e+=c[f++]),b(c.charCodeAt(f)))for(;b(c.charCodeAt(f));)e+=c[f++];else V({},a.UnexpectedToken,"ILLEGAL");return E(c.charCodeAt(f))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseFloat(e),lineNumber:d,lineStart:h,start:n,end:f}}function L(){var e,n,r,o;return g=null,P(),e=f,n=function(){var e,t,n,r;for(_("/"===(e=c[f]),"Regular expression literal must start with a slash"),t=c[f++],n=!1,r=!1;f<p;)if(t+=e=c[f++],"\\"===e)k((e=c[f++]).charCodeAt(0))&&V({},a.UnterminatedRegExp),t+=e;else if(k(e.charCodeAt(0)))V({},a.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){r=!0;break}"["===e&&(n=!0)}return r||V({},a.UnterminatedRegExp),{value:t.substr(1,t.length-2),literal:t}}(),r=function(){var e,t,n,r;for(t="",n="";f<p&&A((e=c[f]).charCodeAt(0));)if(++f,"\\"===e&&f<p)if("u"===(e=c[f])){if(r=++f,e=T("u"))for(n+=e,t+="\\u";r<f;++r)t+=c[r];else f=r,n+="u",t+="\\u";$({},a.UnexpectedToken,"ILLEGAL")}else t+="\\",$({},a.UnexpectedToken,"ILLEGAL");else n+=e,t+=e;return{value:n,literal:t}}(),o=function(e,t){var n;try{n=new RegExp(e,t)}catch(e){V({},a.InvalidRegExp)}return n}(n.value,r.value),v.tokenize?{type:t.RegularExpression,value:o,lineNumber:d,lineStart:h,start:e,end:f}:{literal:n.literal+r.literal,value:o,start:e,end:f}}function D(){var e,t,n,r;return P(),e=f,t={start:{line:d,column:f-h}},n=L(),t.end={line:d,column:f-h},v.tokenize||(v.tokens.length>0&&(r=v.tokens[v.tokens.length-1]).range[0]===e&&"Punctuator"===r.type&&("/"!==r.value&&"/="!==r.value||v.tokens.pop()),v.tokens.push({type:"RegularExpression",value:n.literal,range:[e,f],loc:t})),n}function q(){var e,n,o;return P(),f>=p?{type:t.EOF,lineNumber:d,lineStart:h,start:f,end:f}:E(e=c.charCodeAt(f))?(n=f,o=92===c.charCodeAt(f)?M():function(){var e,t;for(e=f++;f<p;){if(92===(t=c.charCodeAt(f)))return f=e,M();if(!A(t))break;++f}return c.slice(e,f)}(),{type:1===o.length?t.Identifier:function(e){if(l&&C(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}(o)?t.Keyword:"null"===o?t.NullLiteral:"true"===o||"false"===o?t.BooleanLiteral:t.Identifier,value:o,lineNumber:d,lineStart:h,start:n,end:f}):40===e||41===e||59===e?j():39===e||34===e?function(){var e,n,r,o,i,s,u,l,m="",g=!1;for(u=d,l=h,_("'"===(e=c[f])||'"'===e,"String literal must starts with a quote"),n=f,++f;f<p;){if((r=c[f++])===e){e="";break}if("\\"===r)if((r=c[f++])&&k(r.charCodeAt(0)))++d,"\r"===r&&"\n"===c[f]&&++f,h=f;else switch(r){case"u":case"x":s=f,(i=T(r))?m+=i:(f=s,m+=r);break;case"n":m+="\n";break;case"r":m+="\r";break;case"t":m+="\t";break;case"b":m+="\b";break;case"f":m+="\f";break;case"v":m+="\v";break;default:S(r)?(0!==(o="01234567".indexOf(r))&&(g=!0),f<p&&S(c[f])&&(g=!0,o=8*o+"01234567".indexOf(c[f++]),"0123".indexOf(r)>=0&&f<p&&S(c[f])&&(o=8*o+"01234567".indexOf(c[f++]))),m+=String.fromCharCode(o)):m+=r}else{if(k(r.charCodeAt(0)))break;m+=r}}return""!==e&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.StringLiteral,value:m,octal:g,startLineNumber:u,startLineStart:l,lineNumber:d,lineStart:h,start:n,end:f}}():46===e?b(c.charCodeAt(f+1))?F():j():b(e)?F():v.tokenize&&47===e?function(){var e,t;if(!(e=v.tokens[v.tokens.length-1]))return D();if("Punctuator"===e.type){if("]"===e.value)return j();if(")"===e.value)return!(t=v.tokens[v.openParenToken-1])||"Keyword"!==t.type||"if"!==t.value&&"while"!==t.value&&"for"!==t.value&&"with"!==t.value?j():D();if("}"===e.value){if(v.tokens[v.openCurlyToken-3]&&"Keyword"===v.tokens[v.openCurlyToken-3].type){if(!(t=v.tokens[v.openCurlyToken-4]))return j()}else{if(!v.tokens[v.openCurlyToken-4]||"Keyword"!==v.tokens[v.openCurlyToken-4].type)return j();if(!(t=v.tokens[v.openCurlyToken-5]))return D()}return r.indexOf(t.value)>=0?j():D()}return D()}return"Keyword"===e.type?D():j()}():j()}function B(){var e,r,o;return P(),e={start:{line:d,column:f-h}},r=q(),e.end={line:d,column:f-h},r.type!==t.EOF&&(o=c.slice(r.start,r.end),v.tokens.push({type:n[r.type],value:o,range:[r.start,r.end],loc:e})),r}function U(){var e;return f=(e=g).end,d=e.lineNumber,h=e.lineStart,g=void 0!==v.tokens?B():q(),f=e.end,d=e.lineNumber,h=e.lineStart,e}function z(){var e,t,n;e=f,t=d,n=h,g=void 0!==v.tokens?B():q(),f=e,d=t,h=n}function G(e,t){this.line=e,this.column=t}function H(e,t,n,r){this.start=new G(e,t),this.end=new G(n,r)}function W(){var e,t,n,r;return e=f,t=d,n=h,P(),r=d!==t,f=e,d=t,h=n,r}function V(e,t){var n,r=Array.prototype.slice.call(arguments,2),o=t.replace(/%(\d)/g,(function(e,t){return _(t<r.length,"Message reference must be in range"),r[t]}));throw"number"==typeof e.lineNumber?((n=new Error("Line "+e.lineNumber+": "+o)).index=e.start,n.lineNumber=e.lineNumber,n.column=e.start-h+1):((n=new Error("Line "+d+": "+o)).index=f,n.lineNumber=d,n.column=f-h+1),n.description=o,n}function $(){try{V.apply(null,arguments)}catch(e){if(!v.errors)throw e;v.errors.push(e)}}function J(e){if(e.type===t.EOF&&V(e,a.UnexpectedEOS),e.type===t.NumericLiteral&&V(e,a.UnexpectedNumber),e.type===t.StringLiteral&&V(e,a.UnexpectedString),e.type===t.Identifier&&V(e,a.UnexpectedIdentifier),e.type===t.Keyword){if(function(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0;default:return!1}}(e.value))V(e,a.UnexpectedReserved);else if(l&&C(e.value))return void $(e,a.StrictReservedWord);V(e,a.UnexpectedToken,e.value)}V(e,a.UnexpectedToken,e.value)}function K(e){var n=U();n.type===t.Punctuator&&n.value===e||J(n)}function Y(e){var n=U();n.type===t.Keyword&&n.value===e||J(n)}function Z(e){return g.type===t.Punctuator&&g.value===e}function X(e){return g.type===t.Keyword&&g.value===e}function Q(){var e;59===c.charCodeAt(f)||Z(";")?U():(e=d,P(),d===e&&(g.type===t.EOF||Z("}")||J(g)))}function ee(e){return e.type===o.Identifier||e.type===o.MemberExpression}function te(e,t){var n,r,o;return n=l,o=g,r=be(),t&&l&&O(e[0].name)&&$(t,a.StrictParamName),l=n,m.markEnd(m.createFunctionExpression(null,e,[],r),o)}function ne(){var e,n;return n=g,(e=U()).type===t.StringLiteral||e.type===t.NumericLiteral?(l&&e.octal&&$(e,a.StrictOctalLiteral),m.markEnd(m.createLiteral(e),n)):m.markEnd(m.createIdentifier(e.value),n)}function re(){var e,n,r,o,i,s;return s=g,(e=g).type===t.Identifier?(r=ne(),"get"!==e.value||Z(":")?"set"!==e.value||Z(":")?(K(":"),o=de(),m.markEnd(m.createProperty("init",r,o),s)):(n=ne(),K("("),(e=g).type!==t.Identifier?(K(")"),$(e,a.UnexpectedToken,e.value),o=te([])):(i=[me()],K(")"),o=te(i,e)),m.markEnd(m.createProperty("set",n,o),s)):(n=ne(),K("("),K(")"),o=te([]),m.markEnd(m.createProperty("get",n,o),s))):e.type!==t.EOF&&e.type!==t.Punctuator?(n=ne(),K(":"),o=de(),m.markEnd(m.createProperty("init",n,o),s)):void J(e)}function oe(){var e,n,r,s;if(Z("("))return function(){var e;return K("("),e=he(),K(")"),e}();if(Z("["))return function(){var e,t=[];for(e=g,K("[");!Z("]");)Z(",")?(U(),t.push(null)):(t.push(de()),Z("]")||K(","));return U(),m.markEnd(m.createArrayExpression(t),e)}();if(Z("{"))return function(){var e,t,n,r,s,u=[],c={},f=String;for(s=g,K("{");!Z("}");)t=(e=re()).key.type===o.Identifier?e.key.name:f(e.key.value),r="init"===e.kind?i.Data:"get"===e.kind?i.Get:i.Set,n="$"+t,Object.prototype.hasOwnProperty.call(c,n)?(c[n]===i.Data?l&&r===i.Data?$({},a.StrictDuplicateProperty):r!==i.Data&&$({},a.AccessorDataProperty):r===i.Data?$({},a.AccessorDataProperty):c[n]&r&&$({},a.AccessorGetSet),c[n]|=r):c[n]=r,u.push(e),Z("}")||K(",");return K("}"),m.markEnd(m.createObjectExpression(u),s)}();if(s=g,(e=g.type)===t.Identifier)r=m.createIdentifier(U().value);else if(e===t.StringLiteral||e===t.NumericLiteral)l&&g.octal&&$(g,a.StrictOctalLiteral),r=m.createLiteral(U());else if(e===t.Keyword){if(X("function"))return function(){var e,t,n,r,o,i,s,u,c,f=null;return u=g,Y("function"),Z("(")||(e=g,f=me(),l?O(e.value)&&$(e,a.StrictFunctionName):O(e.value)?(n=e,r=a.StrictFunctionName):C(e.value)&&(n=e,r=a.StrictReservedWord)),c=(o=we(n)).params,t=o.stricted,n=o.firstRestricted,o.message&&(r=o.message),s=l,i=be(),l&&n&&V(n,r),l&&t&&$(t,r),l=s,m.markEnd(m.createFunctionExpression(f,c,[],i),u)}();X("this")?(U(),r=m.createThisExpression()):J(U())}else e===t.BooleanLiteral?((n=U()).value="true"===n.value,r=m.createLiteral(n)):e===t.NullLiteral?((n=U()).value=null,r=m.createLiteral(n)):Z("/")||Z("/=")?(r=m.createLiteral(void 0!==v.tokens?D():L()),z()):J(U());return m.markEnd(r,s)}function ie(){var e=[];if(K("("),!Z(")"))for(;f<p&&(e.push(de()),!Z(")"));)K(",");return K(")"),e}function ae(){return K("."),n=g,function(e){return e.type===t.Identifier||e.type===t.Keyword||e.type===t.BooleanLiteral||e.type===t.NullLiteral}(e=U())||J(e),m.markEnd(m.createIdentifier(e.value),n);var e,n}function se(){var e;return K("["),e=he(),K("]"),e}function ue(){var e,t,n;return n=g,Y("new"),e=function(){var e,t,n,r;for(r=g,e=y.allowIn,t=X("new")?ue():oe(),y.allowIn=e;Z(".")||Z("[");)Z("[")?(n=se(),t=m.createMemberExpression("[",t,n)):(n=ae(),t=m.createMemberExpression(".",t,n)),m.markEnd(t,r);return t}(),t=Z("(")?ie():[],m.markEnd(m.createNewExpression(e,t),n)}function ce(){var e,n,r=g;return e=function(){var e,t,n,r,o;for(o=g,e=y.allowIn,y.allowIn=!0,t=X("new")?ue():oe(),y.allowIn=e;;){if(Z("."))r=ae(),t=m.createMemberExpression(".",t,r);else if(Z("("))n=ie(),t=m.createCallExpression(t,n);else{if(!Z("["))break;r=se(),t=m.createMemberExpression("[",t,r)}m.markEnd(t,o)}return t}(),g.type===t.Punctuator&&(!Z("++")&&!Z("--")||W()||(l&&e.type===o.Identifier&&O(e.name)&&$({},a.StrictLHSPostfix),ee(e)||$({},a.InvalidLHSInAssignment),n=U(),e=m.markEnd(m.createPostfixExpression(n.value,e),r))),e}function le(){var e,n,r;return g.type!==t.Punctuator&&g.type!==t.Keyword?n=ce():Z("++")||Z("--")?(r=g,e=U(),n=le(),l&&n.type===o.Identifier&&O(n.name)&&$({},a.StrictLHSPrefix),ee(n)||$({},a.InvalidLHSInAssignment),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):Z("+")||Z("-")||Z("~")||Z("!")?(r=g,e=U(),n=le(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):X("delete")||X("void")||X("typeof")?(r=g,e=U(),n=le(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r),l&&"delete"===n.operator&&n.argument.type===o.Identifier&&$({},a.StrictDelete)):n=ce(),n}function fe(e,n){var r=0;if(e.type!==t.Punctuator&&e.type!==t.Keyword)return 0;switch(e.value){case"||":r=1;break;case"&&":r=2;break;case"|":r=3;break;case"^":r=4;break;case"&":r=5;break;case"==":case"!=":case"===":case"!==":r=6;break;case"<":case">":case"<=":case">=":case"instanceof":r=7;break;case"in":r=n?7:0;break;case"<<":case">>":case">>>":r=8;break;case"+":case"-":r=9;break;case"*":case"/":case"%":r=11}return r}function de(){var e,n,r,i,s,u;return e=g,s=g,i=n=function(){var e,t,n,r,o;return o=g,e=function(){var e,t,n,r,o,i,a,s,u,c;if(e=g,u=le(),0===(o=fe(r=g,y.allowIn)))return u;for(r.prec=o,U(),t=[e,g],i=[u,r,a=le()];(o=fe(g,y.allowIn))>0;){for(;i.length>2&&o<=i[i.length-2].prec;)a=i.pop(),s=i.pop().value,u=i.pop(),n=m.createBinaryExpression(s,u,a),t.pop(),m.markEnd(n,e=t[t.length-1]),i.push(n);(r=U()).prec=o,i.push(r),t.push(g),n=le(),i.push(n)}for(n=i[c=i.length-1],t.pop();c>1;)n=m.createBinaryExpression(i[c-1].value,i[c-2],n),c-=2,e=t.pop(),m.markEnd(n,e);return n}(),Z("?")&&(U(),t=y.allowIn,y.allowIn=!0,n=de(),y.allowIn=t,K(":"),r=de(),e=m.createConditionalExpression(e,n,r),m.markEnd(e,o)),e}(),g.type!==t.Punctuator||"="!==(u=g.value)&&"*="!==u&&"/="!==u&&"%="!==u&&"+="!==u&&"-="!==u&&"<<="!==u&&">>="!==u&&">>>="!==u&&"&="!==u&&"^="!==u&&"|="!==u||(ee(n)||$({},a.InvalidLHSInAssignment),l&&n.type===o.Identifier&&O(n.name)&&$(e,a.StrictLHSAssignment),e=U(),r=de(),i=m.markEnd(m.createAssignmentExpression(e.value,n,r),s)),i}function he(){var e,t=g;if(e=de(),Z(",")){for(e=m.createSequenceExpression([e]);f<p&&Z(",");)U(),e.expressions.push(de());m.markEnd(e,t)}return e}function pe(){var e,t;return t=g,K("{"),e=function(){for(var e,t=[];f<p&&!Z("}")&&void 0!==(e=xe());)t.push(e);return t}(),K("}"),m.markEnd(m.createBlockStatement(e),t)}function me(){var e,n;return n=g,(e=U()).type!==t.Identifier&&J(e),m.markEnd(m.createIdentifier(e.value),n)}function ge(e){var t,n,r=null;return n=g,t=me(),l&&O(t.name)&&$({},a.StrictVarName),"const"===e?(K("="),r=de()):Z("=")&&(U(),r=de()),m.markEnd(m.createVariableDeclarator(t,r),n)}function ye(e){var t=[];do{if(t.push(ge(e)),!Z(","))break;U()}while(f<p);return t}function ve(){var e,t,n,r=[];for(n=g,X("default")?(U(),e=null):(Y("case"),e=he()),K(":");f<p&&!(Z("}")||X("default")||X("case"));)t=_e(),r.push(t);return m.markEnd(m.createSwitchCase(e,r),n)}function _e(){var e,n,r,i,s,u,d,h,v,_,b=g.type;if(b===t.EOF&&J(g),b===t.Punctuator&&"{"===g.value)return pe();if(i=g,b===t.Punctuator)switch(g.value){case";":return m.markEnd((K(";"),m.createEmptyStatement()),i);case"(":return m.markEnd(function(){var e=he();return Q(),m.createExpressionStatement(e)}(),i)}if(b===t.Keyword)switch(g.value){case"break":return m.markEnd((_=null,Y("break"),59===c.charCodeAt(f)?(U(),y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(null)):W()?(y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(null)):(g.type===t.Identifier&&(_=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+_.name)||V({},a.UnknownLabel,_.name)),Q(),null!==_||y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(_))),i);case"continue":return m.markEnd(function(){var e=null;return Y("continue"),59===c.charCodeAt(f)?(U(),y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(null)):W()?(y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(null)):(g.type===t.Identifier&&(e=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+e.name)||V({},a.UnknownLabel,e.name)),Q(),null!==e||y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(e))}(),i);case"debugger":return m.markEnd((Y("debugger"),Q(),m.createDebuggerStatement()),i);case"do":return m.markEnd((Y("do"),v=y.inIteration,y.inIteration=!0,d=_e(),y.inIteration=v,Y("while"),K("("),h=he(),K(")"),Z(";")&&U(),m.createDoWhileStatement(d,h)),i);case"for":return m.markEnd(function(){var e,t,n,r,o,i,s,u,c,l;return e=t=n=null,Y("for"),K("("),Z(";")?U():(X("var")||X("let")?(y.allowIn=!1,l=g,u=U(),c=ye(),e=m.markEnd(m.createVariableDeclaration(c,u.value),l),y.allowIn=!0,1===e.declarations.length&&X("in")&&(U(),r=e,o=he(),e=null)):(y.allowIn=!1,e=he(),y.allowIn=!0,X("in")&&(ee(e)||$({},a.InvalidLHSInForIn),U(),r=e,o=he(),e=null)),void 0===r&&K(";")),void 0===r&&(Z(";")||(t=he()),K(";"),Z(")")||(n=he())),K(")"),s=y.inIteration,y.inIteration=!0,i=_e(),y.inIteration=s,void 0===r?m.createForStatement(e,t,n,i):m.createForInStatement(r,o,i)}(),i);case"function":return m.markEnd(Se(),i);case"if":return m.markEnd(function(){var e,t,n;return Y("if"),K("("),e=he(),K(")"),t=_e(),X("else")?(U(),n=_e()):n=null,m.createIfStatement(e,t,n)}(),i);case"return":return m.markEnd((u=null,Y("return"),y.inFunctionBody||$({},a.IllegalReturn),32===c.charCodeAt(f)&&E(c.charCodeAt(f+1))?(u=he(),Q(),m.createReturnStatement(u)):W()?m.createReturnStatement(null):(Z(";")||Z("}")||g.type===t.EOF||(u=he()),Q(),m.createReturnStatement(u))),i);case"switch":return m.markEnd(function(){var e,t,n,r,o;if(Y("switch"),K("("),e=he(),K(")"),K("{"),t=[],Z("}"))return U(),m.createSwitchStatement(e,t);for(r=y.inSwitch,y.inSwitch=!0,o=!1;f<p&&!Z("}");)null===(n=ve()).test&&(o&&V({},a.MultipleDefaultsInSwitch),o=!0),t.push(n);return y.inSwitch=r,K("}"),m.createSwitchStatement(e,t)}(),i);case"throw":return m.markEnd(function(){var e;return Y("throw"),W()&&V({},a.NewlineAfterThrow),e=he(),Q(),m.createThrowStatement(e)}(),i);case"try":return m.markEnd(function(){var e,t,n,r,o=[],i=null;return Y("try"),e=pe(),X("catch")&&o.push((r=g,Y("catch"),K("("),Z(")")&&J(g),t=me(),l&&O(t.name)&&$({},a.StrictCatchVariable),K(")"),n=pe(),m.markEnd(m.createCatchClause(t,n),r))),X("finally")&&(U(),i=pe()),0!==o.length||i||V({},a.NoCatchOrFinally),m.createTryStatement(e,[],o,i)}(),i);case"var":return m.markEnd((Y("var"),s=ye(),Q(),m.createVariableDeclaration(s,"var")),i);case"while":return m.markEnd(function(){var e,t,n;return Y("while"),K("("),e=he(),K(")"),n=y.inIteration,y.inIteration=!0,t=_e(),y.inIteration=n,m.createWhileStatement(e,t)}(),i);case"with":return m.markEnd(function(){var e,t;return l&&(P(),$({},a.StrictModeWith)),Y("with"),K("("),e=he(),K(")"),t=_e(),m.createWithStatement(e,t)}(),i)}return(e=he()).type===o.Identifier&&Z(":")?(U(),r="$"+e.name,Object.prototype.hasOwnProperty.call(y.labelSet,r)&&V({},a.Redeclaration,"Label",e.name),y.labelSet[r]=!0,n=_e(),delete y.labelSet[r],m.markEnd(m.createLabeledStatement(e,n),i)):(Q(),m.markEnd(m.createExpressionStatement(e),i))}function be(){var e,n,r,i,s,u,d,h,v=[];for(h=g,K("{");f<p&&g.type===t.StringLiteral&&(n=g,e=xe(),v.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(l=!0,r&&$(r,a.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(i=y.labelSet,s=y.inIteration,u=y.inSwitch,d=y.inFunctionBody,y.labelSet={},y.inIteration=!1,y.inSwitch=!1,y.inFunctionBody=!0;f<p&&!Z("}")&&void 0!==(e=xe());)v.push(e);return K("}"),y.labelSet=i,y.inIteration=s,y.inSwitch=u,y.inFunctionBody=d,m.markEnd(m.createBlockStatement(v),h)}function we(e){var t,n,r,o,i,s,u=[];if(K("("),!Z(")"))for(o={};f<p&&(n=g,t=me(),i="$"+n.value,l?(O(n.value)&&(r=n,s=a.StrictParamName),Object.prototype.hasOwnProperty.call(o,i)&&(r=n,s=a.StrictParamDupe)):e||(O(n.value)?(e=n,s=a.StrictParamName):C(n.value)?(e=n,s=a.StrictReservedWord):Object.prototype.hasOwnProperty.call(o,i)&&(e=n,s=a.StrictParamDupe)),u.push(t),o[i]=!0,!Z(")"));)K(",");return K(")"),{params:u,stricted:r,firstRestricted:e,message:s}}function Se(){var e,t,n,r,o,i,s,u,c,f;return f=g,Y("function"),r=g,e=me(),l?O(r.value)&&$(r,a.StrictFunctionName):O(r.value)?(s=r,u=a.StrictFunctionName):C(r.value)&&(s=r,u=a.StrictReservedWord),t=(i=we(s)).params,o=i.stricted,s=i.firstRestricted,i.message&&(u=i.message),c=l,n=be(),l&&s&&V(s,u),l&&o&&$(o,u),l=c,m.markEnd(m.createFunctionDeclaration(e,t,[],n),f)}function xe(){if(g.type===t.Keyword)switch(g.value){case"const":case"let":return r=g,Y(e=g.value),n=ye(e),Q(),m.markEnd(m.createVariableDeclaration(n,e),r);case"function":return Se();default:return _e()}var e,n,r;if(g.type!==t.EOF)return _e()}function ke(){var e,t,n,r=[];for(e=0;e<v.tokens.length;++e)n={type:(t=v.tokens[e]).type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.tokens=r}(n={})[(t={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9}).BooleanLiteral]="Boolean",n[t.EOF]="<end>",n[t.Identifier]="Identifier",n[t.Keyword]="Keyword",n[t.NullLiteral]="Null",n[t.NumericLiteral]="Numeric",n[t.Punctuator]="Punctuator",n[t.StringLiteral]="String",n[t.RegularExpression]="RegularExpression",r=["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="],o={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},i={Data:1,Get:2,Set:4},a={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},s={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},u={name:"SyntaxTree",processComment:function(e){var t,n;if(!(e.type===o.Program&&e.body.length>0)){for(v.trailingComments.length>0?v.trailingComments[0].range[0]>=e.range[1]?(n=v.trailingComments,v.trailingComments=[]):v.trailingComments.length=0:v.bottomRightStack.length>0&&v.bottomRightStack[v.bottomRightStack.length-1].trailingComments&&v.bottomRightStack[v.bottomRightStack.length-1].trailingComments[0].range[0]>=e.range[1]&&(n=v.bottomRightStack[v.bottomRightStack.length-1].trailingComments,delete v.bottomRightStack[v.bottomRightStack.length-1].trailingComments);v.bottomRightStack.length>0&&v.bottomRightStack[v.bottomRightStack.length-1].range[0]>=e.range[0];)t=v.bottomRightStack.pop();t?t.leadingComments&&t.leadingComments[t.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=t.leadingComments,delete t.leadingComments):v.leadingComments.length>0&&v.leadingComments[v.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=v.leadingComments,v.leadingComments=[]),n&&(e.trailingComments=n),v.bottomRightStack.push(e)}},markEnd:function(e,t){return v.range&&(e.range=[t.start,f]),v.loc&&(e.loc=new H(void 0===t.startLineNumber?t.lineNumber:t.startLineNumber,t.start-(void 0===t.startLineStart?t.lineStart:t.startLineStart),d,f-h),this.postProcess(e)),v.attachComment&&this.processComment(e),e},postProcess:function(e){return v.source&&(e.loc.source=v.source),e},createArrayExpression:function(e){return{type:o.ArrayExpression,elements:e}},createAssignmentExpression:function(e,t,n){return{type:o.AssignmentExpression,operator:e,left:t,right:n}},createBinaryExpression:function(e,t,n){return{type:"||"===e||"&&"===e?o.LogicalExpression:o.BinaryExpression,operator:e,left:t,right:n}},createBlockStatement:function(e){return{type:o.BlockStatement,body:e}},createBreakStatement:function(e){return{type:o.BreakStatement,label:e}},createCallExpression:function(e,t){return{type:o.CallExpression,callee:e,arguments:t}},createCatchClause:function(e,t){return{type:o.CatchClause,param:e,body:t}},createConditionalExpression:function(e,t,n){return{type:o.ConditionalExpression,test:e,consequent:t,alternate:n}},createContinueStatement:function(e){return{type:o.ContinueStatement,label:e}},createDebuggerStatement:function(){return{type:o.DebuggerStatement}},createDoWhileStatement:function(e,t){return{type:o.DoWhileStatement,body:e,test:t}},createEmptyStatement:function(){return{type:o.EmptyStatement}},createExpressionStatement:function(e){return{type:o.ExpressionStatement,expression:e}},createForStatement:function(e,t,n,r){return{type:o.ForStatement,init:e,test:t,update:n,body:r}},createForInStatement:function(e,t,n){return{type:o.ForInStatement,left:e,right:t,body:n,each:!1}},createFunctionDeclaration:function(e,t,n,r){return{type:o.FunctionDeclaration,id:e,params:t,defaults:n,body:r,rest:null,generator:!1,expression:!1}},createFunctionExpression:function(e,t,n,r){return{type:o.FunctionExpression,id:e,params:t,defaults:n,body:r,rest:null,generator:!1,expression:!1}},createIdentifier:function(e){return{type:o.Identifier,name:e}},createIfStatement:function(e,t,n){return{type:o.IfStatement,test:e,consequent:t,alternate:n}},createLabeledStatement:function(e,t){return{type:o.LabeledStatement,label:e,body:t}},createLiteral:function(e){return{type:o.Literal,value:e.value,raw:c.slice(e.start,e.end)}},createMemberExpression:function(e,t,n){return{type:o.MemberExpression,computed:"["===e,object:t,property:n}},createNewExpression:function(e,t){return{type:o.NewExpression,callee:e,arguments:t}},createObjectExpression:function(e){return{type:o.ObjectExpression,properties:e}},createPostfixExpression:function(e,t){return{type:o.UpdateExpression,operator:e,argument:t,prefix:!1}},createProgram:function(e){return{type:o.Program,body:e}},createProperty:function(e,t,n){return{type:o.Property,key:t,value:n,kind:e}},createReturnStatement:function(e){return{type:o.ReturnStatement,argument:e}},createSequenceExpression:function(e){return{type:o.SequenceExpression,expressions:e}},createSwitchCase:function(e,t){return{type:o.SwitchCase,test:e,consequent:t}},createSwitchStatement:function(e,t){return{type:o.SwitchStatement,discriminant:e,cases:t}},createThisExpression:function(){return{type:o.ThisExpression}},createThrowStatement:function(e){return{type:o.ThrowStatement,argument:e}},createTryStatement:function(e,t,n,r){return{type:o.TryStatement,block:e,guardedHandlers:t,handlers:n,finalizer:r}},createUnaryExpression:function(e,t){return"++"===e||"--"===e?{type:o.UpdateExpression,operator:e,argument:t,prefix:!0}:{type:o.UnaryExpression,operator:e,argument:t,prefix:!0}},createVariableDeclaration:function(e,t){return{type:o.VariableDeclaration,declarations:e,kind:t}},createVariableDeclarator:function(e,t){return{type:o.VariableDeclarator,id:e,init:t}},createWhileStatement:function(e,t){return{type:o.WhileStatement,test:e,body:t}},createWithStatement:function(e,t){return{type:o.WithStatement,object:e,body:t}}},e.version="1.2.2",e.tokenize=function(e,n){var r;"string"==typeof e||e instanceof String||(e=String(e)),m=u,f=0,d=(c=e).length>0?1:0,h=0,p=c.length,g=null,y={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},v={},(n=n||{}).tokens=!0,v.tokens=[],v.tokenize=!0,v.openParenToken=-1,v.openCurlyToken=-1,v.range="boolean"==typeof n.range&&n.range,v.loc="boolean"==typeof n.loc&&n.loc,"boolean"==typeof n.comment&&n.comment&&(v.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(v.errors=[]);try{if(z(),g.type===t.EOF)return v.tokens;for(U();g.type!==t.EOF;)try{U()}catch(e){if(v.errors){v.errors.push(e);break}throw e}ke(),r=v.tokens,void 0!==v.comments&&(r.comments=v.comments),void 0!==v.errors&&(r.errors=v.errors)}catch(e){throw e}finally{v={}}return r},e.parse=function(e,n){var r,i,s,_;i=String,"string"==typeof e||e instanceof String||(e=i(e)),m=u,f=0,d=(c=e).length>0?1:0,h=0,p=c.length,g=null,y={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},v={},void 0!==n&&(v.range="boolean"==typeof n.range&&n.range,v.loc="boolean"==typeof n.loc&&n.loc,v.attachComment="boolean"==typeof n.attachComment&&n.attachComment,v.loc&&null!=n.source&&(v.source=i(n.source)),"boolean"==typeof n.tokens&&n.tokens&&(v.tokens=[]),"boolean"==typeof n.comment&&n.comment&&(v.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(v.errors=[]),v.attachComment&&(v.range=!0,v.comments=[],v.bottomRightStack=[],v.trailingComments=[],v.leadingComments=[]));try{P(),z(),_=g,l=!1,s=function(){for(var e,n,r,i=[];f<p&&(n=g).type===t.StringLiteral&&(e=xe(),i.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(l=!0,r&&$(r,a.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(;f<p&&void 0!==(e=xe());)i.push(e);return i}(),r=m.markEnd(m.createProgram(s),_),void 0!==v.comments&&(r.comments=v.comments),void 0!==v.tokens&&(ke(),r.tokens=v.tokens),void 0!==v.errors&&(r.errors=v.errors)}catch(e){throw e}finally{v={}}return r},e.Syntax=function(){var e,t={};for(e in"function"==typeof Object.create&&(t=Object.create(null)),o)o.hasOwnProperty(e)&&(t[e]=o[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}()},r(void 0!==n?n:this.esprima={})},{}],1:[function(e,t,n){(function(r){var o=function(){var e={trace:function(){},yy:{},symbols_:{error:2,JSON_PATH:3,DOLLAR:4,PATH_COMPONENTS:5,LEADING_CHILD_MEMBER_EXPRESSION:6,PATH_COMPONENT:7,MEMBER_COMPONENT:8,SUBSCRIPT_COMPONENT:9,CHILD_MEMBER_COMPONENT:10,DESCENDANT_MEMBER_COMPONENT:11,DOT:12,MEMBER_EXPRESSION:13,DOT_DOT:14,STAR:15,IDENTIFIER:16,SCRIPT_EXPRESSION:17,INTEGER:18,END:19,CHILD_SUBSCRIPT_COMPONENT:20,DESCENDANT_SUBSCRIPT_COMPONENT:21,"[":22,SUBSCRIPT:23,"]":24,SUBSCRIPT_EXPRESSION:25,SUBSCRIPT_EXPRESSION_LIST:26,SUBSCRIPT_EXPRESSION_LISTABLE:27,",":28,STRING_LITERAL:29,ARRAY_SLICE:30,FILTER_EXPRESSION:31,QQ_STRING:32,Q_STRING:33,$accept:0,$end:1},terminals_:{2:"error",4:"DOLLAR",12:"DOT",14:"DOT_DOT",15:"STAR",16:"IDENTIFIER",17:"SCRIPT_EXPRESSION",18:"INTEGER",19:"END",22:"[",24:"]",28:",",30:"ARRAY_SLICE",31:"FILTER_EXPRESSION",32:"QQ_STRING",33:"Q_STRING"},productions_:[0,[3,1],[3,2],[3,1],[3,2],[5,1],[5,2],[7,1],[7,1],[8,1],[8,1],[10,2],[6,1],[11,2],[13,1],[13,1],[13,1],[13,1],[13,1],[9,1],[9,1],[20,3],[21,4],[23,1],[23,1],[26,1],[26,3],[27,1],[27,1],[27,1],[25,1],[25,1],[25,1],[29,1],[29,1]],performAction:function(e,n,r,o,i,a,s){o.ast||(o.ast=t,t.initialize());var u=a.length-1;switch(i){case 1:return o.ast.set({expression:{type:"root",value:a[u]}}),o.ast.unshift(),o.ast.yield();case 2:return o.ast.set({expression:{type:"root",value:a[u-1]}}),o.ast.unshift(),o.ast.yield();case 3:return o.ast.unshift(),o.ast.yield();case 4:return o.ast.set({operation:"member",scope:"child",expression:{type:"identifier",value:a[u-1]}}),o.ast.unshift(),o.ast.yield();case 5:case 6:case 11:case 13:case 18:case 21:case 22:case 23:break;case 7:o.ast.set({operation:"member"}),o.ast.push();break;case 8:o.ast.set({operation:"subscript"}),o.ast.push();break;case 9:case 19:o.ast.set({scope:"child"});break;case 10:case 20:o.ast.set({scope:"descendant"});break;case 12:o.ast.set({scope:"child",operation:"member"});break;case 14:o.ast.set({expression:{type:"wildcard",value:a[u]}});break;case 15:o.ast.set({expression:{type:"identifier",value:a[u]}});break;case 16:o.ast.set({expression:{type:"script_expression",value:a[u]}});break;case 17:o.ast.set({expression:{type:"numeric_literal",value:parseInt(a[u])}});break;case 24:a[u].length>1?o.ast.set({expression:{type:"union",value:a[u]}}):this.$=a[u];break;case 25:this.$=[a[u]];break;case 26:this.$=a[u-2].concat(a[u]);break;case 27:this.$={expression:{type:"numeric_literal",value:parseInt(a[u])}},o.ast.set(this.$);break;case 28:this.$={expression:{type:"string_literal",value:a[u]}},o.ast.set(this.$);break;case 29:this.$={expression:{type:"slice",value:a[u]}},o.ast.set(this.$);break;case 30:this.$={expression:{type:"wildcard",value:a[u]}},o.ast.set(this.$);break;case 31:this.$={expression:{type:"script_expression",value:a[u]}},o.ast.set(this.$);break;case 32:this.$={expression:{type:"filter_expression",value:a[u]}},o.ast.set(this.$);break;case 33:case 34:this.$=a[u]}},table:[{3:1,4:[1,2],6:3,13:4,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9]},{1:[3]},{1:[2,1],5:10,7:11,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,3],5:21,7:11,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,12],12:[2,12],14:[2,12],22:[2,12]},{1:[2,14],12:[2,14],14:[2,14],22:[2,14]},{1:[2,15],12:[2,15],14:[2,15],22:[2,15]},{1:[2,16],12:[2,16],14:[2,16],22:[2,16]},{1:[2,17],12:[2,17],14:[2,17],22:[2,17]},{1:[2,18],12:[2,18],14:[2,18],22:[2,18]},{1:[2,2],7:22,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,5],12:[2,5],14:[2,5],22:[2,5]},{1:[2,7],12:[2,7],14:[2,7],22:[2,7]},{1:[2,8],12:[2,8],14:[2,8],22:[2,8]},{1:[2,9],12:[2,9],14:[2,9],22:[2,9]},{1:[2,10],12:[2,10],14:[2,10],22:[2,10]},{1:[2,19],12:[2,19],14:[2,19],22:[2,19]},{1:[2,20],12:[2,20],14:[2,20],22:[2,20]},{13:23,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9]},{13:24,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9],22:[1,25]},{15:[1,29],17:[1,30],18:[1,33],23:26,25:27,26:28,27:32,29:34,30:[1,35],31:[1,31],32:[1,36],33:[1,37]},{1:[2,4],7:22,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,6],12:[2,6],14:[2,6],22:[2,6]},{1:[2,11],12:[2,11],14:[2,11],22:[2,11]},{1:[2,13],12:[2,13],14:[2,13],22:[2,13]},{15:[1,29],17:[1,30],18:[1,33],23:38,25:27,26:28,27:32,29:34,30:[1,35],31:[1,31],32:[1,36],33:[1,37]},{24:[1,39]},{24:[2,23]},{24:[2,24],28:[1,40]},{24:[2,30]},{24:[2,31]},{24:[2,32]},{24:[2,25],28:[2,25]},{24:[2,27],28:[2,27]},{24:[2,28],28:[2,28]},{24:[2,29],28:[2,29]},{24:[2,33],28:[2,33]},{24:[2,34],28:[2,34]},{24:[1,41]},{1:[2,21],12:[2,21],14:[2,21],22:[2,21]},{18:[1,33],27:42,29:34,30:[1,35],32:[1,36],33:[1,37]},{1:[2,22],12:[2,22],14:[2,22],22:[2,22]},{24:[2,26],28:[2,26]}],defaultActions:{27:[2,23],29:[2,30],30:[2,31],31:[2,32]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){var t=[0],n=[null],r=[],o=this.table,i="",a=0,s=0,u=r.slice.call(arguments,1);this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var c=this.lexer.yylloc;r.push(c);var l=this.lexer.options&&this.lexer.options.ranges;this.parseError="function"==typeof this.yy.parseError?this.yy.parseError:Object.getPrototypeOf(this).parseError;for(var f,d,h,p,m,g,y,v,_={};;){if(this.defaultActions[d=t[t.length-1]]?h=this.defaultActions[d]:(null==f&&(v=void 0,"number"!=typeof(v=this.lexer.lex()||1)&&(v=this.symbols_[v]||v),f=v),h=o[d]&&o[d][f]),void 0===h||!h.length||!h[0]){var b;for(m in y=[],o[d])this.terminals_[m]&&m>2&&y.push("'"+this.terminals_[m]+"'");b=this.lexer.showPosition?"Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+y.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(b,{text:this.lexer.match,token:this.terminals_[f]||f,line:this.lexer.yylineno,loc:c,expected:y})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+d+", token: "+f);switch(h[0]){case 1:t.push(f),n.push(this.lexer.yytext),r.push(this.lexer.yylloc),t.push(h[1]),f=null,s=this.lexer.yyleng,i=this.lexer.yytext,a=this.lexer.yylineno,c=this.lexer.yylloc;break;case 2:if(_.$=n[n.length-(g=this.productions_[h[1]][1])],_._$={first_line:r[r.length-(g||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(g||1)].first_column,last_column:r[r.length-1].last_column},l&&(_._$.range=[r[r.length-(g||1)].range[0],r[r.length-1].range[1]]),void 0!==(p=this.performAction.apply(_,[i,s,a,this.yy,h[1],n,r].concat(u))))return p;g&&(t=t.slice(0,-1*g*2),n=n.slice(0,-1*g),r=r.slice(0,-1*g)),t.push(this.productions_[h[1]][0]),n.push(_.$),r.push(_._$),t.push(o[t[t.length-2]][t[t.length-1]]);break;case 3:return!0}}return!0}},t={initialize:function(){this._nodes=[],this._node={},this._stash=[]},set:function(e){for(var t in e)this._node[t]=e[t];return this._node},node:function(e){return arguments.length&&(this._node=e),this._node},push:function(){this._nodes.push(this._node),this._node={}},unshift:function(){this._nodes.unshift(this._node),this._node={}},yield:function(){var e=this._nodes;return this.initialize(),e}},n=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,o;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(o.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in o)this[i]=o[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),i=0;i<o.length;i++)if((n=this._input.match(this.rules[o[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,o[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:return 4;case 1:return 14;case 2:return 12;case 3:return 15;case 4:return 16;case 5:return 22;case 6:return 24;case 7:return 28;case 8:return 30;case 9:return 18;case 10:return t.yytext=t.yytext.substr(1,t.yyleng-2),32;case 11:return t.yytext=t.yytext.substr(1,t.yyleng-2),33;case 12:return 17;case 13:return 31}},rules:[/^(?:\$)/,/^(?:\.\.)/,/^(?:\.)/,/^(?:\*)/,/^(?:[a-zA-Z_]+[a-zA-Z0-9_]*)/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?:((-?(?:0|[1-9][0-9]*)))?\:((-?(?:0|[1-9][0-9]*)))?(\:((-?(?:0|[1-9][0-9]*)))?)?)/,/^(?:(-?(?:0|[1-9][0-9]*)))/,/^(?:"(?:\\["bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^"\\])*")/,/^(?:'(?:\\['bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^'\\])*')/,/^(?:\(.+?\)(?=\]))/,/^(?:\?\(.+?\)(?=\]))/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}};return e}();function r(){this.yy={}}return e.lexer=n,r.prototype=e,e.Parser=r,new r}();void 0!==e&&void 0!==n&&(n.parser=o,n.Parser=o.Parser,n.parse=function(){return o.parse.apply(o,arguments)},n.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),r.exit(1));var o=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return n.parser.parse(o)},void 0!==t&&e.main===t&&n.main(r.argv.slice(1)))}).call(this,e("_process"))},{_process:14,fs:12,path:13}],2:[function(e,t,n){t.exports={identifier:"[a-zA-Z_]+[a-zA-Z0-9_]*",integer:"-?(?:0|[1-9][0-9]*)",qq_string:'"(?:\\\\["bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^"\\\\])*"',q_string:"'(?:\\\\['bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^'\\\\])*'"}},{}],3:[function(e,t,n){var r=e("./dict"),o=e("fs"),i={lex:{macros:{esc:"\\\\",int:r.integer},rules:[["\\$","return 'DOLLAR'"],["\\.\\.","return 'DOT_DOT'"],["\\.","return 'DOT'"],["\\*","return 'STAR'"],[r.identifier,"return 'IDENTIFIER'"],["\\[","return '['"],["\\]","return ']'"],[",","return ','"],["({int})?\\:({int})?(\\:({int})?)?","return 'ARRAY_SLICE'"],["{int}","return 'INTEGER'"],[r.qq_string,"yytext = yytext.substr(1,yyleng-2); return 'QQ_STRING';"],[r.q_string,"yytext = yytext.substr(1,yyleng-2); return 'Q_STRING';"],["\\(.+?\\)(?=\\])","return 'SCRIPT_EXPRESSION'"],["\\?\\(.+?\\)(?=\\])","return 'FILTER_EXPRESSION'"]]},start:"JSON_PATH",bnf:{JSON_PATH:[["DOLLAR",'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],["DOLLAR PATH_COMPONENTS",'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],["LEADING_CHILD_MEMBER_EXPRESSION","yy.ast.unshift(); return yy.ast.yield()"],["LEADING_CHILD_MEMBER_EXPRESSION PATH_COMPONENTS",'yy.ast.set({ operation: "member", scope: "child", expression: { type: "identifier", value: $1 }}); yy.ast.unshift(); return yy.ast.yield()']],PATH_COMPONENTS:[["PATH_COMPONENT",""],["PATH_COMPONENTS PATH_COMPONENT",""]],PATH_COMPONENT:[["MEMBER_COMPONENT",'yy.ast.set({ operation: "member" }); yy.ast.push()'],["SUBSCRIPT_COMPONENT",'yy.ast.set({ operation: "subscript" }); yy.ast.push() ']],MEMBER_COMPONENT:[["CHILD_MEMBER_COMPONENT",'yy.ast.set({ scope: "child" })'],["DESCENDANT_MEMBER_COMPONENT",'yy.ast.set({ scope: "descendant" })']],CHILD_MEMBER_COMPONENT:[["DOT MEMBER_EXPRESSION",""]],LEADING_CHILD_MEMBER_EXPRESSION:[["MEMBER_EXPRESSION",'yy.ast.set({ scope: "child", operation: "member" })']],DESCENDANT_MEMBER_COMPONENT:[["DOT_DOT MEMBER_EXPRESSION",""]],MEMBER_EXPRESSION:[["STAR",'yy.ast.set({ expression: { type: "wildcard", value: $1 } })'],["IDENTIFIER",'yy.ast.set({ expression: { type: "identifier", value: $1 } })'],["SCRIPT_EXPRESSION",'yy.ast.set({ expression: { type: "script_expression", value: $1 } })'],["INTEGER",'yy.ast.set({ expression: { type: "numeric_literal", value: parseInt($1) } })'],["END",""]],SUBSCRIPT_COMPONENT:[["CHILD_SUBSCRIPT_COMPONENT",'yy.ast.set({ scope: "child" })'],["DESCENDANT_SUBSCRIPT_COMPONENT",'yy.ast.set({ scope: "descendant" })']],CHILD_SUBSCRIPT_COMPONENT:[["[ SUBSCRIPT ]",""]],DESCENDANT_SUBSCRIPT_COMPONENT:[["DOT_DOT [ SUBSCRIPT ]",""]],SUBSCRIPT:[["SUBSCRIPT_EXPRESSION",""],["SUBSCRIPT_EXPRESSION_LIST",'$1.length > 1? yy.ast.set({ expression: { type: "union", value: $1 } }) : $$ = $1']],SUBSCRIPT_EXPRESSION_LIST:[["SUBSCRIPT_EXPRESSION_LISTABLE","$$ = [$1]"],["SUBSCRIPT_EXPRESSION_LIST , SUBSCRIPT_EXPRESSION_LISTABLE","$$ = $1.concat($3)"]],SUBSCRIPT_EXPRESSION_LISTABLE:[["INTEGER",'$$ = { expression: { type: "numeric_literal", value: parseInt($1) } }; yy.ast.set($$)'],["STRING_LITERAL",'$$ = { expression: { type: "string_literal", value: $1 } }; yy.ast.set($$)'],["ARRAY_SLICE",'$$ = { expression: { type: "slice", value: $1 } }; yy.ast.set($$)']],SUBSCRIPT_EXPRESSION:[["STAR",'$$ = { expression: { type: "wildcard", value: $1 } }; yy.ast.set($$)'],["SCRIPT_EXPRESSION",'$$ = { expression: { type: "script_expression", value: $1 } }; yy.ast.set($$)'],["FILTER_EXPRESSION",'$$ = { expression: { type: "filter_expression", value: $1 } }; yy.ast.set($$)']],STRING_LITERAL:[["QQ_STRING","$$ = $1"],["Q_STRING","$$ = $1"]]}};o.readFileSync&&(i.moduleInclude=o.readFileSync(e.resolve("../include/module.js")),i.actionInclude=o.readFileSync(e.resolve("../include/action.js"))),t.exports=i},{"./dict":2,fs:12}],4:[function(e,t,n){var r=e("./aesprim"),o=e("./slice"),i=e("static-eval"),a=e("underscore").uniq,s=function(){return this.initialize.apply(this,arguments)};function u(t,n,o){var i=e("./index"),a=h(r.parse(n).body[0].expression,{"@":t.value}),s=o.replace(/\{\{\s*value\s*\}\}/g,a),u=i.nodes(t.value,s);return u.forEach((function(e){e.path=t.path.concat(e.path.slice(1))})),u}function c(e){return Array.isArray(e)}function l(e){return function(t,n,r,o){var i=t.value,a=t.path,s=[],u=function(t,i){var a;c(t)?(t.forEach((function(e,t){s.length>=o||r(t,e,n)&&s.push({path:i.concat(t),value:e})})),t.forEach((function(t,n){s.length>=o||e&&u(t,i.concat(n))}))):(a=t)&&!(a instanceof Array)&&a instanceof Object&&(this.keys(t).forEach((function(e){s.length>=o||r(e,t[e],n)&&s.push({path:i.concat(e),value:t[e]})})),this.keys(t).forEach((function(n){s.length>=o||e&&u(t[n],i.concat(n))})))}.bind(this);return u(i,a),s}}function f(e){return function(t,n,r){return this.descend(n,t.expression.value,e,r)}}function d(e){return function(t,n,r){return this.traverse(n,t.expression.value,e,r)}}function h(){try{return i.apply(this,arguments)}catch(e){}}function p(e){return e=e.filter((function(e){return e})),a(e,(function(e){return e.path.map((function(e){return String(e).replace("-","--")})).join("-")}))}function m(e){var t=String(e);return t.match(/^-?[0-9]+$/)?parseInt(t):null}s.prototype.initialize=function(){this.traverse=l(!0),this.descend=l()},s.prototype.keys=Object.keys,s.prototype.resolve=function(e){var t=[e.operation,e.scope,e.expression.type].join("-"),n=this._fns[t];if(!n)throw new Error("couldn't resolve key: "+t);return n.bind(this)},s.prototype.register=function(e,t){if(!t instanceof Function)throw new Error("handler must be a function");this._fns[e]=t},s.prototype._fns={"member-child-identifier":function(e,t){var n=e.expression.value,r=t.value;if(r instanceof Object&&n in r)return[{value:r[n],path:t.path.concat(n)}]},"member-descendant-identifier":d((function(e,t,n){return e==n})),"subscript-child-numeric_literal":f((function(e,t,n){return e===n})),"member-child-numeric_literal":f((function(e,t,n){return String(e)===String(n)})),"subscript-descendant-numeric_literal":d((function(e,t,n){return e===n})),"member-child-wildcard":f((function(){return!0})),"member-descendant-wildcard":d((function(){return!0})),"subscript-descendant-wildcard":d((function(){return!0})),"subscript-child-wildcard":f((function(){return!0})),"subscript-child-slice":function(e,t){if(c(t.value)){var n=e.expression.value.split(":").map(m),r=t.value.map((function(e,n){return{value:e,path:t.path.concat(n)}}));return o.apply(null,[r].concat(n))}},"subscript-child-union":function(e,t){var n=[];return e.expression.value.forEach((function(e){var r={operation:"subscript",scope:"child",expression:e.expression},o=this.resolve(r)(r,t);o&&(n=n.concat(o))}),this),p(n)},"subscript-descendant-union":function(t,n,r){var o=e(".."),i=this,a=[];return o.nodes(n,"$..*").slice(1).forEach((function(e){a.length>=r||t.expression.value.forEach((function(t){var n={operation:"subscript",scope:"child",expression:t.expression},r=i.resolve(n)(n,e);a=a.concat(r)}))})),p(a)},"subscript-child-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),i=r.parse(o).body[0].expression;return this.descend(t,null,(function(e,t){return h(i,{"@":t})}),n)},"subscript-descendant-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),i=r.parse(o).body[0].expression;return this.traverse(t,null,(function(e,t){return h(i,{"@":t})}),n)},"subscript-child-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$[{{value}}]")},"member-child-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$.{{value}}")},"member-descendant-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$..value")}},s.prototype._fns["subscript-child-string_literal"]=s.prototype._fns["member-child-identifier"],s.prototype._fns["member-descendant-numeric_literal"]=s.prototype._fns["subscript-descendant-string_literal"]=s.prototype._fns["member-descendant-identifier"],t.exports=s},{"..":"jsonpath","./aesprim":"./aesprim","./index":5,"./slice":7,"static-eval":15,underscore:12}],5:[function(e,t,n){var r=e("assert"),o=e("./dict"),i=e("./parser"),a=e("./handlers"),s=function(){this.initialize.apply(this,arguments)};function u(e){return"[object String]"==Object.prototype.toString.call(e)}s.prototype.initialize=function(){this.parser=new i,this.handlers=new a},s.prototype.parse=function(e){return r.ok(u(e),"we need a path"),this.parser.parse(e)},s.prototype.parent=function(e,t){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path");var n=this.nodes(e,t)[0];return n.path.pop(),this.value(e,n.path)},s.prototype.apply=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),r.equal(Z(n),"function","fn needs to be function");var o=this.nodes(e,t).sort((function(e,t){return t.path.length-e.path.length}));return o.forEach((function(t){var r=t.path.pop(),o=this.value(e,this.stringify(t.path)),i=t.value=n.call(e,o[r]);o[r]=i}),this),o},s.prototype.value=function(e,t,n){if(r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),arguments.length>=3){var o=this.nodes(e,t).shift();if(!o)return this._vivify(e,t,n);var i=o.path.slice(-1).shift();this.parent(e,this.stringify(o.path))[i]=n}return this.query(e,this.stringify(t),1).shift()},s.prototype._vivify=function(e,t,n){var o=this;return r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),function t(n,r){var i=n.pop(),a=o.value(e,n);a||(t(n.concat(),"string"==typeof i?{}:[]),a=o.value(e,n)),a[i]=r}(this.parser.parse(t).map((function(e){return e.expression.value})),n),this.query(e,t)[0]},s.prototype.query=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(u(t),"we need a path");var o=this.nodes(e,t,n).map((function(e){return e.value}));return o},s.prototype.paths=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path");var o=this.nodes(e,t,n).map((function(e){return e.path}));return o},s.prototype.nodes=function(e,t,n){if(r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),0===n)return[];var o=this.parser.parse(t),i=this.handlers,a=[{path:["$"],value:e}],s=[];return o.length&&"root"==o[0].expression.type&&o.shift(),o.length?(o.forEach((function(e,t){if(!(s.length>=n)){var r=i.resolve(e),u=[];a.forEach((function(i){if(!(s.length>=n)){var a=r(e,i,n);t==o.length-1?s=s.concat(a||[]):u=u.concat(a||[])}})),a=u}})),n?s.slice(0,n):s):a},s.prototype.stringify=function(e){r.ok(e,"we need a path");var t="$",n={"descendant-member":"..{{value}}","child-member":".{{value}}","descendant-subscript":"..[{{value}}]","child-subscript":"[{{value}}]"};return(e=this._normalize(e)).forEach((function(e){if("root"!=e.expression.type){var r,o=[e.scope,e.operation].join("-"),i=n[o];if(r="string_literal"==e.expression.type?JSON.stringify(e.expression.value):e.expression.value,!i)throw new Error("couldn't find template "+o);t+=i.replace(/{{value}}/,r)}})),t},s.prototype._normalize=function(e){if(r.ok(e,"we need a path"),"string"==typeof e)return this.parser.parse(e);if(Array.isArray(e)&&"string"==typeof e[0]){var t=[{expression:{type:"root",value:"$"}}];return e.forEach((function(e,n){"$"==e&&0===n||("string"==typeof e&&e.match("^"+o.identifier+"$")?t.push({operation:"member",scope:"child",expression:{value:e,type:"identifier"}}):t.push({operation:"subscript",scope:"child",expression:{value:e,type:"number"==typeof e?"numeric_literal":"string_literal"}}))})),t}if(Array.isArray(e)&&"object"==Z(e[0]))return e;throw new Error("couldn't understand path "+e)},s.Handlers=a,s.Parser=i;var c=new s;c.JSONPath=s,t.exports=c},{"./dict":2,"./handlers":4,"./parser":6,assert:8}],6:[function(e,t,n){var r=e("./grammar"),o=e("../generated/parser"),i=function(){var e=new o.Parser,t=e.parseError;return e.yy.parseError=function(){e.yy.ast&&e.yy.ast.initialize(),t.apply(e,arguments)},e};i.grammar=r,t.exports=i},{"../generated/parser":1,"./grammar":3}],7:[function(e,t,n){function r(e){return String(e).match(/^[0-9]+$/)?parseInt(e):Number.isFinite(e)?parseInt(e,10):0}t.exports=function(e,t,n,o){if("string"==typeof t)throw new Error("start cannot be a string");if("string"==typeof n)throw new Error("end cannot be a string");if("string"==typeof o)throw new Error("step cannot be a string");var i=e.length;if(0===o)throw new Error("step cannot be zero");if(o=o?r(o):1,n=n<0?i+n:n,t=r(0===(t=t<0?i+t:t)?0:t||(o>0?0:i-1)),n=r(0===n?0:n||(o>0?i:-1)),t=o>0?Math.max(0,t):Math.min(i,t),n=o>0?Math.min(n,i):Math.max(-1,n),o>0&&n<=t)return[];if(o<0&&t<=n)return[];for(var a=[],s=t;s!=n&&!(o<0&&s<=n||o>0&&s>=n);s+=o)a.push(e[s]);return a}},{}],8:[function(e,t,n){var r=e("util/"),o=Array.prototype.slice,i=Object.prototype.hasOwnProperty,a=t.exports=l;function s(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&!isFinite(t)||r.isFunction(t)||r.isRegExp(t)?t.toString():t}function u(e,t){return r.isString(e)?e.length<t?e:e.slice(0,t):e}function c(e,t,n,r,o){throw new a.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:o})}function l(e,t){e||c(e,!0,t,"==",a.ok)}function f(e,t){if(e===t)return!0;if(r.isBuffer(e)&&r.isBuffer(t)){if(e.length!=t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return r.isDate(e)&&r.isDate(t)?e.getTime()===t.getTime():r.isRegExp(e)&&r.isRegExp(t)?e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase:r.isObject(e)||r.isObject(t)?function(e,t){if(r.isNullOrUndefined(e)||r.isNullOrUndefined(t))return!1;if(e.prototype!==t.prototype)return!1;if(r.isPrimitive(e)||r.isPrimitive(t))return e===t;var n=d(e),i=d(t);if(n&&!i||!n&&i)return!1;if(n)return f(e=o.call(e),t=o.call(t));var a,s,u=m(e),c=m(t);if(u.length!=c.length)return!1;for(u.sort(),c.sort(),s=u.length-1;s>=0;s--)if(u[s]!=c[s])return!1;for(s=u.length-1;s>=0;s--)if(!f(e[a=u[s]],t[a]))return!1;return!0}(e,t):e==t}function d(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function h(e,t){return!(!e||!t)&&("[object RegExp]"==Object.prototype.toString.call(t)?t.test(e):e instanceof t||!0===t.call({},e))}function p(e,t,n,o){var i;r.isString(n)&&(o=n,n=null);try{t()}catch(e){i=e}if(o=(n&&n.name?" ("+n.name+").":".")+(o?" "+o:"."),e&&!i&&c(i,n,"Missing expected exception"+o),!e&&h(i,n)&&c(i,n,"Got unwanted exception"+o),e&&i&&n&&!h(i,n)||!e&&i)throw i}a.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return u(JSON.stringify(e.actual,s),128)+" "+e.operator+" "+u(JSON.stringify(e.expected,s),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||c;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,o=r.indexOf("\n"+t.name);if(o>=0){var i=r.indexOf("\n",o+1);r=r.substring(i+1)}this.stack=r}}},r.inherits(a.AssertionError,Error),a.fail=c,a.ok=l,a.equal=function(e,t,n){e!=t&&c(e,t,n,"==",a.equal)},a.notEqual=function(e,t,n){e==t&&c(e,t,n,"!=",a.notEqual)},a.deepEqual=function(e,t,n){f(e,t)||c(e,t,n,"deepEqual",a.deepEqual)},a.notDeepEqual=function(e,t,n){f(e,t)&&c(e,t,n,"notDeepEqual",a.notDeepEqual)},a.strictEqual=function(e,t,n){e!==t&&c(e,t,n,"===",a.strictEqual)},a.notStrictEqual=function(e,t,n){e===t&&c(e,t,n,"!==",a.notStrictEqual)},a.throws=function(e,t,n){p.apply(this,[!0].concat(o.call(arguments)))},a.doesNotThrow=function(e,t){p.apply(this,[!1].concat(o.call(arguments)))},a.ifError=function(e){if(e)throw e};var m=Object.keys||function(e){var t=[];for(var n in e)i.call(e,n)&&t.push(n);return t}},{"util/":11}],9:[function(e,t,n){t.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},{}],10:[function(e,t,n){t.exports=function(e){return e&&"object"===Z(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},{}],11:[function(e,t,n){(function(t,r){var o=/%[sdj%]/g;n.format=function(e){if(!y(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,i=r.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),u=r[n];n<i;u=r[++n])m(u)||!b(u)?a+=" "+u:a+=" "+s(u);return a},n.deprecate=function(e,o){if(v(r.process))return function(){return n.deprecate(e,o).apply(this,arguments)};if(!0===t.noDeprecation)return e;var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(o);t.traceDeprecation?console.trace(o):console.error(o),i=!0}return e.apply(this,arguments)}};var i,a={};function s(e,t){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(t)?r.showHidden=t:t&&n._extend(r,t),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),l(r,e,r.depth)}function u(e,t){var n=s.styles[t];return n?"["+s.colors[n][0]+"m"+e+"["+s.colors[n][1]+"m":e}function c(e,t){return e}function l(e,t,r){if(e.customInspect&&t&&x(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var o=t.inspect(r,e);return y(o)||(o=l(e,o,r)),o}var i=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(e,t);if(i)return i;var a=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),S(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(t);if(0===a.length){if(x(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(_(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(w(t))return e.stylize(Date.prototype.toString.call(t),"date");if(S(t))return f(t)}var u,c="",b=!1,k=["{","}"];return h(t)&&(b=!0,k=["[","]"]),x(t)&&(c=" [Function"+(t.name?": "+t.name:"")+"]"),_(t)&&(c=" "+RegExp.prototype.toString.call(t)),w(t)&&(c=" "+Date.prototype.toUTCString.call(t)),S(t)&&(c=" "+f(t)),0!==a.length||b&&0!=t.length?r<0?_(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),u=b?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)C(t,String(a))?i.push(d(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(d(e,t,n,r,o,!0))})),i}(e,t,r,s,a):a.map((function(n){return d(e,t,r,s,n,b)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(u,c,k)):k[0]+c+k[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,o,i){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(u.set?"[Getter/Setter]":"[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),C(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(u.value)<0?(s=m(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function _(e){return b(e)&&"[object RegExp]"===k(e)}function b(e){return"object"===Z(e)&&null!==e}function w(e){return b(e)&&"[object Date]"===k(e)}function S(e){return b(e)&&("[object Error]"===k(e)||e instanceof Error)}function x(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function E(e){return e<10?"0"+e.toString(10):e.toString(10)}n.debuglog=function(e){if(v(i)&&(i=t.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=t.pid;a[e]=function(){var t=n.format.apply(n,arguments);console.error("%s %d: %s",e,r,t)}}else a[e]=function(){};return a[e]},n.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=h,n.isBoolean=p,n.isNull=m,n.isNullOrUndefined=function(e){return null==e},n.isNumber=g,n.isString=y,n.isSymbol=function(e){return"symbol"===Z(e)},n.isUndefined=v,n.isRegExp=_,n.isObject=b,n.isDate=w,n.isError=S,n.isFunction=x,n.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===Z(e)||void 0===e},n.isBuffer=e("./support/isBuffer");var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.log=function(){var e,t;console.log("%s - %s",(t=[E((e=new Date).getHours()),E(e.getMinutes()),E(e.getSeconds())].join(":"),[e.getDate(),A[e.getMonth()],t].join(" ")),n.format.apply(n,arguments))},n.inherits=e("inherits"),n._extend=function(e,t){if(!t||!b(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(this,e("_process"),void 0!==q?q:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":10,_process:14,inherits:9}],12:[function(e,t,n){},{}],13:[function(e,t,n){(function(e){function t(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}n.resolve=function(){for(var n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var a=i>=0?arguments[i]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,o="/"===a.charAt(0))}return(o?"/":"")+(n=t(r(n.split("/"),(function(e){return!!e})),!o).join("/"))||"."},n.normalize=function(e){var i=n.isAbsolute(e),a="/"===o(e,-1);return(e=t(r(e.split("/"),(function(e){return!!e})),!i).join("/"))||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),a=Math.min(o.length,i.length),s=a,u=0;u<a;u++)if(o[u]!==i[u]){s=u;break}var c=[];for(u=s;u<o.length;u++)c.push("..");return(c=c.concat(i.slice(s))).join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,r=-1,o=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!o){r=i;break}}else o=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},n.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,r=-1,o=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!o){n=t+1;break}}else-1===r&&(o=!1,r=t+1);return-1===r?"":e.slice(n,r)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,r=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(47!==s)-1===r&&(o=!1,r=a+1),46===s?-1===t?t=a:1!==i&&(i=1):-1!==t&&(i=-1);else if(!o){n=a+1;break}}return-1===t||-1===r||0===i||1===i&&t===r-1&&t===n+1?"":e.slice(t,r)};var o="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,e("_process"))},{_process:14}],14:[function(e,t,n){var r,o,i=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(e){r=a}try{o="function"==typeof clearTimeout?clearTimeout:s}catch(e){o=s}}();var c,l=[],f=!1,d=-1;function h(){f&&c&&(f=!1,c.length?l=c.concat(l):d=-1,l.length&&p())}function p(){if(!f){var e=u(h);f=!0;for(var t=l.length;t;){for(c=l,l=[];++d<t;)c&&c[d].run();d=-1,t=l.length}c=null,f=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===s||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{return o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new m(e,t)),1!==l.length||f||u(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],15:[function(e,t,n){var r=e("escodegen").generate;t.exports=function(e,t){t||(t={});var n={},o=function e(o,i){if("Literal"===o.type)return o.value;if("UnaryExpression"===o.type){var a=e(o.argument);return"+"===o.operator?+a:"-"===o.operator?-a:"~"===o.operator?~a:"!"===o.operator?!a:n}if("ArrayExpression"===o.type){for(var s=[],u=0,c=o.elements.length;u<c;u++){if((y=e(o.elements[u]))===n)return n;s.push(y)}return s}if("ObjectExpression"===o.type){var l={};for(u=0;u<o.properties.length;u++){var f=null===(v=o.properties[u]).value?v.value:e(v.value);if(f===n)return n;l[v.key.value||v.key.name]=f}return l}if("BinaryExpression"===o.type||"LogicalExpression"===o.type){if((c=e(o.left))===n)return n;var d=e(o.right);if(d===n)return n;var h=o.operator;return"=="===h?c==d:"==="===h?c===d:"!="===h?c!=d:"!=="===h?c!==d:"+"===h?c+d:"-"===h?c-d:"*"===h?c*d:"/"===h?c/d:"%"===h?c%d:"<"===h?c<d:"<="===h?c<=d:">"===h?c>d:">="===h?c>=d:"|"===h?c|d:"&"===h?c&d:"^"===h?c^d:"&&"===h?c&&d:"||"===h?c||d:n}if("Identifier"===o.type)return{}.hasOwnProperty.call(t,o.name)?t[o.name]:n;if("ThisExpression"===o.type)return{}.hasOwnProperty.call(t,"this")?t.this:n;if("CallExpression"===o.type){var p=e(o.callee);if(p===n)return n;if("function"!=typeof p)return n;var m=o.callee.object?e(o.callee.object):n;m===n&&(m=null);var g=[];for(u=0,c=o.arguments.length;u<c;u++){var y;if((y=e(o.arguments[u]))===n)return n;g.push(y)}return p.apply(m,g)}var v;if("MemberExpression"===o.type)return(l=e(o.object))===n||"function"==typeof l?n:"Identifier"===o.property.type?l[o.property.name]:(v=e(o.property))===n?n:l[v];if("ConditionalExpression"===o.type)return(a=e(o.test))===n?n:e(a?o.consequent:o.alternate);if("ExpressionStatement"===o.type)return(a=e(o.expression))===n?n:a;if("ReturnStatement"===o.type)return e(o.argument);if("FunctionExpression"===o.type){var _=o.body.body,b={};for(Object.keys(t).forEach((function(e){b[e]=t[e]})),u=0;u<o.params.length;u++){var w=o.params[u];if("Identifier"!=w.type)return n;t[w.name]=null}for(var u in _)if(e(_[u])===n)return n;t=b;var S=Object.keys(t),x=S.map((function(e){return t[e]}));return Function(S.join(", "),"return "+r(o)).apply(null,x)}if("TemplateLiteral"===o.type){var k="";for(u=0;u<o.expressions.length;u++)k+=e(o.quasis[u]),k+=e(o.expressions[u]);return k+e(o.quasis[u])}if("TaggedTemplateExpression"===o.type){var E=e(o.tag),A=o.quasi,C=A.quasis.map(e),O=A.expressions.map(e);return E.apply(null,[C].concat(O))}return"TemplateElement"===o.type?o.value.cooked:n}(e);return o===n?void 0:o}},{escodegen:12}],jsonpath:[function(e,t,n){t.exports=e("./lib/index")},{"./lib/index":5}]},{},["jsonpath"])("jsonpath")},e.exports=n()}(YO);var ZO=YO.exports;const XO=new Set(["i","me","my","myself","we","our","ours","ourselves","you","your","yours","yourself","yourselves","he","him","his","himself","she","her","hers","herself","it","its","itself","they","them","their","theirs","themselves","what","which","who","whom","this","that","these","those","am","is","are","was","were","be","been","being","have","has","had","having","do","does","did","doing","a","an","the","and","but","if","or","because","as","until","while","of","at","by","for","with","about","against","between","into","through","during","before","after","above","below","to","from","up","down","in","out","on","off","over","under","again","further","then","once","here","there","when","where","why","how","all","any","both","each","few","more","most","other","some","such","no","nor","not","only","own","same","so","than","too","very","s","t","can","will","just","don","should","now",..."1234567890"]);function QO(e,t){for(const[n,r]of t.entries())if(e.startsWith(r))return e.replace(r,n);return e}const eR="$PREFIXED_ID";function tR(e,t,n){return t===eR?[QO(e.id,n)]:ZO.query(e,t)}function nR(e){return e.toLowerCase().split(/[^\d:A-Za-z]+/).filter((e=>e&&!XO.has(e)))}function*rR(e){for(const t of e)yield*nR(t)}function*oR(e){for(const t of e)if("string"==typeof t)yield t;else if("object"==typeof t){const e=ZO.query(t,"$..*");yield*oR(e)}}function*iR(e,t,n){for(const r of t){const t=tR(e,r,n);if(t.length>0)for(const e of rR(oR(t)))yield[r,e]}}async function aR(e,t,n){const r=await this.db,o=t??r.transaction(["nodes"]);zO(n);const i=[...nR(e)],a=[],s=new Map;a.push(...i.map((async(e,t)=>{zO(n);const r=o.objectStore("nodes").index("full-text-words");for await(const o of r.iterate(IDBKeyRange.bound(e,`${e}￿`,!1,!1))){zO(n);const e=o.value,r=s.get(e.id)??[e,new Set];r[1].add(t),s.set(e.id,r)}}))),await Promise.all(a),zO(n);const u=[];for(const[,[e,t]]of s)zO(n),u.push(...sR(this.textIndexFields,e,t,i,this.prefixes));return u.sort(((e,t)=>t.score-e.score)),u.slice(0,this.options.maxSearchResults??this.DEFAULT_MAX_SEARCH_RESULTS)}function sR(e,t,n,r,o){const i=[...n].sort().map((e=>r[e])),a=i.map((e=>{const t=e.replaceAll(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`);return new RegExp(`\\b${t}`,"gi")}));let s=[],u=0;for(const[n,i]of e.entries()){const c=new Set,l=e.length-n-1,f=[...oR(tR(t,i.jsonPath,o))];for(const e of f){let n=0;const o=[];for(const[t,i]of a.entries())for(const a of e.matchAll(i)){n+=1+1*l,c.add(t);const i=a.index,s=r[t];void 0!==i&&(n+=.01*s.length,n+=s.length/e.length*100*.05,o.push({wordIndex:t,position:i}))}n+=100*c.size,u<n&&(u=n),o.sort(((e,t)=>e.position-t.position)),o.length>0&&s.push({term:t,field:i,str:e,score:n,wordMatches:o})}}s=s.filter((e=>e.score===u));for(const e of s){const{wordMatches:t}=e;for(let n=0;n<t.length-1;n++){const r=t[n],o=t[n+1],a=o.wordIndex-r.wordIndex;if(1===a||-1===a){e.score+=1,1===a&&(e.score+=1);const t=Math.abs(o.position-(r.position+i[r.wordIndex].length))-1;e.score-=.05*t}}}return s}function uR(e){return"string"==typeof e.id}function cR(e){return"string"==typeof e.sub&&"string"==typeof e.pred&&"string"==typeof e.obj}function lR(e){return Boolean(e.meta?.deprecated)}var fR=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==Z(t)&&"object"==Z(n)){if(t.constructor!==n.constructor)return!1;var r,o,i;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(!e(t[o],n[o]))return!1;return!0}if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;var a,s=we(t.entries());try{for(s.s();!(a=s.n()).done;)if(!n.has((o=a.value)[0]))return!1}catch(e){s.e(e)}finally{s.f()}var u,c=we(t.entries());try{for(c.s();!(u=c.n()).done;)if(!e((o=u.value)[1],n.get(o[0])))return!1}catch(e){c.e(e)}finally{c.f()}return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;var l,f=we(t.entries());try{for(f.s();!(l=f.n()).done;)if(!n.has((o=l.value)[0]))return!1}catch(e){f.e(e)}finally{f.f()}return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(t[o]!==n[o])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,i[o]))return!1;for(o=r;0!=o--;){var d=i[o];if(!e(t[d],n[d]))return!1}return!0}return t!=t&&n!=n};async function dR(e){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.blocked,o=n.upgrade,i=n.blocking,a=n.terminated,s=indexedDB.open(e,t),u=Pd(s);return o&&s.addEventListener("upgradeneeded",(function(e){o(Pd(s.result),e.oldVersion,e.newVersion,Pd(s.transaction),e)})),r&&s.addEventListener("blocked",(function(e){return r(e.oldVersion,e.newVersion,e)})),u.then((function(e){a&&e.addEventListener("close",(function(){return a()})),i&&e.addEventListener("versionchange",(function(e){return i(e.oldVersion,e.newVersion,e)}))})).catch((function(){})),u}(e,2,{upgrade(e,t,n,r,o){if(t<2&&(e.objectStoreNames.contains("meta")&&e.deleteObjectStore("meta"),e.objectStoreNames.contains("nodes")&&e.deleteObjectStore("nodes"),e.objectStoreNames.contains("edges")&&e.deleteObjectStore("edges")),e.objectStoreNames.contains("meta")||e.createObjectStore("meta"),!e.objectStoreNames.contains("nodes")){e.createObjectStore("nodes",{keyPath:"id"});const t=r.objectStore("nodes");t.createIndex("by-label","lbl"),t.createIndex("by-type","type"),t.createIndex("by-synonym",["meta","synonyms","val"]),t.createIndex("full-text-words","fullTextWords",{multiEntry:!0})}if(!e.objectStoreNames.contains("edges")){e.createObjectStore("edges",{autoIncrement:!0});const t=r.objectStore("edges");t.createIndex("by-subject","sub"),t.createIndex("by-object","obj"),t.createIndex("by-predicate","pred")}}})}function hR(e){const t=new Set;for(const[,n]of e)t.add(n);return[...t]}async function pR(e){const t=Date.now();let n;try{n=JSON.parse(await y.openLocation(this.sourceLocation).readFile("utf8"))}catch{throw new Error("Error in loading ontology")}const r=Date.now(),[o,...i]=n.graphs??[];if(o){if(i.length>0)throw new Error("multiple graphs not supported");try{const n=e.transaction(["meta","nodes","edges"],"readwrite");await n.objectStore("meta").clear(),await n.objectStore("nodes").clear(),await n.objectStore("edges").clear();const i=n.objectStore("nodes"),a=mR.call(this).map((e=>e.jsonPath));for(const e of o.nodes??[])uR(e)&&await i.add({...e,fullTextWords:hR(iR(e,a,this.prefixes))});const s=n.objectStore("edges");for(const e of o.edges??[])cR(e)&&await s.add(e);await n.done;const u=e.transaction("meta","readwrite");await u.objectStore("meta").add({ontologyRecord:{name:this.ontologyName,version:this.ontologyVersion,sourceLocation:this.sourceLocation},storeOptions:this.options,graphMeta:o.meta,timestamp:String(new Date),schemaVersion:2,timings:{overall:Date.now()-t,load:Date.now()-r}},"meta"),await u.done}catch(t){throw await e.transaction("meta","readwrite").objectStore("meta").clear(),t}}}function mR(){return[{displayName:"ID",jsonPath:eR},...this.options.textIndexing?.indexFields??bR]}async function gR(e){const[t]=await e.transaction("meta").objectStore("meta").getAll();return!!t&&fR(this.options.prefixes,t.storeOptions.prefixes)&&fR(this.options.textIndexing,t.storeOptions.textIndexing)}class yR{ontologyName;ontologyVersion;sourceLocation;db;options;loadOboGraphJson=pR;getTermsByFulltext=aR;openDatabase=dR;isDatabaseCurrent=gR;get textIndexFields(){return mR.call(this)}get prefixes(){return this.options.prefixes??new Map}DEFAULT_MAX_SEARCH_RESULTS=100;constructor(e,t,n,r){this.ontologyName=e,this.ontologyVersion=t,this.sourceLocation=n,this.db=this.prepareDatabase(),this.options=r??{}}validate(){const e=[],{sourceLocation:t,sourceType:n}=this;return n?"obo-graph-json"!==n&&e.push(new Error(`ontology source file ${JSON.stringify(t)} has type ${n}, which is not yet supported`)):e.push(new Error(`unable to determine format of ontology source file ${JSON.stringify(t)}, file name must end with ".json", ".obo", or ".owl"`)),e}get sourceType(){if(n.isUriLocation(this.sourceLocation)){if(this.sourceLocation.uri.endsWith(".json"))return"obo-graph-json"}else if(n.isLocalPathLocation(this.sourceLocation)&&this.sourceLocation.localPath.endsWith(".json"))return"obo-graph-json"}get dbName(){return`Apollo Ontology "${this.ontologyName}" "${this.ontologyVersion}"`}async prepareDatabase(){const e=this.validate();if(e.length>0)throw e;const t=await this.openDatabase(this.dbName);if(await this.isDatabaseCurrent(t))return t;try{const{sourceLocation:e,sourceType:n}=this;if("obo-graph-json"!==n)throw new Error(`ontology source file ${JSON.stringify(e)} has type ${n}, which is not yet supported`);return await this.loadOboGraphJson(t),t}catch(e){throw t.close(),await function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).blocked,n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",(function(e){return t(e.oldVersion,e)})),Pd(n).then((function(){}))}(this.dbName),e}}async termCount(e){const t=await this.db;return(e??t.transaction("nodes")).objectStore("nodes").count()}unique(e){const t=new Map,n=[];for(const r of e)t.has(r.id)||(t.set(r.id,!0),n.push(r));return n}async getTermsWithLabelOrSynonym(e,t,n){const r=t?.includeSubclasses??!0,o=await this.db,i=n??o.transaction(["nodes","edges"]),a=i.objectStore("nodes"),s=[...await a.index("by-label").getAll(e),...await a.index("by-synonym").getAll(e)];if(r){const e=await this.recurseEdges("by-object",s.map((e=>e.id)),(e=>"is_a"===e.pred),"sub",i);for(const t of e){const e=await a.get(t);e&&s.push(e)}}return s}async getPropertiesByLabel(e,t,n){const r=t?.includeSubProperties??!0,o=await this.db,i=n??o.transaction(["nodes","edges"]),a=(await this.getTermsWithLabelOrSynonym(e,{includeSubclasses:!1},i)).filter((e=>xR(e)));if(r){const e=await this.recurseEdges("by-object",a.map((e=>e.id)),(e=>"subPropertyOf"===e.pred),"sub",i),t=i.objectStore("nodes");for(const n of e){const e=await t.get(n);e&&xR(e)&&a.push(e)}}return a}async recurseEdges(e,t,n,r,o){const i=new Set;return await async function t(a){await Promise.all([...a].map((async a=>{const s=(await o.objectStore("edges").index(e).getAll(a)).filter((e=>n(e))).map((e=>e[r]));if(s.length>0){for(const e of s)i.add(e);await t(s)}})))}(t),i.values()}async*expandNodeSet(e,t="is_a",n,r){const o=await this.db,i=r??o.transaction(["edges"]),a=[...e],s=await this.recurseEdges("subclasses"===n?"by-object":"by-subject",a,(e=>e.pred===t),"subclasses"===n?"sub":"obj",i);for(const e of a)yield e;for(const e of s)yield e}expandSubclasses(e,t="is_a",n){return this.expandNodeSet(e,t,"subclasses",n)}expandSuperclasses(e,t="is_a",n){return this.expandNodeSet(e,t,"superclasses",n)}async getClassesThat(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),i=await this.getPropertiesByLabel(e,{includeSubProperties:!0},o),a=new Set(i.map((e=>e.id))),s=await async function(e){const t=[];for await(const n of e)t.push(n);return t}(this.expandSuperclasses(t.map((e=>e.id)),"is_a",o)),u=await this.recurseEdges("by-object",s,(e=>a.has(e.pred)),"sub",o),c=this.expandSubclasses(u,"is_a",o),l=[];for await(const e of c){const t=await o.objectStore("nodes").get(e);t&&SR(t)&&!lR(t)&&l.push(t)}return l}async getClassesWithoutPropertyLabeled(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),i=o.objectStore("nodes"),a=o.objectStore("edges"),s=(await this.getPropertiesByLabel(e,t,o)).map((e=>e.id)),u=await(async()=>{const e=new Set;for(const t of s)for await(const n of a.index("by-predicate").iterate(t))e.add(n.value.sub);const t=new Set;for await(const n of this.expandSubclasses(e,"is_a",o))t.add(n);return t})(),c=[];for await(const e of i){const t=e.value;SR(t)&&!u.has(t.id)&&c.push(t.id)}const l=[];for(const e of c){const t=await o.objectStore("nodes").get(e);t&&SR(t)&&!lR(t)&&l.push(t)}return l}async getAllClasses(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").index("by-type").getAll("CLASS")).filter((e=>!lR(e)))}async getAllTerms(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").getAll()).filter((e=>!lR(e)))}}const vR=u.types.model("OntologyRecord",{name:u.types.string,version:"unversioned",source:u.types.union(g.LocalPathLocation,g.UriLocation,g.BlobLocation),options:u.types.frozen()}).volatile((e=>({dataStore:void 0}))).actions((e=>({ping(){},initDataStore(){e.dataStore=new yR(e.name,e.version,u.getSnapshot(e.source),e.options)},afterCreate(){u.addDisposer(e,s.autorun((()=>{this.initDataStore()})))}}))),_R=u.types.model("OntologyManager",{ontologies:u.types.array(vR),prefixes:u.types.optional(u.types.map(u.types.string),{"GO:":"http://purl.obolibrary.org/obo/GO_","SO:":"http://purl.obolibrary.org/obo/SO_"})}).views((e=>({get featureTypeOntologyName(){const t=u.getRoot(e).jbrowse.configuration;return r.readConfObject(t.ApolloPlugin,"featureTypeOntologyName")}}))).views((e=>({get featureTypeOntology(){return this.findOntology(e.featureTypeOntologyName)},findOntology:(t,n)=>e.ontologies.find((e=>e.name===t&&(void 0===n||e.version===n))),openOntology(e,t){return this.findOntology(e,t)?.dataStore},applyPrefixes:t=>QO(t,e.prefixes),expandPrefixes:t=>function(e,t){for(const[n,r]of t.entries())if(e.startsWith(n))return e.replace(n,r);return e}(t,e.prefixes)}))).actions((e=>({addOntology(t,n,r,o){const i=e.ontologies.push({name:t,version:n,source:r,options:{prefixes:new Map(e.prefixes.entries()),...o}});e.ontologies[i-1].ping()}}))),bR=[{displayName:"Label",jsonPath:"$.lbl"},{displayName:"Synonym",jsonPath:"$.meta.synonyms[*].val"},{displayName:"Definition",jsonPath:"$.meta.definition.val"}],wR=r.ConfigurationSchema("OntologyRecord",{name:{type:"string",description:'the full name of the ontology, e.g. "Gene Ontology"',defaultValue:"My Ontology"},version:{type:"string",description:"the ontology's version string",defaultValue:"unversioned"},source:{type:"fileLocation",description:"the download location for the ontology's source file",defaultValue:{locationType:"UriLocation",uri:"http://example.com/myontology.json"}},textIndexFields:{type:"frozen",description:"JSON paths for text fields that will be indexed for text searching",defaultValue:bR}});function SR(e){return"CLASS"===e.type}function xR(e){return"PROPERTY"===e.type}async function kR(e,t,n){if(!e)return;const r=await t.getTermsWithLabelOrSynonym(e.type,{includeSubclasses:!1}),o=r.filter(SR);if(0===r.length)return;const i=await t.getClassesThat("part_of",o);return 0!==i.length?i:void 0}function ER({fetchValidTerms:e,filterTerms:t,includeDeprecated:n,onChange:r,ontologyName:o,ontologyVersion:i,renderInput:a,session:s,style:u,value:l}){const[f,h]=d.useState(!1),[p,m]=d.useState(),[g,y]=d.useState(""),[v,_]=d.useState(),{ontologyManager:b}=s.apolloDataStore,w=b.findOntology(o,i)?.dataStore,S=w&&f&&!p,x=w&&!v,k=d.useCallback((e=>(n||!lR(e))&&(!t||t(e))),[t,n]);d.useEffect((()=>{f||m(void 0)}),[f]),d.useEffect((()=>{const e=new AbortController,{signal:t}=e;return x&&(y(""),async function(e,t,n,r){if(!t)return;const o=(await e.getTermsWithLabelOrSynonym(t,{includeSubclasses:!1})).find((e=>(n??(()=>!0))(e)));if(!o)throw new Error(`not a valid ${e.ontologyName} term`);return o}(w,l,k).then((e=>{t.aborted||_(e)}),(e=>{t.aborted||GO(e)||y(String(e))}))),()=>{e.abort()}}),[s,l,k,w,x]),d.useEffect((()=>{const t=new AbortController,{signal:n}=t;return S&&async function(e,t,n,r){let o;if(t){const n=await t(e,r);n&&(o=n)}return o||(o=await e.getAllTerms()),n?o.filter((e=>n(e))):o}(w,e,k,n).then((e=>{e&&!n.aborted&&m(e)}),(e=>{n.aborted||GO(e)||s.notify(e instanceof Error?e.message:String(e),"error")})),()=>{t.abort()}}),[S,k,w,s,e]);const E={};return g&&(E.error=!0,E.helperText=g),M.default.createElement(c.Autocomplete,{style:u,autoComplete:!0,filterSelectedOptions:!0,disableClearable:!0,selectOnFocus:!0,clearOnBlur:!0,handleHomeEndKeys:!0,freeSolo:!0,value:l,options:p??[],onOpen:()=>{h(!0)},onClose:()=>{h(!1)},loading:S,renderInput:a??(e=>M.default.createElement(c.TextField,{...e,...E})),getOptionLabel:e=>"string"==typeof e?e:e.lbl??"",isOptionEqualToValue:(e,t)=>e.lbl===t.lbl,onChange:(e,t)=>{t&&("string"==typeof t?(_(void 0),r(l,t)):t.lbl!==l&&(y(""),_(t),r(l,t.lbl)))}})}function AR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:i}=n,[a,s]=d.useState(String(o.max)),[u,l]=d.useState(String(o.min+1)),[f,h]=d.useState(""),[p,m]=d.useState(""),[g,y]=d.useState(""),v=Number(a)<=Number(u);return M.default.createElement(_d,{open:!0,title:"Add new child feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},M.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),m("");const s=new nr.AddFeatureChange({changedIds:[o._id],typeName:"AddFeatureChange",assembly:r,addedFeature:{_id:(new Jn).toHexString(),refSeq:o.refSeq,min:Number(u)-1,max:Number(a),type:f},parentFeatureId:o._id});await e.submit(s),i("Feature added successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:u,onChange:e=>{l(e.target.value)}}),M.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:a,onChange:e=>{s(e.target.value)},error:v,helperText:v?'"End" must be greater than "Start"':null}),M.default.createElement(ER,{session:n,ontologyName:"Sequence Ontology",style:{width:170},value:f,filterTerms:SR,fetchValidTerms:async function(e,t,n){const r=await kR(e,t);if(r)return r;y(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,o),renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(g),helperText:g}),onChange:(e,t)=>{var n;t&&(n=t,m(""),h(n))}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:v||!(u&&a&&f)},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),p?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},p)):null)}function CR({changeManager:e,handleClose:t,region:n,session:r}){const{notify:o}=r,[i,a]=d.useState(String(n.end)),[s,u]=d.useState(String(n.start+1)),[l,f]=d.useState(""),[h,p]=d.useState(),[m,g]=d.useState(""),y=Number(i)<=Number(s);return M.default.createElement(_d,{open:!0,title:"Add new feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},M.default.createElement("form",{onSubmit:async function(a){let u;a.preventDefault(),g("");for(const[,e]of r.apolloDataStore.assemblies??new Map)if(e._id===n.assemblyName)for(const[,t]of e.refSeqs??new Map)t.name===n.refName&&(u=t._id);if(!u)return void g("Invalid refseq id");const c=(new Jn).toHexString(),f=new nr.AddFeatureChange({changedIds:[c],typeName:"AddFeatureChange",assembly:n.assemblyName,addedFeature:{_id:c,refSeq:u,min:Number(s)-1,max:Number(i),type:l,strand:h}});await e.submit(f),o("Feature added successfully","success"),t(),a.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:Number(s),onChange:e=>{u(e.target.value)}}),M.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:i,onChange:e=>{a(e.target.value)},error:y,helperText:y?'"End" must be greater than "Start"':null}),M.default.createElement(ER,{session:r,ontologyName:"Sequence Ontology",style:{width:170},value:l,filterTerms:SR,renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0}),onChange:(e,t)=>{var n;t&&(n=t,g(""),f(n))}}),M.default.createElement(c.FormControl,null,M.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Strand"),M.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Strand",value:h?.toString(),onChange:function(e){switch(g(""),Number(e.target.value)){case 1:p(1);break;case-1:p(-1);break;default:p(void 0)}}},M.default.createElement(c.MenuItem,{value:void 0}),M.default.createElement(c.MenuItem,{value:1},"+"),M.default.createElement(c.MenuItem,{value:-1},"-")))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:y||!(s&&i&&l)},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),m?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},m)):null)}function OR(e,t){const n=(new Jn).toHexString();t.push(n);const r={};if(e.children)for(const n of Object.values(e.children)){const e=OR(n,t);r[e._id]=e}const o="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return{...e,refSeq:o,children:e.children&&r,_id:n}}function RR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:o,sourceFeature:i}){const{assemblyManager:a,notify:s}=n,l=a.assemblyList,[f,h]=d.useState(l.find((e=>e.name!==o))?.name),[p,m]=d.useState([]),[g,y]=d.useState(""),[v,_]=d.useState(i.min),[b,w]=d.useState("");function S(e,t){const n={};if(e.children)for(const r of Object.values(e.children)){const e=S(r,t);e.refSeq=g,e.min=e.min+t,e.max=e.max+t,n[e._id]=e}const r="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString(),o="string"==typeof e._id?e._id:e._id.toHexString();return{...e,refSeq:r,children:e.children&&n,_id:o}}return d.useEffect((()=>{y(""),async function(){if(!f)return void w("No assemblies to copy to");const e=await a.waitForAssembly(f);if(!e)return;const{refNameAliases:t}=e;if(!t)return;const n=[...Object.entries(t)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t??""})));m(n),y(n[0]?._id||"")}().catch((e=>{w(String(e))}))}),[f,a]),M.default.createElement(_d,{open:!0,title:"Copy features and annotations",handleClose:t,maxWidth:!1,"data-testid":"copy-feature"},M.default.createElement("form",{onSubmit:async function(n){if(!f)return;n.preventDefault(),w("");const r=i.length,o=await a.waitForAssembly(f);if(!o)return void w(`Assembly not found: ${f}.`);const c=o.getCanonicalRefName(g),l=o.regions?.find((e=>e.refName===c));if(!l)return void w(`RefSeq not found: ${g}.`);const d=v+r;if(d>l.end)return void w(`Feature would extend beyond the bounds of the selected reference sequence. (Feature would end at ${d}, but reference sequence ends at ${l.end})`);if(v<l.start)return void w(`Reference sequence starts at ${l.start}, feature cannot start before that.`);const h=[],p=OR(u.getSnapshot(i),h),m={...p.attributes};"Parent"in m&&delete m.Parent,p.refSeq=g;const y=v-p.min;p.min=v,p.max=v+r;const _=S(p,y),b=new nr.AddFeatureChange({changedIds:[p._id],typeName:"AddFeatureChange",assembly:f,addedFeature:{_id:p._id,refSeq:p.refSeq,min:p.min,max:p.max,type:p.type,children:_.children,attributes:m,strand:p.strand},copyFeature:!0,allIds:h});await e.submit(b),s("Feature copied successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Target assembly"),M.default.createElement(c.Select,{labelId:"label",value:f,onChange:function(e){h(e.target.value)}},l.filter((e=>e.name!==o)).map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},r.readConfObject(e,"displayName"))))),M.default.createElement(c.DialogContentText,null,"Target reference sequence"),M.default.createElement(c.Select,{labelId:"label",value:g,onChange:function(e){y(e.target.value)}},p.map((e=>M.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),M.default.createElement(c.DialogContentText,null,"Start position in target reference sequence"),M.default.createElement(c.TextField,{margin:"dense",type:"number",fullWidth:!0,variant:"outlined",value:v,onChange:e=>{_(Number(e.target.value))}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!f||!g||!v,variant:"contained",type:"submit"},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),b?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},b)):null)}function NR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=u.getRoot(n),[o,i]=d.useState(),[a,s]=d.useState(""),[l,f]=d.useState(!1),[h,p]=d.useState(!1),m=r.filter((e=>"ApolloInternetAccount"===e.type));if(0===m.length)throw new Error("No Apollo internet account found");const[g,y]=d.useState(m[0]),{collaborationServerDriver:v}=n.apolloDataStore,_=v.getAssemblies();return d.useEffect((()=>{_.length>0&&void 0===o&&i(_[0])}),[_,o]),M.default.createElement(_d,{open:!0,title:"Delete Assembly",handleClose:t,maxWidth:!1,"data-testid":"delete-assembly"},M.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),p(!0),s(""),!o)return void s("Must select assembly!");const r=new nr.DeleteAssemblyChange({typeName:"DeleteAssemblyChange",assembly:o.name});await e.submit(r,{internetAccountId:g.internetAccountId}),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},m.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:g.internetAccountId,onChange:function(e){p(!1);const t=m.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);y(t)},disabled:h&&!a},r.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:o?.name??"",onChange:function(e){const t=_.find((t=>t.name===e.target.value));i(t)},disabled:0===_.length},_.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContentText,null,M.default.createElement("strong",{style:{color:"red"}},"NOTE: All assembly data will be deleted and this operation cannot be undone!")),M.default.createElement(c.FormGroup,null,M.default.createElement(c.FormControlLabel,{control:M.default.createElement(c.Checkbox,{checked:l,onChange:()=>{f(!l)}}),label:"I understand that all assembly data will be deleted"}))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!o||!l,variant:"contained",type:"submit"},"Delete"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}function IR({changeManager:e,handleClose:t,selectedFeature:n,session:r,setSelectedFeature:o,sourceAssemblyId:i,sourceFeature:a}){const{notify:s}=r,[l,f]=d.useState("");return M.default.createElement(_d,{open:!0,title:"Delete feature",handleClose:t,maxWidth:!1,"data-testid":"delete-feature"},M.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),f(""),n?._id===a._id&&o();const c=new nr.DeleteFeatureChange({changedIds:[a._id],typeName:"DeleteFeatureChange",assembly:i,deletedFeature:u.getSnapshot(a),parentFeatureId:a.parent?._id});await e.submit(c),s("Feature deleted successfully","success"),t(),r.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Are you sure you want to delete the selected feature?")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit"},"Yes"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),l?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},l)):null)}var PR={exports:{}};function TR({handleClose:e,session:t}){const[n,o]=d.useState(),[i,a]=d.useState(""),{collaborationServerDriver:s,getInternetAccount:l,inMemoryFileDriver:f}=t.apolloDataStore,h=[...s.getAssemblies(),...f.getAssemblies()];return M.default.createElement(_d,{open:!0,title:"Export GFF3",handleClose:e,maxWidth:!1,"data-testid":"download-gff3"},M.default.createElement("form",{onSubmit:async function(o){if(o.preventDefault(),a(""),!n)return void a("Must select assembly to download");const{internetAccountConfigId:i}=r.getConf(n,["sequence","metadata"]);i?await async function(e){if(!n)return void a("Must select assembly to download");const t=l(n.configuration.name,e),r=new URL("export/getID",t.baseURL),o=new URLSearchParams({assembly:n.name});r.search=o.toString();const i=r.toString(),s=t.getFetcher({locationType:"UriLocation",uri:i}),u=await s(i,{method:"GET"});if(!u.ok){const e=await fd(u,"Error when exporting ID");return void a(e)}const{exportID:c}=await u.json(),f=new URL("export",t.baseURL),d=new URLSearchParams({exportID:c});f.search=d.toString();const h=f.toString();window.open(h,"_blank")}(i):function(e){if(!n)return void a("Must select assembly to download");const{assemblies:t}=e.apolloDataStore,o=t.get(n.name),i=o?.refSeqs;if(!i)return void a(`No refSeqs found for assembly "${n.name}"`);const s=[{directive:"gff-version",value:"3"}],c=r.getConf(n,["sequence","adapter","features"]);for(const e of c){const{end:t,refName:n,start:r}=e;s.push({directive:"sequence-region",value:`${n} ${r+1} ${t}`})}for(const[,e]of i){const{features:t}=e;if(t)for(const[,e]of t)s.push(nr.makeGFF3Feature(u.getSnapshot(e)))}for(const e of c){const{refName:t,seq:n}=e;s.push({id:t,description:"",sequence:n})}const l=ud.formatSync(s),f=new Blob([l],{type:"text/plain;charset=utf-8"});PR.exports.saveAs(f,`${n.displayName??n.name}.gff3`)}(t),e()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:n?.name??"",onChange:function(e){const t=h.find((t=>t.name===e.target.value));o(t)},disabled:0===h.length},h.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContentText,null,"Select assembly to export to GFF3")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!n,variant:"contained",type:"submit"},"Download"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}function MR({changeManager:e,handleClose:t,session:n}){const{apolloDataStore:o}=n,[i,a]=d.useState(),[s,u]=d.useState(),[l,f]=d.useState(""),[h,p]=d.useState(!1),[m,g]=d.useState(),[y,v]=d.useState(!1),[_,b]=d.useState(!1),{collaborationServerDriver:w,getInternetAccount:S}=o,x=w.getAssemblies();return d.useEffect((()=>{s&&(async()=>{const{internetAccountConfigId:e}=r.getConf(s,["sequence","metadata"]),t=S(s.name,e);if(!t)throw new Error("No Apollo internet account found");const{baseURL:n}=t,o=new URL("features/count",n),i=new URLSearchParams({assemblyId:s.name});o.search=i.toString();const a=t.getFetcher({locationType:"UriLocation",uri:o.toString()});b(!0);const u=await a(o.toString(),{method:"GET"});if(!u.ok)throw new Error(await fd(u));{const e=await u.json();g(e.count)}b(!1)})().catch((e=>{console.error(e),f(e.message??e)}))}),[S,n,s]),M.default.createElement(_d,{open:!0,title:"Import Features from GFF3 file",handleClose:t,maxWidth:!1,"data-testid":"import-features-dialog"},_?M.default.createElement(T.default,null):null,M.default.createElement("form",{onSubmit:async function(o){o.preventDefault(),f(""),b(!0),p(!0);let a="";if(!i)return void f("must select a file");if(!s)return void f("Must select assembly to download");const{internetAccountConfigId:u}=r.getConf(s,["sequence","metadata"]),c=S(s.name,u),{baseURL:l}=c,d=new URL("files",l);d.searchParams.set("type","text/x-gff3");const h=d.href,m=new FormData;m.append("file",i),m.append("fileName",i.name),m.append("type","text/x-gff3");const g=c.getFetcher({locationType:"UriLocation",uri:h});t();const{jobsManager:v}=n,_=new AbortController,w={name:`Importing features for ${s.displayName}`,statusMessage:"Uploading file, this may take awhile",progressPct:0,cancelCallback:()=>{_.abort(),v.abortJob(w.name)}};if(v.runJob(w),g){const{signal:e}=_,t=await g(h,{method:"POST",body:m,signal:e});if(!t.ok){const e=await fd(t,"Error when inserting new features (while uploading file)");return v.abortJob(w.name,e),void f(e)}a=(await t.json())._id}const x=new nr.AddFeaturesFromFileChange({typeName:"AddFeaturesFromFileChange",assembly:s.name,fileId:a,deleteExistingFeatures:y});v.done(w),await e.submit(x,{updateJobsManager:!0})}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:s?.name??"",onChange:function(e){const t=x.find((t=>t.name===e.target.value));u(t),p(!1)},disabled:h&&!l},x.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name))))),M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Upload GFF3 to load features"),M.default.createElement("input",{type:"file",onChange:function(e){p(!1),e.target.files&&a(e.target.files[0])},disabled:h&&!l})),m&&m>0?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,null,"This assembly already has ",m," features, would you like to delete the existing features before importing new ones?"),M.default.createElement(L.default,{label:"Yes, delete existing features",disabled:h&&!l,control:M.default.createElement(F.default,{checked:y,onChange:function(e){v(e.target.checked)},inputProps:{"aria-label":"controlled"},color:"warning"})})):null,M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!(s&&i&&void 0!==m)||h,variant:"contained",type:"submit"},h?"Submitting...":"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close"))),l?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},l)):null)}function jR({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),[r,o]=d.useState(""),i=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===i.length)throw new Error("No Apollo internet account found");const[a,s]=d.useState(i[0]);return M.default.createElement(_d,{open:!0,title:"Log out",handleClose:e,maxWidth:!1,"data-testid":"log-out"},M.default.createElement("form",{onSubmit:function(e){e.preventDefault(),o(""),a.removeToken(),globalThis.location.reload()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},i.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:a.internetAccountId,onChange:function(e){const t=i.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);s(t)}},n.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Are you sure you want to log out?")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!a,variant:"contained",type:"submit"},"Log Out"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),r?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},r)):null)}function FR({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),[r,o]=d.useState(),[i,a]=d.useState(""),[s,l]=d.useState(!1),f=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===f.length)throw new Error("No Apollo internet account found");const[h,p]=d.useState(f[0]),[m,g]=d.useState([]),[y,v]=d.useState([]),{collaborationServerDriver:_}=t.apolloDataStore,b=_.getAssemblies();function w(e,t){const n=[...y],r=e.target.value;if(t)n.includes(r)||(n.push(r),v(n));else{const e=n.indexOf(r,0);-1!==e&&n.splice(e,1),v(n)}}return d.useEffect((()=>{(async function(){const{baseURL:e,getFetcher:t}=h,n=new URL("checks/types",e).href,r=t({locationType:"UriLocation",uri:n}),o=await r(n,{method:"GET"});if(!o.ok){const e=await fd(o,"Error when retrieving checks from server");return void a(e)}const i=await o.json();g(i)})().catch((e=>{a(String(e))}))}),[h]),d.useEffect((()=>{b.length>0&&void 0===r&&o(b[0])}),[b,r]),d.useEffect((()=>{(async function(){if(!r)return;const{baseURL:e,getFetcher:t}=h,n=new URL(`/assemblies/${r.name}`,e).href,o=t({locationType:"UriLocation",uri:n}),i=await o(n,{method:"GET"});if(!i.ok){const e=await fd(i,"Error when retrieving assembly from server");return void a(e)}const s=await i.json();v(s.checks)})().catch((e=>{a(String(e))}))}),[r,h]),M.default.createElement(_d,{open:!0,title:"Manage Checks",handleClose:e,"data-testid":"manage-checks"},M.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),!r)return void a("Must select assembly!");const{notify:o}=t,{baseURL:i,getFetcher:s}=h,u=new URL("assemblies/checks",i).href,c=s({locationType:"UriLocation",uri:u}),l=await c(u,{method:"POST",body:JSON.stringify({_id:r.name,checks:y,name:""}),headers:{"Content-Type":"application/json"}});if(l.ok)o("Assembly checks updated successfully","success"),e();else{const e=await fd(l,"Error when updating assembly checks");a(e)}}},M.default.createElement(c.DialogContent,null,f.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:h.internetAccountId,onChange:function(e){l(!1);const t=f.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);p(t)},disabled:s&&!i},n.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{style:{width:300},labelId:"label",value:r?.name??"",onChange:function(e){const t=b.find((t=>t.name===e.target.value));o(t)},disabled:0===b.length},b.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement("br",null),M.default.createElement("br",null),M.default.createElement(c.TableContainer,{component:c.Paper},M.default.createElement(c.Table,null,M.default.createElement(c.TableHead,null,M.default.createElement(c.TableRow,null,M.default.createElement(c.TableCell,null,"Check name"),M.default.createElement(c.TableCell,null,"Use check"))),M.default.createElement(c.TableBody,null,m.map((e=>M.default.createElement(c.TableRow,{key:e._id},M.default.createElement(c.TableCell,null,e.name),M.default.createElement(c.TableCell,null,M.default.createElement(c.Checkbox,{value:e._id,checked:y.includes(e._id),onChange:w}))))))))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit"},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}!function(e,t){!function(){function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){a(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function r(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==("undefined"==typeof window?"undefined":Z(window))&&window.window===window?window:"object"==("undefined"==typeof self?"undefined":Z(self))&&self.self===self?self:"object"==Z(q)&&q.global===q?q:void 0,i=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),a=o.saveAs||("object"!=("undefined"==typeof window?"undefined":Z(window))||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(e,i,a){var s=o.URL||o.webkitURL,u=document.createElement("a");u.download=i=i||e.name||"download",u.rel="noopener","string"==typeof e?(u.href=e,u.origin===location.origin?r(u):n(u.href)?t(e,i,a):r(u,u.target="_blank")):(u.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(u.href)}),4e4),setTimeout((function(){r(u)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,i){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=Z(t)&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,i),o);else if(n(e))t(e,o,i);else{var a=document.createElement("a");a.href=e,a.target="_blank",setTimeout((function(){r(a)}))}}:function(e,n,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var s="application/octet-stream"===e.type,u=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||s&&u||i)&&"undefined"!=typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},l.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,d=f.createObjectURL(e);a?a.location=d:location.href=d,a=null,setTimeout((function(){f.revokeObjectURL(d)}),4e4)}});o.saveAs=a.saveAs=a,e.exports=a}()}(PR);var LR={},DR=Hu.exports;Object.defineProperty(LR,"__esModule",{value:!0});var qR=LR.default=void 0;function BR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=u.getRoot(n),o=r.filter((e=>"ApolloInternetAccount"===e.type&&e.role?.includes("admin")));if(0===o.length)throw new Error("No Apollo internet account found");const[i,a]=d.useState(""),[s,l]=d.useState(o[0]),[f,h]=d.useState([]),p=d.useCallback((async()=>{const{baseURL:e}=s,t=new URL("users",e).href,n=s.getFetcher({locationType:"UriLocation",uri:t});if(n){const e=await n(t,{method:"GET"});if(!e.ok){const t=await fd(e,"Error when getting user data from db");return void a(t)}const r=await e.json();h(r.map((e=>void 0===e.role?{...e,role:""}:e)))}}),[s]);function m(e){return e===s.getUserId()}d.useEffect((()=>{p().catch((e=>{a(String(e))}))}),[p]);const g=[{field:"username",headerName:"User",width:140},{field:"email",headerName:"Email",width:160},{field:"role",headerName:"Role",width:140,type:"singleSelect",valueOptions:["readOnly","user","admin","none"],getOptionLabel(e){switch(e){case"readOnly":return"Read-only";case"user":return"User";case"admin":return"Admin";case"none":return"None";default:return"unknown"}},editable:!0},{field:"actions",type:"actions",getActions:t=>[M.default.createElement(b.GridActionsCellItem,{key:`delete-${t.id}`,icon:M.default.createElement(qR,null),onClick:async()=>{globalThis.confirm("Delete this user?")&&await async function(t){const n=new nr.DeleteUserChange({typeName:"DeleteUserChange",userId:t});await e.submit(n,{internetAccountId:s.internetAccountId}),h((e=>e.filter((e=>e._id!==t))))}(t.id)},disabled:m(t.id),label:"Delete"})]}];return M.default.createElement(_d,{open:!0,fullScreen:!0,title:"Manage users",handleClose:t,"data-testid":"manage-users"},M.default.createElement(c.DialogContent,null,o.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:s.internetAccountId,onChange:function(e){const t=o.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);l(t)},disabled:!i},r.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement("div",{style:{height:"100%",width:"100%"}},M.default.createElement(b.DataGrid,{pagination:!0,rows:f,columns:g,getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},getRowHeight:()=>"auto",isCellEditable:e=>!m(e.id),processRowUpdate:async function(t){const n=new nr.UserChange({typeName:"UserChange",role:t.role,userId:t._id});return await e.submit(n,{internetAccountId:s.internetAccountId}),t},onProcessRowUpdateError:e=>{a(String(e))}}))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}qR=LR.default=(0,DR(Wu).default)((0,N.default.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");var UR={exports:{}};!function(e,t){!function(t,n){e.exports=n()}(0,(function(){return e={772:function(e,t,n){var r=n(826).remove,o=/[.*+?^${}()|[\]\\]/g,i=/[a-z0-9_]/i,a=/\s+/;e.exports=function(e,t,n){var s,u;u={insideWords:!1,findAllOccurrences:!1,requireMatchAll:!1},s=(s=n)||{},Object.keys(s).forEach((function(e){u[e]=!!s[e]})),n=u;var c=Array.from(e).map((function(e){return r(e)})),l=c.join("");return(t=r(t)).trim().split(a).filter((function(e){return e.length>0})).reduce((function(e,t){var r,a,s=t.length,u=!n.insideWords&&i.test(t[0])?"\\b":"",f=new RegExp(u+t.replace(o,"\\$&"),"i");if(r=f.exec(l),n.requireMatchAll&&null===r)return l="",[];for(;r;){var d=s-c.slice(a=r.index,a+s).join("").length,h=a-c.slice(0,a).join("").length,p=[a+h,a+s+h+d];if(p[0]!==p[1]&&e.push(p),l=l.slice(0,a)+new Array(s+1).join(" ")+l.slice(a+s),!n.findAllOccurrences)break;r=f.exec(l)}return e}),[]).sort((function(e,t){return e[0]-t[0]}))}},826:function(e){var t={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Ấ":"A","Ắ":"A","Ẳ":"A","Ẵ":"A","Ặ":"A","Æ":"AE","Ầ":"A","Ằ":"A","Ȃ":"A","Ç":"C","Ḉ":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ế":"E","Ḗ":"E","Ề":"E","Ḕ":"E","Ḝ":"E","Ȇ":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ḯ":"I","Ȋ":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ố":"O","Ṍ":"O","Ṓ":"O","Ȏ":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","ấ":"a","ắ":"a","ẳ":"a","ẵ":"a","ặ":"a","æ":"ae","ầ":"a","ằ":"a","ȃ":"a","ç":"c","ḉ":"c","è":"e","é":"e","ê":"e","ë":"e","ế":"e","ḗ":"e","ề":"e","ḕ":"e","ḝ":"e","ȇ":"e","ì":"i","í":"i","î":"i","ï":"i","ḯ":"i","ȋ":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ố":"o","ṍ":"o","ṓ":"o","ȏ":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","C̆":"C","c̆":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","Ǵ":"G","ĝ":"g","ǵ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ḫ":"H","ḫ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ḱ":"K","ḱ":"k","K̆":"K","k̆":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ḿ":"M","ḿ":"m","M̆":"M","m̆":"m","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","N̆":"N","n̆":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","P̆":"P","p̆":"p","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","R̆":"R","r̆":"r","Ȓ":"R","ȓ":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","Ș":"S","ș":"s","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","ț":"t","Ț":"T","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","T̆":"T","t̆":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ȗ":"U","ȗ":"u","V̆":"V","v̆":"v","Ŵ":"W","ŵ":"w","Ẃ":"W","ẃ":"w","X̆":"X","x̆":"x","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Y̆":"Y","y̆":"y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ứ":"U","ứ":"u","Ṹ":"U","ṹ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o","Þ":"TH","þ":"th","Ṕ":"P","ṕ":"p","Ṥ":"S","ṥ":"s","X́":"X","x́":"x","Ѓ":"Г","ѓ":"г","Ќ":"К","ќ":"к","A̋":"A","a̋":"a","E̋":"E","e̋":"e","I̋":"I","i̋":"i","Ǹ":"N","ǹ":"n","Ồ":"O","ồ":"o","Ṑ":"O","ṑ":"o","Ừ":"U","ừ":"u","Ẁ":"W","ẁ":"w","Ỳ":"Y","ỳ":"y","Ȁ":"A","ȁ":"a","Ȅ":"E","ȅ":"e","Ȉ":"I","ȉ":"i","Ȍ":"O","ȍ":"o","Ȑ":"R","ȑ":"r","Ȕ":"U","ȕ":"u","B̌":"B","b̌":"b","Č̣":"C","č̣":"c","Ê̌":"E","ê̌":"e","F̌":"F","f̌":"f","Ǧ":"G","ǧ":"g","Ȟ":"H","ȟ":"h","J̌":"J","ǰ":"j","Ǩ":"K","ǩ":"k","M̌":"M","m̌":"m","P̌":"P","p̌":"p","Q̌":"Q","q̌":"q","Ř̩":"R","ř̩":"r","Ṧ":"S","ṧ":"s","V̌":"V","v̌":"v","W̌":"W","w̌":"w","X̌":"X","x̌":"x","Y̌":"Y","y̌":"y","A̧":"A","a̧":"a","B̧":"B","b̧":"b","Ḑ":"D","ḑ":"d","Ȩ":"E","ȩ":"e","Ɛ̧":"E","ɛ̧":"e","Ḩ":"H","ḩ":"h","I̧":"I","i̧":"i","Ɨ̧":"I","ɨ̧":"i","M̧":"M","m̧":"m","O̧":"O","o̧":"o","Q̧":"Q","q̧":"q","U̧":"U","u̧":"u","X̧":"X","x̧":"x","Z̧":"Z","z̧":"z"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),o=new RegExp(n,""),i=function(e){return e.replace(r,(function(e){return t[e]}))};e.exports=i,e.exports.has=function(e){return!!e.match(o)},e.exports.remove=i}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(772);var e,t}))}(UR);var zR=UR.exports,GR={exports:{}};!function(e,t){!function(t,n){e.exports=n()}(0,(function(){return e={705:function(e){e.exports=function(e,t){var n=[];return 0===t.length?n.push({text:e,highlight:!1}):t[0][0]>0&&n.push({text:e.slice(0,t[0][0]),highlight:!1}),t.forEach((function(r,o){var i=r[1];n.push({text:e.slice(r[0],i),highlight:!0}),o===t.length-1?i<e.length&&n.push({text:e.slice(i,e.length),highlight:!1}):i<t[o+1][0]&&n.push({text:e.slice(i,t[o+1][0]),highlight:!1})})),n}}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(705);var e,t}))}(GR);var HR=GR.exports;function WR({getTagProps:e,index:t,ontology:n,termId:r}){const o=u.getParent(n,2),[i,a]=j.useState(""),[s,l]=j.useState("");return j.useEffect((()=>{const e=new AbortController,{signal:t}=e;return async function(){const e=o.expandPrefixes(r),i=await(n.dataStore?.db);if(!i||t.aborted)return;const s=await i.transaction("nodes").objectStore("nodes").get(e);s&&s.lbl&&!t.aborted&&a(s.lbl||"no label")}().catch((e=>{t.aborted||l(String(e))})),()=>{e.abort()}}),[r,n,o]),j.createElement(c.Tooltip,{title:i},j.createElement("div",null,j.createElement(c.Chip,{label:s||o.applyPrefixes(r),color:s?"error":"default",size:"small",...e({index:t})})))}function VR({includeDeprecated:e,onChange:t,ontologyName:n,ontologyVersion:r,session:o,value:a}){const{ontologyManager:s}=o.apolloDataStore,u=s.findOntology(n,r),[l,f]=j.useState(a.map((e=>({term:{id:e,type:"CLASS"}})))),[d,h]=j.useState(""),[p,m]=j.useState([]),[g,y]=j.useState(!1),[v,_]=j.useState(""),b=j.useMemo((()=>i.debounce((async(t,n)=>{if(!u)return;const{dataStore:r}=u;if(!r)return;const{input:o,signal:i}=t;try{const t=await r.getTermsByFulltext(o,void 0,i),a=new Map,s=[];for(const n of t){if(!SR(n.term)||!e&&lR(n.term))continue;let t=a.get(n.term.id);t||(t={term:n.term,matches:[]},a.set(n.term.id,t),s.push(t)),t.matches.push(n)}n(s)}catch(e){GO(e)||_(String(e))}}),400)),[e,u]);if(j.useEffect((()=>{const e=new AbortController,{signal:t}=e;if(""!==d)return y(!0),b({input:d,signal:t},(e=>{let t=[];l.length>0&&(t=l),e&&(t=[...t,...e]),m(t),y(!1)})),()=>{e.abort()};m([])}),[b,u,e,d,l]),!u)return null;const w={};return v&&(w.error=!0,w.helperText=v),j.createElement(c.Autocomplete,{getOptionLabel:e=>s.applyPrefixes(e.term.id),filterOptions:e=>e.filter((e=>SR(e.term))),options:p,autoComplete:!0,includeInputInList:!0,filterSelectedOptions:!0,value:l,loading:g,isOptionEqualToValue:(e,t)=>s.applyPrefixes(e.term.id)===s.applyPrefixes(t.term.id),noOptionsText:d?"No matches":"Start typing to search",onChange:(e,n)=>{m(n?[...n,...p]:p),t(n.map((e=>s.applyPrefixes(e.term.id)))),f(n)},onInputChange:(e,t)=>{t&&y(!0),m([]),h(t)},multiple:!0,renderInput:e=>j.createElement(c.TextField,{...e,...w,variant:"outlined",fullWidth:!0}),renderOption:(e,t)=>j.createElement(JR,{...e,ontologyManager:s,option:t,inputValue:d}),renderTags:(e,t)=>e.map(((e,n)=>j.createElement(WR,{termId:e.term.id,index:n,ontology:u,getTagProps:t,key:e.term.id})))})}function $R(e){const{search:t,str:n}=e,r=zR(n,t,{insideWords:!0,findAllOccurrences:!0}),o=HR(n,r);return j.createElement(j.Fragment,null,o.map(((e,t)=>j.createElement(c.Typography,{key:t,component:"span",sx:{fontWeight:e.highlight?"bold":"regular"},variant:"body2",color:"text.secondary"},e.text))))}function JR(e){const{inputValue:t,ontologyManager:n,option:r,...o}=e,i=(r.matches??[]).filter((e=>"$.lbl"!==e.field.jsonPath)).map((e=>j.createElement(j.Fragment,{key:`option-${e.term.id}-${e.str}`},j.createElement(c.Typography,{component:"dt",variant:"body2",color:"text.secondary"},e.field.displayName),j.createElement("dd",null,j.createElement($R,{str:e.str,search:t})))));return j.createElement("li",{...o},j.createElement(c.Grid,{container:!0},j.createElement(c.Grid,{item:!0},j.createElement(c.Typography,{component:"span"},n.applyPrefixes(r.term.id))," ",j.createElement($R,{str:r.term.lbl??"(no label)",search:t})," ",j.createElement("dl",null,i))))}const KR=new Map([["Gene Ontology",e=>M.default.createElement(VR,{...e,ontologyName:"Gene Ontology"})],["Sequence Ontology",e=>M.default.createElement(VR,{...e,ontologyName:"Sequence Ontology"})]]),YR=m.makeStyles()((e=>({attributeInput:{maxWidth:600},newAttributePaper:{padding:e.spacing(2)},attributeName:{background:e.palette.secondary.main,color:e.palette.secondary.contrastText,padding:e.spacing(1)}}))),ZR=["ID","Name","Alias","Target","Gap","Derives_from","Note","Dbxref","Ontology","Is_Circular"];function XR(e){const{onChange:t,value:n}=e;return M.default.createElement(c.TextField,{type:"text",value:n,onChange:e=>{t(e.target.value.split(","))},variant:"outlined",fullWidth:!0,helperText:"Separate multiple values for the attribute with commas"})}function QR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:i}=n,{internetAccounts:a}=u.getRoot(n),s=d.useMemo((()=>a.find((e=>"ApolloInternetAccount"===e.type))),[a]),l=["admin","user"].includes((s?s.role:"admin")??""),[f,h]=d.useState(""),[p,m]=d.useState(Object.fromEntries([...o.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]})))),[g,y]=d.useState(!1),[v,_]=d.useState(""),{classes:b}=YR(),w=Object.values(p).some((e=>0===e.length||e.includes("")));return M.default.createElement(_d,{open:!0,title:"Feature attributes",handleClose:t,maxWidth:!1,"data-testid":"modify-feature-attribute"},M.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),h("");const a={};if(p)for(const[e,t]of Object.entries(p))if(t&&"parent"!==e.toLowerCase())if([...KR.keys()].includes(e))a[e]=t;else switch(e){case"ID":a._id=t;break;case"Name":a.gff_name=t;break;case"Alias":a.gff_alias=t;break;case"Target":a.gff_target=t;break;case"Gap":a.gff_gap=t;break;case"Derives_from":a.gff_derives_from=t;break;case"Note":a.gff_note=t;break;case"Dbxref":a.gff_dbxref=t;break;case"Ontology_term":a.gff_ontology_term=t;break;case"Is_circular":a.gff_is_circular=t;break;default:a[e.toLowerCase()]=t}const s=new nr.FeatureAttributeChange({changedIds:[o._id],typeName:"FeatureAttributeChange",assembly:r,featureId:o._id,attributes:a});await e.submit(s),i("Feature attributes modified successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,null,M.default.createElement(c.Grid,{container:!0,direction:"column",spacing:1},Object.entries(p).map((([e,t])=>{const r=KR.get(e)??XR;return M.default.createElement(c.Grid,{container:!0,item:!0,spacing:3,alignItems:"center",key:e},M.default.createElement(c.Grid,{item:!0,xs:"auto"},M.default.createElement(c.Paper,{variant:"outlined",className:b.attributeName},M.default.createElement(c.Typography,null,e))),M.default.createElement(c.Grid,{item:!0,flexGrow:1},M.default.createElement(r,{session:n,value:t,onChange:(o=e,e=>{m({...p,[o]:e})})})),M.default.createElement(c.Grid,{item:!0,xs:1},M.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",disabled:!l,onClick:()=>{!function(e){h("");const{[e]:t,...n}=p;m(n)}(e)}},M.default.createElement(qR,{fontSize:"medium",key:e}))));var o})),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:g||!l,onClick:()=>{y(!0)}},"Add new")),g?M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Paper,{elevation:8,className:b.newAttributePaper},M.default.createElement(c.Grid,{container:!0,direction:"column"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.FormControl,null,M.default.createElement(c.FormLabel,{id:"attribute-radio-button-group"},"Select attribute type"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"custom",name:"radio-buttons-group",onChange:function(e,t){"custom"===t?_(""):KR.has(t)?_(t):h("Unknown attribute type")}},M.default.createElement(c.FormControlLabel,{value:"custom",control:M.default.createElement(c.Radio,null),disableTypography:!0,label:M.default.createElement(c.Grid,{container:!0,spacing:1,alignItems:"center"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Typography,null,"Custom")),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.TextField,{label:"Custom attribute key",variant:"outlined",value:KR.has(v)?"":v,disabled:KR.has(v),onChange:e=>{_(e.target.value)}})))}),[...KR.keys()].map((e=>M.default.createElement(c.FormControlLabel,{key:e,value:e,control:M.default.createElement(c.Radio,null),label:e})))))),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{key:"addButton",color:"primary",variant:"contained",style:{margin:2},onClick:function(){h(""),0!==v.trim().length?"Parent"!==v?v in p?h(`Attribute "${v}" already exists`):!/^[A-Z]/.test(v)||ZR.includes(v)||[...KR.keys()].includes(v)?(m({...p,[v]:[]}),y(!1),_("")):h(`Key cannot starts with uppercase letter unless key is one of these: ${ZR.join(", ")}`):h('"Parent" -key is handled internally and it cannot be modified manually'):h("Attribute key is mandatory")},disabled:!v},"Add"),M.default.createElement(c.Button,{key:"cancelAddButton",variant:"outlined",type:"submit",onClick:()=>{y(!1),_(""),h("")}},"Cancel")))))):null),f?M.default.createElement(c.DialogContentText,{color:"error"},f):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:g||w||!l},"Submit changes"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",disabled:g,onClick:t},"Cancel"))))}var eN=function(){return crypto.getRandomValues(new Uint8Array(arguments.length>0&&void 0!==arguments[0]?arguments[0]:21)).reduce((function(e,t){return e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")}),"")};function tN({handleClose:e,session:t}){const{apolloDataStore:r}=t,{addAssembly:o,addSessionAssembly:i,assemblyManager:a,notify:s}=t,[u,l]=d.useState(null),[f,h]=d.useState(""),[p,m]=d.useState(""),[g,y]=d.useState(!1),v=c.useTheme();return M.default.createElement(_d,{open:!0,title:"Open local GFF3 file",handleClose:e,maxWidth:!1,"data-testid":"open-local-file"},M.default.createElement("form",{onSubmit:async function(c){if(c.preventDefault(),m(""),y(!0),!u)throw new Error("No file selected");const l=await new Response(u).text(),d=`${f}-${u.name}-${eN(8)}`;try{await cd(d,l,r)}catch(t){return console.error(t),s(`Error loading GFF3 ${u.name}, ${String(t)}`,"error"),void e()}const h={name:d,aliases:[f],displayName:f,sequence:{trackId:`sequenceConfigId-${f}`,type:"ReferenceSequenceTrack",adapter:{type:"ApolloSequenceAdapter",assemblyId:d},metadata:{apollo:!0,...n.isElectron?{file:u.path}:{}}}};await(i||o)(h);const p=await a.waitForAssembly(h.name);p?(t.addApolloTrackConfig(p),s(`Loaded GFF3 ${u.name}`,"success")):s(`Error loading GFF3 ${u.name}`,"error"),e()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.FormControl,null,M.default.createElement("div",{style:{flexDirection:"row"}},M.default.createElement(c.Button,{variant:"contained",component:"label",style:{marginRight:v.spacing()}},"Choose File",M.default.createElement("input",{type:"file",required:!0,hidden:!0,onChange:function(e){const t=e.target.files?.item(0);if(t&&(m(""),l(t),!f)){const e=t.name,n=e.lastIndexOf(".");h(-1===n?e:e.slice(0,n))}}})),u?u.name:"No file chosen"),M.default.createElement(c.FormHelperText,null,"Make sure your GFF3 has an embedded FASTA section")),M.default.createElement(c.TextField,{required:!0,label:"Assembly name",value:f,onChange:function(e){h(e.target.value)}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!1,variant:"contained",type:"submit"},g?"Submitting...":"Submit"),M.default.createElement(c.Button,{disabled:g,variant:"outlined",type:"submit",onClick:e},"Cancel"))),p?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},p)):null)}const nN=m.makeStyles()((e=>({changeTextarea:{fontFamily:"monospace",width:600,resize:"none",border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadius}})));function rN({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),r=n.find((e=>"ApolloInternetAccount"===e.type));if(!r)throw new Error("No Apollo internet account found");const{baseURL:o}=r,{classes:i}=nN(),[a,s]=d.useState(),[l,f]=d.useState([]),[h,p]=d.useState(""),[m,g]=d.useState([]),y=[{field:"sequence"},{field:"typeName",headerName:"Change type",width:200,type:"singleSelect",valueOptions:[...z.changeRegistry.changes.keys()]},{field:"changes",headerName:"Change JSON",width:600,renderCell:({value:e})=>M.default.createElement("textarea",{className:i.changeTextarea,value:JSON.stringify(e),readOnly:!0}),valueFormatter:({value:e})=>JSON.stringify(e)},{field:"user",headerName:"User",width:140},{field:"createdAt",headerName:"Time",width:160,type:"dateTime",valueGetter:e=>e&&new Date(e)}];return d.useEffect((()=>{(async function(){const e=new URL("assemblies",o).href,t=r?.getFetcher({locationType:"UriLocation",uri:e});if(t){const n=await t(e,{method:"GET"});if(!n.ok){const e=await fd(n,"Error when retrieving assemblies from server");return void s(e)}const r=await n.json();f(r)}})().catch((e=>{s(String(e))}))}),[r,o]),d.useEffect((()=>{!h&&l.length>0&&p(l[0]._id)}),[h,l]),d.useEffect((()=>{(async function(){if(!h)return;const e=new URL("changes",o),t=new URLSearchParams({assembly:h});e.search=t.toString();const n=e.toString(),i=r?.getFetcher({locationType:"UriLocation",uri:n});if(i){const e=await i(n,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await fd(e,"Error when retrieving changes");return void s(t)}const t=await e.json();g(t)}})().catch((e=>{s(String(e))}))}),[h,r,o]),M.default.createElement(_d,{open:!0,fullScreen:!0,title:"View change log",handleClose:e,"data-testid":"view-changelog"},M.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:h,onChange:function(e){p(e.target.value)}},l.map((e=>M.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),M.default.createElement(c.DialogContent,null,M.default.createElement(b.DataGrid,{pagination:!0,rows:m,columns:y,getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},initialState:{sorting:{sortModel:[{field:"sequence",sort:"desc"}]},columns:{columnVisibilityModel:{sequence:!1}}}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}const oN=[{field:"refName",headerName:"Ref Name"},{field:"aliases",headerName:"Aliases",editable:!0}],iN=e=>/^[\da-f]{24}$/i.test(e);function aN({changeManager:e,handleClose:t,session:n}){const r=d.useRef(null),[o,i]=d.useState(""),[a,s]=d.useState(!1),[u,l]=d.useState(),[f,h]=d.useState([]),[p,m]=d.useState(new Map),{apolloDataStore:g}=n,{collaborationServerDriver:y}=g,v=y.getAssemblies();d.useEffect((()=>{let e=0;const t=()=>{if(!u)return;const n=new Map;if(e<2&&!u.refNames&&(e++,setTimeout(t,50)),!u.refNames)return;const r=u.refNameAliases;for(const e in r){const t=r[e];if(t&&!iN(e))if(n.has(t)){const r=n.get(t)??[];n.set(t,[...r,e])}else n.set(t,[e])}m(n)};t()}),[u]);const _=()=>[...p].map(((e,t)=>({id:t,refName:e[0],aliases:e[1].filter((t=>t!==e[0])).join(", ")})));return M.default.createElement(_d,{open:!0,title:"Add reference sequence aliases",handleClose:t,maxWidth:"sm","data-testid":"add-refseq-alias",fullWidth:!0},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.Grid,{container:!0,spacing:2},M.default.createElement(c.Grid,{item:!0,xs:4},M.default.createElement(c.FormControl,{disabled:a&&!o,fullWidth:!0},M.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Assembly"),M.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Assembly",value:u?.name??"",onChange:e=>{const t=v.find((t=>t.name===e.target.value));l(t),s(!1),i(""),r.current&&(r.current.value="")}},v.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))))),M.default.createElement(c.Grid,{item:!0,xs:1}),M.default.createElement(c.Grid,{item:!0,xs:7},M.default.createElement(c.InputLabel,null,"Load RefName alias"),M.default.createElement("input",{type:"file",onChange:e=>{(async e=>{if(!e.target.files)return;const t=e.target.files[0],n=(await t.text()).split("\n"),r=new Map(p);i("");for(const e of n){const t=e.split("\t");for(const e of t)r.has(e)&&r.set(e,[...r.get(e)??[],...t])}m(r)})(e).catch((()=>{i("Error reading file")}))},ref:r,disabled:a&&!o||!u}))),u&&p.size>0?M.default.createElement("div",{style:{height:200,width:"100%",marginTop:20}},M.default.createElement(c.InputLabel,null,"Refname aliases found for selected assembly."),M.default.createElement(b.DataGrid,{rows:_(),columns:oN,initialState:{pagination:{paginationModel:{page:0,pageSize:5}}},pageSizeOptions:[5,10],onRowSelectionModelChange:e=>{(e=>{if(e.length>0){s(!0);const t=e.flatMap((e=>_().filter((t=>t.id===e))));h(t)}else s(!1),h([])})(e)},processRowUpdate:(e,t)=>{const n=new Map(p);return n.set(e.refName,e.aliases.split(",")),m(n),e},checkboxSelection:!0})):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:!a,onClick:()=>{const n=[];for(const e of f){const{refName:t}=e,r=e.aliases.split(",").map((e=>e.trim())).filter((e=>e.length>0));n.push({refName:t,aliases:r})}if(i(""),!u)return void i("No assembly selected");const r=new nr.AddRefSeqAliasesChange({typeName:"AddRefSeqAliasesChange",assembly:u.name,refSeqAliases:n});e.submit(r).catch((()=>{i("Error submitting change")})),t()}},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),o?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},o)):null)}function sN({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),{collaborationServerDriver:r}=t.apolloDataStore,o=n.find((e=>"ApolloInternetAccount"===e.type));if(!o)throw new Error("No Apollo internet account found");const{baseURL:i}=o,[a,s]=d.useState(),[l,f]=d.useState(),[h,p]=d.useState([]),m=r.getAssemblies();return d.useEffect((()=>{!l&&m.length>0&&f(m[0])}),[m,l]),d.useEffect((()=>{(async function(){const e=l?.name;if(!e)return;const t=new URL("checks",i),n=new URLSearchParams({assembly:e});t.search=n.toString();const r=t.toString(),a=o?.getFetcher({locationType:"UriLocation",uri:r});if(a){const e=await a(r,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await fd(e,"Error when retrieving checks");return void s(t)}const t=await e.json();p(t)}})().catch((e=>{s(String(e))}))}),[l,o,i]),M.default.createElement(_d,{open:!0,fullScreen:!0,title:"View check results",handleClose:e,"data-testid":"view-check-results"},M.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:l?.name??"",onChange:function(e){const t=m.find((t=>t.name===e.target.value));f(t)},disabled:0===m.length},m.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContent,null,M.default.createElement(b.DataGrid,{pagination:!0,rows:h,columns:[{field:"_id",headerName:"id",width:50},{field:"name",headerName:"Check name",width:200},{field:"refSeq",headerName:"Reference sequence ID",width:200},{field:"ids",headerName:"Feature IDs",width:200},{field:"message",headerName:"Message",flex:1}],getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},initialState:{sorting:{sortModel:[{field:"name",sort:"asc"}]},columns:{columnVisibilityModel:{name:!0}}}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}var uN={},cN=Hu.exports;Object.defineProperty(uN,"__esModule",{value:!0});var lN=uN.default=void 0;function fN(e){const{color:t}=e;return M.default.createElement(c.SvgIcon,{viewBox:"0 0 18 18",style:{fontSize:18,marginRight:4},...e},"disabled"===t?M.default.createElement("path",{d:"M9.001,10.71 l0,-3.348 l8.424,0 c0.126,0.567,0.225,1.098,0.225,1.845 c0,5.139,-3.447,8.793,-8.64,8.793 c-4.968,0,-9,-4.032,-9,-9 c0,-4.968,4.032,-9,9,-9 c2.43,0,4.464,0.891,6.021,2.349 l-2.556,2.484 c-0.648,-0.612,-1.782,-1.332,-3.465,-1.332 c-2.979,0,-5.409,2.475,-5.409,5.508 c0,3.033,2.43,5.508,5.409,5.508 c3.447,0,4.716,-2.385,4.95,-3.798 l-4.959,0 l0,-0.009 z"}):M.default.createElement(M.default.Fragment,null,M.default.createElement("path",{d:"M17.64,9.20454545 c0,-0.638,-0.057,-1.252,-0.164,-1.841 l-8.476,0 l0,3.481 l4.844,0 c-0.209,1.125,-0.843,2.079,-1.796,2.717 l0,2.258 l2.908,0 c1.702,-1.567,2.684,-3.874,2.684,-6.615 l0,0 z",fill:"#4285F4"}),M.default.createElement("path",{d:"M9,18 c2.43,0,4.467,-0.806,5.956,-2.18 l-2.908,-2.259 c-0.806,0.54,-1.837,0.859,-3.048,0.859 c-2.344,0,-4.328,-1.583,-5.036,-3.71 l-3.007,0 l0,2.332 c1.481,2.941,4.525,4.958,8.043,4.958 l0,0 z",fill:"#34A853"}),M.default.createElement("path",{d:"M3.96409091,10.71 c-0.18,-0.54,-0.282,-1.117,-0.282,-1.71 c0,-0.593,0.102,-1.17,0.282,-1.71 l0,-2.332 l-3.007,0 c-0.609,1.215,-0.957,2.59,-0.957,4.042 c0,1.452,0.348,2.827,0.957,4.042 l3.007,-2.332 l0,0 z",fill:"#FBBC05"}),M.default.createElement("path",{d:"M9,3.57954545 c1.321,0,2.508,0.454,3.44,1.346 l2.582,-2.581 c-1.559,-1.453,-3.596,-2.345,-6.022,-2.345 c-3.518,0,-6.562,2.017,-8.043,4.959 l3.007,2.331 c0.708,-2.127,2.692,-3.71,5.036,-3.71 l0,0 z",fill:"#EA4335"})))}function dN(e){const{color:t}=e;return M.default.createElement(c.SvgIcon,{viewBox:"0 0 21 21",style:{fontSize:21},...e},M.default.createElement("rect",{x:"1",y:"1",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#F25022"}),M.default.createElement("rect",{x:"1",y:"11",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#00A4EF"}),M.default.createElement("rect",{x:"11",y:"1",width:"9",height:"9",fill:"disabled"===t?"#939393":"#7FBA00"}),M.default.createElement("rect",{x:"11",y:"11",width:"9",height:"9",fill:"disabled"===t?"#B9B9B9":"#FFB900"}))}lN=uN.default=(0,cN(Wu).default)((0,N.default.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6zm0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20z"}),"AccountCircle");const hN=m.makeStyles()((e=>({loginButton:{marginBottom:e.spacing(1),width:"220px",height:"40px",fontSize:"16px",textTransform:"none",justifyContent:"left",padding:"3px 12px"}})));function pN(e){const{classes:t}=hN(),{disabled:n}=e;return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(fN,{color:n?"disabled":void 0}),...e},"Sign in with Google")}function mN(e){const{classes:t}=hN(),{disabled:n}=e;return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(dN,{color:n?"disabled":void 0}),...e},"Sign in with Microsoft")}function gN(e){const{classes:t}=hN();return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(lN,{fontSize:"small"}),...e},"Continue as Guest")}const yN=m.makeStyles()((e=>({divider:{marginTop:e.spacing(4),marginBottom:e.spacing(5)}}))),vN=({baseURL:e,handleClose:t,name:n})=>{const{classes:r}=yN(),[o,i]=d.useState(""),[a,s]=d.useState([]);function u(e){t("google"===e?"google":"microsoft"===e?"microsoft":"guest")}d.useEffect((()=>{const t=new AbortController,{signal:n}=t;return async function(){const t=new URL("auth/types",e).href,r=await fetch(t,{method:"GET",signal:n});if(!r.ok){const e=await fd(r,"Error when retrieving auth types from server");return void i(e)}const o=await r.json();s(o)}().catch((e=>{GO(e)||i(String(e))})),()=>{t.abort()}}),[e]);const l=a.includes("google"),f=a.includes("microsoft"),h=a.includes("guest");return M.default.createElement(_d,{open:!0,title:`Log in to ${n}`,handleClose:t,maxWidth:!1,"data-testid":"login-apollo"},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column",paddingTop:8}},l?M.default.createElement(pN,{disabled:!l,onClick:()=>{u("google")}}):null,f?M.default.createElement(mN,{disabled:!f,onClick:()=>{u("microsoft")}}):null,h?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Divider,{className:r.divider}),M.default.createElement(gN,{onClick:()=>{u("guest")}})):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:()=>{t()}},"Cancel")),o?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},o)):null)},_N="undefined"==typeof sessionStorage,bN=e=>o.InternetAccount.named("ApolloInternetAccount").props({type:u.types.literal("ApolloInternetAccount"),configuration:r.ConfigurationReference(e)}).views((e=>({get baseURL(){return r.getConf(e,"baseURL")},getUserId(){const t=e.retrieveToken();if(t)return nr.getDecodedToken(t).id}}))).volatile((()=>({role:void 0}))).actions((e=>{let t=!1;return{setRole(){const n=e.retrieveToken();if(!n)return void(e.role=void 0);const r=nr.getDecodedToken(n),{role:o}=r;if(!o&&!t){const{session:n}=u.getRoot(e);n.notify("You have registered as a user but have not been given access. Ask your administrator to enable access for your account.","warning"),t=!0}e.role!==o&&(e.role=o)}}})).actions((e=>{let t;return{addMessageChannel(e,n){t=t=>{this.finishOAuthWindow(t,e,n)},window.addEventListener("message",t)},deleteMessageChannel(){window.removeEventListener("message",t)},finishOAuthWindow(t,n,r){if(t.data.name!==`JBrowseAuthWindow-${e.internetAccountId}`)return void this.deleteMessageChannel();const o=t.data.redirectUri.replace("#","?"),i=new URL(o),a=new URLSearchParams(i.search).get("access_token");this.deleteMessageChannel(),a?(e.storeToken(a),e.setRole(),n(a)):r(new Error("Error with token endpoint"))},async openAuthWindow(t,r,o){const i=n.isElectron?"http://localhost/auth":globalThis.location.origin+globalThis.location.pathname,a=new URL("auth/login",e.baseURL),s=new URLSearchParams({type:t,redirect_uri:i});a.search=s.toString();const u=`JBrowseAuthWindow-${e.internetAccountId}`;if(n.isElectron){const{ipcRenderer:t}=globalThis.require("electron"),n=await t.invoke("openAuthWindow",{internetAccountId:e.internetAccountId,data:{redirect_uri:i},url:a.toString()}),s=new MessageEvent("message",{data:{name:u,redirectUri:n}});this.finishOAuthWindow(s,r,o)}else this.addMessageChannel(r,o),window.open(a,u,"width=500,height=600")}}})).actions((e=>({async getTokenFromUser(t,n){const{baseURL:r}=e,o=await new Promise(((t,n)=>{const{session:r}=u.getRoot(e),{baseURL:o,name:i}=e;r.queueDialog((e=>[vN,{name:i,handleClose:r=>{r?r instanceof Error?n(r):t(r):n(new Error("user cancelled entry")),e()},baseURL:o}]))}));if("guest"!==o)return void e.openAuthWindow(o,t,n);const i=new URL("auth/login",r),a=new URLSearchParams({type:o});i.search=a.toString();const s=i.toString(),c=await fetch(s);if(!c.ok){const e=await fd(c,"Error when logging in");return void n(new Error(e))}const{token:l}=await c.json();t(l)}}))).volatile((()=>({lastChangeSequenceNumber:void 0}))).actions((e=>({setLastChangeSequenceNumber(t){e.lastChangeSequenceNumber=t}}))).actions((e=>({updateLastChangeSequenceNumber:u.flow((function*(){const{baseURL:t}=e,n=new URL("changes",t),r=new URLSearchParams({limit:"1"});n.search=r.toString();const o=n.toString(),i=e.getFetcher({locationType:"UriLocation",uri:o}),a=yield i(o,{method:"GET"});if(!a.ok){const e=yield fd(a,"Error when fetching server LastChangeSequence");throw new Error(e)}const s=yield a.json();e.setLastChangeSequenceNumber(s.length>0?s[0].sequence:0)})),getMissingChanges:u.flow((function*(){const{session:t}=u.getRoot(e),{changeManager:n}=t.apolloDataStore;if(!e.lastChangeSequenceNumber)throw new Error("No LastChangeSequence stored in session. Please, refresh you browser to get last updates from server");const{baseURL:r,lastChangeSequenceNumber:o}=e,i=new URL("changes",r),a=new URLSearchParams({since:String(o),sort:"1"});i.search=a.toString();const s=i.toString(),c=e.getFetcher({locationType:"UriLocation",uri:s}),l=yield c(s,{method:"GET"});if(!l.ok)return void console.error(`Error when fetching the last updates to recover socket connection — ${l.status}`);const f=yield l.json();for(const e of f){const t=z.Change.fromJSON(e);n.submit(t,{submitToBackend:!1})}}))}))).volatile((e=>{const{origin:t,pathname:n}=new URL("socket.io/",e.baseURL);return{socket:yl(t,{path:n})}})).actions((e=>({addSocketListeners(){const{session:t}=u.getRoot(e),{notify:n}=t,r=e.retrieveToken();if(!r)throw new Error("No Token found");const{socket:o}=e,{addCheckResult:i,changeManager:a,deleteCheckResult:s}=t.apolloDataStore;o.on("connect",(async()=>{await e.getMissingChanges()})),o.on("connect_error",(e=>{console.error(e),n("Could not connect to the Apollo server.","error")})),o.on("COMMON",(e=>{if("checkResult"in e)return void(e.deleted?s(e.checkResult._id.toString()):i(e.checkResult));if(sessionStorage.setItem("LastChangeSequence",String(e.changeSequence)),e.userSessionId===r)return;const t=z.Change.fromJSON(e.changeInfo);a.submit(t,{submitToBackend:!1})})),o.on("USER_LOCATION",(e=>{const{channel:n,locations:o,userName:i,userSessionId:a}=e,s=nr.getDecodedToken(r),u=nr.makeUserSessionId(s);"USER_LOCATION"===n&&a!==u&&t.addOrUpdateCollaborator({name:i,id:a,locations:o})})),o.on("REQUEST_INFORMATION",(e=>{const{channel:n,userSessionId:o}=e;"REQUEST_INFORMATION"===n&&o!==r&&t.broadcastLocations()}))}}))).actions((e=>({postUserLocation:(t=>{let n;return t=>{clearTimeout(n),n=setTimeout((()=>{!async function(t){const{baseURL:n}=e,r=new URL("users/userLocation",n).href,o=new URLSearchParams(JSON.stringify(t)),i=e.getFetcher({locationType:"UriLocation",uri:r});try{if(!(await i(r,{method:"POST",body:o})).ok)throw new Error("ignore")}catch{console.error("Broadcasting user location failed")}}(t)}),300)}})()}))).actions((e=>({initialize:u.flow((function*(t){if("admin"===t){const t=u.getRoot(e);n.isAbstractMenuManager(t)&&function(e){e.appendToMenu("Apollo",{label:"Add Assembly",onClick:e=>{e.queueDialog((t=>[wd,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Delete Assembly",onClick:e=>{e.queueDialog((t=>[NR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Import Features",onClick:e=>{e.queueDialog((t=>[MR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Add reference sequence aliases",onClick:e=>{e.queueDialog((t=>[aN,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Manage Users",onClick:e=>{e.queueDialog((t=>[BR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Undo",onClick:e=>{const{apolloDataStore:t}=e,{notify:n}=e;t.changeManager.recentChanges.length>0?t.changeManager.revertLastChange():n("No changes to undo","info")}})}(t)}yield e.updateLastChangeSequenceNumber(),e.addSocketListeners();const{baseURL:r}=e,o=new URL("users/locations",r).href,i=e.getFetcher({locationType:"UriLocation",uri:o});yield i(o,{method:"GET"}),window.addEventListener("beforeunload",(()=>{e.postUserLocation([])})),document.addEventListener("visibilitychange",(()=>{if("hidden"===document.visibilityState&&e.postUserLocation([]),"visible"===document.visibilityState){const{session:t}=u.getRoot(e);t.broadcastLocations()}}))}))}))).actions((e=>({afterAttach(){e.setRole(),s.autorun((async t=>{if(_N)return;const{session:n}=u.getRoot(e);n&&e.role&&(await e.initialize(e.role),t.dispose())}),{name:"ApolloInternetAccount"})}})));var wN={};function SN(e){return"uniqueId"in e&&"object"!==Z(e.data)}Object.defineProperty(wN,"__esModule",{value:!0}),wN.isFeature=function(e){return"object"===Z(e)&&null!==e&&"function"==typeof e.get&&"function"==typeof e.id};var xN=function(){function e(t){var n,r=this;ee(this,e),SN(t)?this.data=t:(this.data=t.data||{},this.parentHandle=t.parent);var o=SN(t)?t.uniqueId:t.id;if(null==o)throw new Error("SimpleFeature requires a unique `id` or `data.uniqueId` attribute");if(this.uniqueId=String(o),!(this.data.aliases||this.data.end-this.data.start>=0))throw new Error("invalid feature data, end less than start. end: ".concat(this.data.end," start: ").concat(this.data.start));this.data.subfeatures&&(this.subfeatures=null===(n=this.data.subfeatures)||void 0===n?void 0:n.map((function(t,n){return"function"!=typeof t.get?new e({id:t.uniqueId||"".concat(o,"-").concat(n),data:K({strand:r.data.strand},t),parent:r}):t})))}return ne(e,[{key:"get",value:function(e){return"subfeatures"===e?this.subfeatures:"parent"===e?this.parent():this.data[e]}},{key:"set",value:function(e,t){this.data[e]=t}},{key:"tags",value:function(){return Object.keys(this.data)}},{key:"id",value:function(){return this.uniqueId}},{key:"parent",value:function(){return this.parentHandle}},{key:"children",value:function(){return this.get("subfeatures")}},{key:"toJSON",value:function(){var e=K(K({},this.data),{},{uniqueId:this.id()}),t=this.parent();t&&(e.parentId=t.id());var n=this.children();return n&&(e.subfeatures=n.map((function(e){return e.toJSON()}))),e}}],[{key:"fromJSON",value:function(t){return new e(K({},t))}}]),e}(),kN=wN.default=xN;function EN(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo}const AN="undefined"==typeof sessionStorage;class CN extends S.BaseSequenceAdapter{regions;async getRefNames(e){return(await this.getRegions(e)).map((e=>e.refName))}async getRegions(e){if(this.regions)return this.regions;const t=r.readConfObject(this.config,"assemblyId");if(!AN){const e=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!e)throw new Error("No Apollo data store found");const n=e.getBackendDriver(t),r=await n.getRegions(t);return this.regions=r,r}const n=await new Promise(((n,r)=>{const o=setTimeout((()=>{r("timeout")}),2e4),i=eN(),a=e=>{const{data:t}=e;EN(t)&&t.messageId===i&&(clearTimeout(o),removeEventListener("message",a),n(t.regions))};addEventListener("message",a,e),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getRegions",assembly:t,messageId:i})}));return this.regions=n,n}getFeatures(e,t){const{end:n,refName:o,start:i}=e,a=r.readConfObject(this.config,"assemblyId"),s={...e,assemblyName:a};return x.ObservableCreate((async e=>{if(!AN){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)return void e.error("No Apollo data store found");const r=t.getBackendDriver(a),{seq:u}=await r.getSequence(s);return e.next(new kN({id:`${o} ${i}-${n}`,data:{refName:o,start:i,end:n,seq:u}})),void e.complete()}const r=await new Promise(((e,n)=>{const r=setTimeout((()=>{n("timeout")}),2e4),o=eN(),i=t=>{const{data:n}=t;EN(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",i),e(n.sequence))};addEventListener("message",i,t),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getSequence",region:s,messageId:o})}));e.next(new kN({id:`${o} ${i}-${n}`,data:{refName:o,start:i,end:n,seq:r}})),e.complete()}))}freeResources(){}}var ON=r.ConfigurationSchema("ApolloSequenceAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});function RN(e,t,n,r,o,i){const a=r/o;e.fillStyle="black",e.fillRect(t,n,a,i),a>2&&(e.clearRect(t+1,n+1,a-2,i-2),e.fillStyle="rgba(255,255,255,0.75)",e.fillRect(t+1,n+1,a-2,i-2))}var NN=p.observer((function(e){const[t,o]=d.useState(),[i,a]=d.useState(),l=d.useRef(null),f=d.useRef(null),h=d.useRef(null),[p,m]=d.useState(!1),[g,y]=d.useState(!0),[v,_]=d.useState(),[b,w]=d.useState(!1),[S,x]=d.useState([]),{bpPerPx:k,displayModel:E,regions:A}=e,{session:C}=E,{collaborators:O}=C;d.useEffect((()=>s.autorun((()=>{x(s.toJS(O))}))),[]);const[R]=A,N=(R.end-R.start)/k,{apolloFeatureUnderMouse:I,apolloRowHeight:P,apolloRowUnderMouse:T,changeManager:j,codonLayout:F,featureLayout:L,features:D,featuresHeight:q,getAssemblyId:B,selectedFeature:U,setApolloFeatureUnderMouse:z,setApolloRowUnderMouse:G,setSelectedFeature:H,showIntronLines:W,showStartCodons:V,showStopCodons:$}=E,J=[...D.values()].map((e=>[...e.values()].map((e=>u.getSnapshot(e))))),K=d.useMemo((()=>{const{internetAccounts:e}=u.getRoot(C),{assemblyName:t}=R,{assemblyManager:o}=n.getSession(E),i=o.get(t);if(!i)throw new Error(`No assembly found with name ${t}`);const{internetAccountConfigId:a}=r.getConf(i,["sequence","metadata"]),s=e.find((e=>r.getConf(e,"internetAccountId")===a));if(!s)throw new Error(`No InternetAccount found with config id ${a}`);return s}),[E,R,C]),{role:Y}=K;return d.useEffect((()=>{Y?.includes("admin")&&m(!0),(Y?.includes("admin")??Y?.includes("user"))&&y(!1)}),[Y]),d.useEffect((()=>{const e=l.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const n={};t.clearRect(0,0,N,q);for(const[e,r]of L)for(const[o,i]of r){const r=R.reversed?R.end-i.max:i.min-R.start-1,a=i.max-R.start-1,s=r/k,u=a/k;RN(t,s,e*P,a-r,k,P);const c=e*P+P/2;n[o]||(n[o]=[]),n[o].some((e=>e[0]===s&&e[1]===c))||n[o].push([s,c]),n[o].some((e=>e[0]===u&&e[1]===c))||n[o].push([u,c])}if(W){let e=-Math.floor(Object.keys(n).length/2);for(const r in n){t.strokeStyle=`hsl(${e*(180*(3-Math.sqrt(5)))+60},100%,50%)`;const o=n[r].sort(((e,t)=>e[0]-t[0]));let[i]=o;for(const[n,r]of o.entries())if(0!==n){if(n%2==0){const n=[(r[0]-i[0])/2+i[0],Math.max(1,Math.min(i[1],r[1])-P/2+2*e)];t.beginPath(),t.moveTo(i[0],i[1]+2*e),t.lineTo(...n),t.stroke(),t.moveTo(...n),t.lineTo(r[0],r[1]+2*e),t.stroke()}i=r}e+=1}}}),[W,R,k,R.start,R.end,R.reversed,N,L,q,D,P,J]),d.useEffect((()=>{const e=h.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,N,q);for(const[e,{starts:n,stops:r}]of F){const o=k;for(const r of n){const n=r/o;R.start/o<=n&&n<=R.end/o&&(t.fillStyle="rgba(255,0,255,1)",V?t.fillRect(Math.round(n-.5-R.start/o),e*P,1,P):t.clearRect(Math.round(n-.5-R.start/o),e*P,1,P))}for(const n of r){const r=n/o;R.start/o<=r&&r<=R.end/o&&(t.fillStyle="black",$?t.fillRect(Math.round(r-.5-R.start/o),e*P,1,P):t.clearRect(Math.round(r-.5-R.start/o),e*P,1,P))}}}}),[V,$,F,N,q,k,P,R,R.start,R.end]),d.useEffect((()=>{const e=f.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,N,q);for(const e of S){const{locations:n}=e;if(0===n.length)return;for(const r of n){const{end:n,start:o}=r,i=(R.reversed?R.end-o:o-R.start)/k,a=(n-o)/k;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(i,1,a,100),t.fillStyle="black",t.fillText(e.name,i+1,11,a-2)}}}}),[I,T,k,q,N,R,R.start,R.end,R.reversed,v,P,S]),M.default.createElement("div",{style:{position:"relative",width:N,height:q}},M.default.createElement(c.Menu,{open:Boolean(i),anchorReference:"anchorPosition",anchorPosition:t?{left:t[0],top:t[1]}:void 0,"data-testid":"base_linear_display_context_menu",onClose:()=>{a(void 0)}},M.default.createElement(c.MenuItem,{disabled:g,key:1,value:1,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[AR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e,internetAccount:K}]))}},"Add child feature"),M.default.createElement(c.MenuItem,{disabled:g,key:2,value:2,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[RR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e}]))}},"Copy features and annotations"),M.default.createElement(c.MenuItem,{disabled:!p,key:3,value:3,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[IR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e,selectedFeature:U,setSelectedFeature:H}]))}},"Delete feature")),M.default.createElement("canvas",{ref:l,width:N,height:q,style:{position:"absolute",left:0,top:0}}),M.default.createElement("canvas",{ref:f,width:N,height:q,onMouseLeave:function(){z(),G()},onMouseUp:async function(){if(b){if(v){const e=B(R.assemblyName),{bp:t,edge:n,feature:r}=v;let o;if("end"===n){const n=r._id,i=r.max,a=Math.round(t);o=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[n],featureId:n,oldEnd:i,newEnd:a,assembly:e})}else{const n=r._id,i=r.min,a=Math.round(t);o=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[n],featureId:n,oldStart:i,newStart:a,assembly:e})}await j.submit(o)}}else I&&H(I);_(void 0),w(!1)},onContextMenu:function(e){e.preventDefault(),a(I),o([e.pageX,e.pageY])},style:{position:"absolute",left:0,top:0}}),M.default.createElement("canvas",{ref:h,width:N,height:6*P,style:{position:"absolute",left:0,top:0}}))})),IN=r.ConfigurationSchema("ApolloSixFrameRenderer",{},{explicitlyTyped:!0});class PN extends o.RendererType{async renderInClient(e,t){return this.render(t)}async freeResourcesInClient(e,t){return 0}}var TN={};Object.defineProperty(TN,"__esModule",{value:!0}),TN.RefSequenceResult=void 0;var MN=function(){function e(t){ee(this,e),this.label=t.label,this.locString=t.locString,this.renderingComponent=t.renderingComponent,this.displayString=t.displayString,this.matchedAttribute=t.matchedAttribute,this.matchedObject=t.matchedObject,this.textSearchAdapter=t.textSearchAdapter,this.relevance=t.relevance,this.trackId=t.trackId,this.score=t.score||1,this.results=t.results||[]}return ne(e,[{key:"getLabel",value:function(){return this.label}},{key:"getDisplayString",value:function(){return this.displayString||this.label}},{key:"getRenderingComponent",value:function(){return this.renderingComponent}},{key:"getTrackId",value:function(){return this.trackId}},{key:"getScore",value:function(){return this.score}},{key:"updateScore",value:function(e){return this.score=e,this.score}},{key:"getId",value:function(){return"".concat(this.getLabel(),"-").concat(this.getLocation(),"-").concat(this.getTrackId())}},{key:"hasLocation",value:function(){return!!this.locString}},{key:"getLocation",value:function(){return this.locString}},{key:"getComboResults",value:function(){return this.results}}]),e}(),jN=TN.default=MN,FN=function(e){oe(n,e);var t=fe(n);function n(e){var r,o;return ee(this,n),(r=t.call(this,e)).refName=null!==(o=e.refName)&&void 0!==o?o:"",r}return ne(n,[{key:"getLocation",value:function(){return this.refName}}]),n}(MN);TN.RefSequenceResult=FN;class LN extends S.BaseAdapter{get baseURL(){return r.readConfObject(this.config,"baseURL").uri}get trackId(){return r.readConfObject(this.config,"trackId")}get assemblyNames(){return r.readConfObject(this.config,"assemblyNames")}mapBaseResult(e,t,n){return e.map((e=>{const r=t.getCanonicalRefName(e.refSeq);return new jN({label:n,trackId:this.trackId,locString:`${r}:${e.min+1}..${e.max}`})}))}async searchIndex(e){const t=e.queryString,n=[],r=this.pluginManager?.rootModel?.session;if(!r)return n;const{apolloDataStore:o}=r,{assemblyManager:i}=r;for(const r of this.assemblyNames){const a=o.getBackendDriver(r),s=i.get(r);if(!a||!s)continue;const u=await a.searchFeatures(e.queryString,[r]);n.push(...this.mapBaseResult(u,s,t))}return n}freeResources(){}}var DN=r.ConfigurationSchema("ApolloTextSearchAdapter",{assemblyNames:{type:"stringArray",defaultValue:[],description:"List of assemblies covered by text search adapter"},trackId:{type:"string",defaultValue:""},baseURL:{type:"fileLocation",defaultValue:{uri:"",locationType:"UriLocation"}}},{explicitlyTyped:!0,explicitIdentifier:"textSearchAdapterId"});const qN=r.ConfigurationSchema("ApolloPlugin",{ontologies:u.types.array(wR),featureTypeOntologyName:{description:"Name of the feature type ontology",type:"string",defaultValue:"Sequence Ontology"}});function BN(e){if("LinearPileupDisplay"!==e.name)return e;const{stateModel:t}=e,r=t.views((e=>({getFirstRegion:()=>n.getContainingView(e).dynamicBlocks.contentBlocks[0],getAssembly(){const t=e.getFirstRegion(),r=n.getSession(e),{assemblyManager:o}=r,{assemblyName:i}=t,a=o.get(i);if(!a)throw new Error(`Could not find assembly named ${i}`);return a},getRefSeqId(t){const n=e.getFirstRegion(),{refName:r}=n,{refNameAliases:o}=t;if(!o)throw new Error(`Could not find aliases for ${t.name}`);const i=[...Object.entries(o)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t??""}))),a=i.find((e=>e.name===r))?._id;if(!a)throw new Error(`Could not find refSeqId named ${r}`);return a},createFeature(){const t=e.contextMenuFeature,n=e.getAssembly(),r=e.getRefSeqId(n),o=(t.get("CIGAR").toUpperCase().match(/\d+\D/g)??[]).map((e=>[(/\D/.exec(e)??[])[0],Number.parseInt(e,10)]));let i=0;const a=t.get("start");let s;const u=[];for(const[e,t]of o)"M"===e||"="===e?void 0===s&&(s=i+a):"N"===e&&void 0!==s&&(u.push({start:s,end:i+s}),s=void 0),"I"!==e&&(i+=t);void 0!==s&&u.push({start:s,end:i+a});const c={_id:Jn().toHexString(),refSeq:r,min:t.get("start"),max:t.get("end"),type:"mRNA",strand:t.get("strand")};if(0===u.length)return c;c.children={};const[l]=u,f={_id:Jn().toHexString(),refSeq:r,min:l.start,max:l.end,type:"CDS",strand:t.get("strand")};if(c.children[f._id]=f,1===u.length){const e={_id:Jn().toHexString(),refSeq:r,min:l.start,max:l.end,type:"exon",strand:t.get("strand")};return c.children[e._id]=e,c}for(const e of u){f.min=Math.min(f.min,e.start),f.max=Math.max(f.max,e.end);const{end:n,start:o}=e,i={_id:Jn().toHexString(),refSeq:r,min:o,max:n,type:"exon",strand:t.get("strand")};c.children[i._id]=i}return c},async onPileupFeatureContext(){const t=e.createFeature(),r=e.getAssembly(),o=new nr.AddFeatureChange({changedIds:[t._id],typeName:"AddFeatureChange",assembly:r.name,addedFeature:t}),i=n.getSession(e);await i.apolloDataStore.changeManager.submit(o),i.notify("Annotation added successfully","success")}}))).views((e=>{const t=e.contextMenuItems;return{contextMenuItems:()=>e.contextMenuFeature?[...t(),{label:"Create Apollo annotation",icon:$u,onClick:e.onPileupFeatureContext}]:t()}}));return e.stateModel=r,e}const UN=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=d.useState(String(t)),[i,a]=d.useState(!1),[s,u]=d.useState(null);return d.useEffect((()=>{o(String(t))}),[t]),d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]),M.default.createElement(c.TextField,{...n,type:"text",onChange:function(e){o(e.target.value)},value:r,onKeyDown:e=>{"Enter"===e.key?s?.blur():"Escape"===e.key&&(o(String(t)),a(!0))},onBlur:()=>{r!==String(t)&&e(r)},inputRef:e=>{u(e)}})})),zN=new Map([["Gene Ontology",e=>M.default.createElement(VR,{...e,ontologyName:"Gene Ontology"})],["Sequence Ontology",e=>M.default.createElement(VR,{...e,ontologyName:"Sequence Ontology"})]]),GN=["ID","Name","Alias","Target","Gap","Derives_from","Note","Dbxref","Ontology","Is_Circular"],HN=m.makeStyles()((e=>({newAttributePaper:{padding:e.spacing(2)},attributeName:{background:e.palette.secondary.main,color:e.palette.secondary.contrastText,padding:e.spacing(1)}})));function WN(e){const{onChange:t,value:n}=e;return M.default.createElement(UN,{value:n,onChangeCommitted:e=>{t(e.split(","))},variant:"outlined",fullWidth:!0,helperText:"Separate multiple values for the attribute with commas"})}const VN=p.observer((function({assembly:e,editable:t,feature:n,session:r}){const[o,i]=d.useState(""),[a,s]=d.useState(!1),{classes:l}=HN(),[f,h]=d.useState(""),p=Object.fromEntries([...n.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]}))),{notify:m}=r,{changeManager:g}=r.apolloDataStore;async function y(t,r){i("");const o={};if(p){const e=Object.entries({...p,[t]:r});for(const[t,n]of e)if(n&&"parent"!==t.toLowerCase())if([...zN.keys()].includes(t))o[t]=n;else switch(t){case"ID":o._id=n;break;case"Name":o.gff_name=n;break;case"Alias":o.gff_alias=n;break;case"Target":o.gff_target=n;break;case"Gap":o.gff_gap=n;break;case"Derives_from":o.gff_derives_from=n;break;case"Note":o.gff_note=n;break;case"Dbxref":o.gff_dbxref=n;break;case"Ontology_term":o.gff_ontology_term=n;break;case"Is_circular":o.gff_is_circular=n;break;default:o[t.toLowerCase()]=n}}const a=new nr.FeatureAttributeChange({changedIds:[n._id],typeName:"FeatureAttributeChange",assembly:e,featureId:n._id,attributes:o});await g.submit(a),m("Feature attributes modified successfully","success")}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Attributes"),M.default.createElement(c.Grid,{container:!0,direction:"column",spacing:1},Object.entries(p).map((([e,n])=>{if(""===e)return null;const o=zN.get(e)??WN;return M.default.createElement(c.Grid,{container:!0,item:!0,spacing:3,alignItems:"center",key:e},M.default.createElement(c.Grid,{item:!0,xs:"auto"},M.default.createElement(c.Paper,{variant:"outlined",className:l.attributeName},M.default.createElement(c.Typography,null,e))),M.default.createElement(c.Grid,{item:!0,flexGrow:1},M.default.createElement(o,{session:r,value:n,onChange:t=>y(e,t)})),M.default.createElement(c.Grid,{item:!0,xs:1},M.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",disabled:!t,onClick:()=>y(e)},M.default.createElement(qR,{fontSize:"medium",key:e}))))})),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:a||!t,onClick:()=>{s(!0)}},"Add new")),a?M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Paper,{elevation:8,className:l.newAttributePaper},M.default.createElement(c.Grid,{container:!0,direction:"column"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.FormControl,null,M.default.createElement(c.FormLabel,{id:"attribute-radio-button-group"},"Select attribute type"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"custom",name:"radio-buttons-group",onChange:function(e,t){"custom"===t?h(""):zN.has(t)?h(t):i("Unknown attribute type")}},M.default.createElement(c.FormControlLabel,{value:"custom",control:M.default.createElement(c.Radio,null),disableTypography:!0,label:M.default.createElement(c.Grid,{container:!0,spacing:1,alignItems:"center"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Typography,null,"Custom")),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.TextField,{label:"Custom attribute key",variant:"outlined",value:zN.has(f)?"":f,disabled:zN.has(f),onChange:e=>{h(e.target.value)}})))}),[...zN.keys()].map((e=>M.default.createElement(c.FormControlLabel,{key:e,value:e,control:M.default.createElement(c.Radio,null),label:e})))))),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{key:"addButton",color:"primary",variant:"contained",onClick:function(){i(""),0!==f.trim().length?"Parent"!==f?f in p?i(`Attribute "${f}" already exists`):!/^[A-Z]/.test(f)||GN.includes(f)||[...zN.keys()].includes(f)?y(f,[]):i(`Key cannot starts with uppercase letter unless key is one of these: ${GN.join(", ")}`):i('"Parent" -key is handled internally and it cannot be modified manually'):i("Attribute key is mandatory")},disabled:!f},"Add"),M.default.createElement(c.Button,{key:"cancelAddButton",variant:"outlined",type:"submit",onClick:()=>{s(!1),h(""),i("")}},"Cancel")))))):null),o?M.default.createElement(c.Typography,{color:"error"},o):null)})),$N=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=d.useState(String(t)),[i,a]=d.useState(!1),[s,u]=d.useState(null);d.useEffect((()=>{o(String(t))}),[t]),d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]);const l=Number.isNaN(Number(r));return M.default.createElement(c.TextField,{...n,type:"text",onChange:function(e){o(e.target.value)},value:r,onKeyDown:e=>{"Enter"===e.key?s?.blur():"Escape"===e.key&&(o(String(t)),a(!0))},onBlur:()=>{const n=Number(r);r!==String(t)&&(Number.isNaN(n)?o(String(t)):e(n))},inputRef:e=>{u(e)},error:l,helperText:l?"Not a valid number":void 0})})),JN=p.observer((function({assembly:e,feature:t,session:n}){const[r,o]=d.useState(""),[i,a]=d.useState(""),{_id:s,assemblyId:u,max:l,min:f,strand:h,type:p}=t,m=e=>{n.notify(e.message,"error")},{changeManager:g}=n.apolloDataStore;function y(t){const{value:n}=t.target,r=n?Number(n):void 0,o=new nr.StrandChange({typeName:"StrandChange",changedIds:[s],featureId:s,oldStrand:h,newStrand:r,assembly:e});return g.submit(o)}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Basic information"),M.default.createElement($N,{margin:"dense",id:"start",label:"Start",fullWidth:!0,variant:"outlined",value:f+1,onChangeCommitted:function(t){t--;const n=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[s],featureId:s,oldStart:f,newStart:t,assembly:e});return g.submit(n)}}),M.default.createElement($N,{margin:"dense",id:"end",label:"End",fullWidth:!0,variant:"outlined",value:l,onChangeCommitted:function(t){const n=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[s],featureId:s,oldEnd:l,newEnd:t,assembly:e});return g.submit(n)}}),M.default.createElement(ER,{session:n,ontologyName:"Sequence Ontology",value:p,filterTerms:SR,fetchValidTerms:async function(e,t,n){const r=await kR(e,t);if(r)return r;a(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,t),renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(i),helperText:i}),onChange:(e,t)=>{t&&function(e){o("");const t=new nr.TypeChange({typeName:"TypeChange",changedIds:[s],featureId:s,oldType:p,newType:e,assembly:u});return g.submit(t)}(t).catch(m)}}),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"1",checked:1===h,onChange:y}),"Positive Strand (+)"),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"-1",checked:-1===h,onChange:y}),"Negative Strand (-)"),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"",checked:void 0===h,onChange:y}),"No Strand Information"),r?M.default.createElement(c.Typography,{color:"error"},r):null)})),KN=m.makeStyles()({sequence:{width:"100%",resize:"vertical"}}),YN=p.observer((function({assembly:e,feature:t,refName:n,session:r}){const o=r.apolloDataStore.assemblies.get(e),[i,a]=d.useState(!1),{classes:s}=KN();if(!t||!o)return null;const u=o.getByRefName(n);if(!u)return null;const{max:l,min:f}=t;let h="";return i&&(h=u.getSequence(f,l),h?h=function(e,t,n,r,o){return`>${t}:${n+1}–${r}\n${e}`}(h,n,f,l):r.apolloDataStore.loadRefSeq([{assemblyName:e,refName:n,start:f,end:l}])),M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Sequence"),M.default.createElement(c.Button,{variant:"contained",onClick:()=>{a(!i)}},i?"Hide sequence":"Show sequence"),M.default.createElement("div",null,i&&M.default.createElement("textarea",{readOnly:!0,rows:20,className:s.sequence,value:h})))})),ZN=m.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),XN=p.observer((function(e){const{model:t}=e,{assembly:r,feature:o,refName:i}=t,a=n.getSession(t),s=a.apolloDataStore.assemblies.get(r),{classes:u}=ZN();if(!o||!s)return null;const c=s.getByRefName(i);if(!c)return null;const{max:l,min:f}=o;return c.getSequence(f,l)||a.apolloDataStore.loadRefSeq([{assemblyName:r,refName:i,start:f,end:l}]),M.default.createElement("div",{className:u.root},M.default.createElement(JN,{feature:o,session:a,assembly:s._id}),M.default.createElement("hr",null),M.default.createElement(VN,{feature:o,session:a,assembly:s._id,editable:!0}),M.default.createElement("hr",null),M.default.createElement(YN,{feature:o,session:a,assembly:s._id,refName:i}))}));var QN={},eI={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationFeatureModel=void 0;var t=O.default,n=I.default,r=QN,o=n.types.late((function(){return e.AnnotationFeatureModel}));e.AnnotationFeatureModel=n.types.model("AnnotationFeatureModel",{_id:n.types.identifier,refSeq:n.types.string,type:n.types.string,min:n.types.number,max:n.types.number,strand:n.types.maybe(n.types.union(n.types.literal(1),n.types.literal(-1))),children:n.types.maybe(n.types.map(o)),attributes:n.types.map(n.types.array(n.types.string))}).views((function(e){return{get length(){return e.max-e.min},get featureId(){return e.attributes.get("id")},get minWithChildren(){var t=e.min,n=e.children;if(!n)return t;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);t=Math.min(t,i[1].min)}}catch(e){o.e(e)}finally{o.f()}return t},get maxWithChildren(){var t=e.max,n=e.children;if(!n)return t;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);t=Math.max(t,i[1].max)}}catch(e){o.e(e)}finally{o.f()}return t},hasDescendant:function(t){var n=e.children;if(!n)return!1;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);if(i[0]===t)return!0;if(i[1].hasDescendant(t))return!0}}catch(e){o.e(e)}finally{o.f()}return!1},get transcriptParts(){if("mRNA"!==e.type)throw new Error('Only features of type "mRNA" or equivalent can calculate CDS locations');var n=e.children;if(!n)throw new Error("no CDS or exons in mRNA");var r=me(n.values()).filter((function(e){return"CDS"===e.type}));if(0===r.length)throw new Error("no CDS in mRNA");var o,i=[],a=we(r);try{var s=function(){var r,a=o.value,s=a.max,u=a.min,c=[],l=!1,f=[],d=we(n);try{for(d.s();!(r=d.n()).done;){var h=he(r.value,2)[1];"exon"===h.type&&f.push({min:h.min,max:h.max})}}catch(e){d.e(e)}finally{d.f()}f.sort((function(e,t){return e.min-t.min}));for(var p=0,m=f;p<m.length;p++){var g=m[p],y=c.at(-1);y&&c.push({min:y.max,max:g.min,type:"intron"});var v,_=he((0,t.intersection2)(u,s,g.min,g.max),2),b=_[0],w=_[1];v=l?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==b&&void 0!==w?(l=!0,b===g.min&&w===g.max?c.push({min:b,max:w,phase:0,type:"CDS"}):b===g.min?c.push({min:b,max:w,phase:0,type:"CDS"},{min:w,max:g.max,type:v}):w===g.max?c.push({min:g.min,max:b,type:v},{min:b,max:w,phase:0,type:"CDS"}):c.push({min:g.min,max:b,type:v},{min:b,max:w,phase:0,type:"CDS"},{min:w,max:g.max,type:"fivePrimeUTR"===v?"threePrimeUTR":"fivePrimeUTR"})):c.push({min:g.min,max:g.max,type:v})}c.sort((function(e,t){return e.min-t.min})),-1===e.strand&&c.reverse();var S=0,x=c.map((function(e){if("CDS"!==e.type)return e;var t=S;return S=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));i.push(x)};for(a.s();!(o=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}return i}}})).views((function(e){return{get cdsLocations(){return e.transcriptParts.map((function(e){return e.filter((function(e){return"CDS"===e.type}))}))}}})).actions((function(e){return{setAttributes:function(t){e.attributes.clear();var n,r=we(t.entries());try{for(r.s();!(n=r.n()).done;){var o=he(n.value,2);e.attributes.set(o[0],o[1])}}catch(e){r.e(e)}finally{r.f()}},setAttribute:function(t,n){e.attributes.merge(re({},t,n))},setType:function(t){e.type=t},setRefSeq:function(t){e.refSeq=t},setMin:function(t){if(t>e.max)throw new Error('Min "'.concat(t,'" is greater than max "').concat(e.max,'"'));e.min!==t&&(e.min=t)},setMax:function(t){if(t<e.min)throw new Error('Max "'.concat(t,'" is less than Min "').concat(e.min,'"'));e.max!==t&&(e.max=t)},setStrand:function(t){e.strand=t},addChild:function(t){if(e.children&&e.children.size>0){var r=(0,n.getSnapshot)(e.children);e.children.clear();var o,i=we(Object.entries(K(K({},r),{},re({},t._id,t))).sort((function(e,t){var n=he(e,2)[1],r=he(t,2);return n.min-r[1].min})));try{for(i.s();!(o=i.n()).done;){var a=he(o.value,2);e.children.put(a[1])}}catch(e){i.e(e)}finally{i.f()}}else{var s;e.children=(0,n.cast)({}),null===(s=e.children)||void 0===s||s.put(t)}},deleteChild:function(t){var n;null===(n=e.children)||void 0===n||n.delete(t)}}})).actions((function(e){return{update:function(t){var r=t.children,o=t.max,i=t.min,a=t.strand;e.setRefSeq(t.refSeq),e.setMin(i),e.setMax(o),e.setStrand(a),r&&(e.children=(0,n.cast)(r))}}})).views((function(t){return{get parent(){var r;try{r=(0,n.getParentOfType)(t,e.AnnotationFeatureModel)}catch(e){}return r},get topLevelFeature(){var r,o=t;do{try{o=r=(0,n.getParentOfType)(o,e.AnnotationFeatureModel)}catch(e){r=void 0}}while(r);return o},get assemblyId(){return(0,n.getParentOfType)(t,r.ApolloAssembly)._id}}}))}(eI);var tI={},nI={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ApolloRefSeq=e.Sequence=void 0;var t=O.default,n=I.default,r=eI;e.Sequence=n.types.model({start:n.types.number,stop:n.types.number,sequence:n.types.string}),e.ApolloRefSeq=n.types.model("ApolloRefSeq",{_id:n.types.identifier,name:n.types.string,description:"",features:n.types.map(r.AnnotationFeatureModel),sequence:n.types.array(e.Sequence)}).actions((function(e){return{addFeature:function(t){e.features.put(t)},deleteFeature:function(t){return e.features.delete(t)},setDescription:function(t){e.description=t},addSequence:function(t){var n;if(t.sequence.length!==t.stop-t.start)throw new Error("sequence does not match declared length");if(0!==e.sequence.length){var r=e.sequence.map((function(e){return{start:e.start,stop:e.stop,sequence:e.sequence}}));r.push({start:t.start,stop:t.stop,sequence:t.sequence}),r.sort((function(e,t){return e.start-t.start}));var o=r.reduce((function(e,t){var n=e.at(-1);return void 0===n?[t]:(n.stop>=t.start?t.stop>n.stop&&(n.stop=t.stop,n.sequence+=t.sequence.slice(t.stop-n.stop)):e.push(t),e)}),[]);e.sequence.length===o.length&&e.sequence.every((function(e,t){return e.start===o[t].start&&e.stop===o[t].stop}))||(e.sequence.clear(),(n=e.sequence).push.apply(n,me(o)))}else e.sequence.push(t)}}})).views((function(e){return{getSequence:function(n,r){var o,i=we(e.sequence);try{for(i.s();!(o=i.n()).done;){var a=o.value,s=a.sequence,u=a.start;if((0,t.isContainedWithin)(n,r,u,a.stop))return s.slice(n-u,r-u)}}catch(e){i.e(e)}finally{i.f()}return""}}}))}(nI),Object.defineProperty(tI,"__esModule",{value:!0}),tI.ApolloAssembly=void 0;var rI=I.default;tI.ApolloAssembly=rI.types.model("ApolloAssembly",{_id:rI.types.identifier,refSeqs:rI.types.map(nI.ApolloRefSeq),comments:rI.types.array(rI.types.string),backendDriverType:rI.types.optional(rI.types.enumeration("backendDriverType",["CollaborationServerDriver","InMemoryFileDriver","DesktopFileDriver"]),"CollaborationServerDriver")}).views((function(e){return{getByRefName:function(t){return me(e.refSeqs.values()).find((function(e){return e.name===t}))}}})).actions((function(e){return{addRefSeq:function(t,n,r){return e.refSeqs.put({_id:t,name:n,description:r})},addComment:function(t){return e.comments.push(t)}}}));var oI={};Object.defineProperty(oI,"__esModule",{value:!0}),oI.CheckResult=void 0;var iI=I.default;oI.CheckResult=iI.types.model("CheckResult",{_id:iI.types.identifier,name:iI.types.string,ids:iI.types.array(iI.types.safeReference(eI.AnnotationFeatureModel)),refSeq:iI.types.string,start:iI.types.number,end:iI.types.number,ignored:!1,message:iI.types.string}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(eI,e),t.__exportStar(tI,e),t.__exportStar(nI,e),t.__exportStar(oI,e)}(QN);const aI=u.types.model("ApolloFeatureDetailsWidget",{id:g.ElementId,type:u.types.literal("ApolloFeatureDetailsWidget"),feature:u.types.maybe(u.types.reference(QN.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:u.types.string,refName:u.types.string}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const i=o.getFeature(e.tryReload);i&&(e.setFeature(i),e.setTryReload(),t.dispose())})))}}))),sI=u.types.model("ApolloTranscriptDetails",{id:g.ElementId,type:u.types.literal("ApolloTranscriptDetails"),feature:u.types.maybe(u.types.reference(QN.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:u.types.string,refName:u.types.string,changeManager:u.types.frozen()}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const i=o.getFeature(e.tryReload);i&&(e.setFeature(i),e.setTryReload(),t.dispose())})))}}))),uI=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const{notify:i}=o,a=o.apolloDataStore.assemblies.get(e),s=a?.getByRefName(r),{changeManager:u}=o.apolloDataStore,l=c.useTheme();function f(t,n,r,o){if(!r.children)throw new Error("Transcript should have child features");for(const[,a]of r.children){if(o&&t-1===a.min){const o=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[a._id],featureId:r._id,oldStart:t-1,newStart:n-1,assembly:e});return void u.submit(o).catch((()=>{i("Error updating feature start position","error")}))}if(!o&&n===a.max){const t=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[a._id],featureId:r._id,oldEnd:a.max,newEnd:n,assembly:e});return void u.submit(t).catch((()=>{i("Error updating feature start position","error")}))}}}if(!s)return null;const{strand:d,transcriptParts:h}=t,[p]=h,m=p.map(((e,t)=>{const{max:r,min:o,type:i}=e;let a,u,c,f=i;if("threePrimeUTR"===f?f="3` UTR":"fivePrimeUTR"===f&&(f="5` UTR"),"CDS"===i){const{phase:i}=e,f=n.getFrame(o,r,d??1,i);c=l.palette.framesCDS.at(f)?.main;const h=p.at(t-1),m=p.at(t+1);1===d?("intron"===h?.type&&(a=s.getSequence(o-2,o)),"intron"===m?.type&&(u=s.getSequence(r,r+2))):("intron"===h?.type&&(a=n.revcom(s.getSequence(r,r+2))),"intron"===m?.type&&(u=n.revcom(s.getSequence(o-2,o))))}return{min:o,max:r,label:f,fivePrimeSpliceSite:a,threePrimeSpliceSite:u,frameColor:c}})).filter((e=>"intron"!==e.label));return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Structure"),M.default.createElement(c.Typography,{variant:"h6"},1===d?"Forward":"Reverse"," strand"),M.default.createElement(c.TableContainer,{component:c.Paper},M.default.createElement(c.Table,{size:"small"},M.default.createElement(c.TableBody,null,m.map((e=>M.default.createElement(c.TableRow,{key:`${e.label}:${e.min}-${e.max}`},M.default.createElement(c.TableCell,{component:"th",scope:"row",style:{background:e.frameColor}},e.label),M.default.createElement(c.TableCell,null,e.fivePrimeSpliceSite??""),M.default.createElement(c.TableCell,{padding:"none"},M.default.createElement($N,{margin:"dense",variant:"outlined",value:1===d?e.min+1:e.max,onChangeCommitted:n=>{f(1===d?e.min+1:e.max,n,t,1===d)}})),M.default.createElement(c.TableCell,{padding:"none"},M.default.createElement($N,{margin:"dense",variant:"outlined",value:1===d?e.max:e.min+1,onChangeCommitted:n=>{f(1===d?e.max:e.min+1,n,t,1!==d)}})),M.default.createElement(c.TableCell,null,e.threePrimeSpliceSite??""))))))))})),cI=60;function lI(e){switch(e){case"upOrDownstream":return"rgb(255,255,255)";case"UTR":return"rgb(194,106,119)";case"CDS":return"rgb(93,168,153)";case"intron":return"rgb(187,187,187)";case"protein":return"rgb(148,203,236)"}}const fI=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const i=o.apolloDataStore.assemblies.get(e),a=i?.getByRefName(r),[s,u]=d.useState(!1),[l,f]=d.useState("CDS"),h=c.useTheme(),p=d.useRef(null);if(!i||!a)return null;const m=i.getByRefName(r);if(!m)return null;if("mRNA"!==t.type)return null;const g=s?function(e,t,r){const o=[],{cdsLocations:i,strand:a,transcriptParts:s}=t;switch(e){case"genomic":case"cDNA":{const[t]=s;for(const i of t){if("cDNA"===e&&"intron"===i.type)continue;let t=r(i.min,i.max);-1===a&&(t=n.revcom(t));const s="fivePrimeUTR"===i.type||"threePrimeUTR"===i.type?"UTR":i.type,u=o.at(-1);if(u)if(u.type===s){const[e,...n]=u.sequenceLines,r=n.join("")+t;u.sequenceLines=[e,...nr.splitStringIntoChunks(r,cI)],u.locs.push({min:i.min,max:i.max})}else{const e=o.reduce(((e,t)=>e+t.sequenceLines.reduce(((e,t)=>e+t.length),0)),0),n=cI-e%cI,r=t.slice(0,n),a=nr.splitStringIntoChunks(t.slice(n),cI);o.push({type:s,sequenceLines:[r,...a],locs:[{min:i.min,max:i.max}]})}else{const e=nr.splitStringIntoChunks(t,cI);o.push({type:s,sequenceLines:e,locs:[{min:i.min,max:i.max}]})}}return o}case"CDS":{let e="";const[t]=i,s=[];for(const o of t){let t=r(o.min,o.max);-1===a&&(t=n.revcom(t)),e+=t,s.push({min:o.min,max:o.max})}const u=nr.splitStringIntoChunks(e,cI);return o.push({type:"CDS",sequenceLines:u,locs:s}),o}}}(l,t,((e,t)=>a.getSequence(e,t))):[],y=[];if(s){const e=g.flatMap((e=>e.locs));let[t]=e;for(let n=1;n<e.length;n++)t.min===e[n].max||t.max===e[n].min?t={min:Math.min(t.min,e[n].min),max:Math.max(t.max,e[n].max)}:(y.push(t),t=e[n]);y.push(t)}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Sequence"),M.default.createElement("div",null,M.default.createElement(c.Button,{variant:"contained",onClick:()=>{u(!s)}},s?"Hide sequence":"Show sequence")),s&&M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Select,{defaultValue:"CDS",value:l,onChange:function(e){f(e.target.value)}},M.default.createElement(c.MenuItem,{value:"CDS"},"CDS"),M.default.createElement(c.MenuItem,{value:"cDNA"},"cDNA"),M.default.createElement(c.MenuItem,{value:"genomic"},"Genomic")),M.default.createElement(c.Paper,{style:{fontFamily:"monospace",padding:h.spacing(),overflowX:"auto"},ref:p},">",m.name,":",y.map((e=>1===t.strand?`${e.min+1}-${e.max}`:`${e.max}-${e.min+1}`)).join(";"),"(",1===t.strand?"+":"-",")",M.default.createElement("br",null),g.map(((e,t)=>M.default.createElement("span",{key:`${e.type}-${t}`,style:{background:lI(e.type),color:h.palette.getContrastText(lI(e.type))}},e.sequenceLines.map(((t,n)=>M.default.createElement(M.default.Fragment,{key:`${t.slice(0,5)}-${n}`},t,n===e.sequenceLines.length-1&&t.length!==cI?null:M.default.createElement("br",null)))))))),M.default.createElement(c.Button,{variant:"contained",onClick:()=>{const e=p.current;if(!e)return;const t=new Blob([e.outerText],{type:"text/plain"}),n=new Blob([e.outerHTML],{type:"text/html"}),r=new ClipboardItem({[t.type]:t,[n.type]:n});navigator.clipboard.write([r])}},"Copy sequence")))})),dI=m.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),hI=p.observer((function(e){const{classes:t}=dI(),{model:r}=e,{assembly:o,feature:i,refName:a}=r,s=n.getSession(r),c=n.getSession(r),l=c.apolloDataStore.assemblies.get(o),{internetAccounts:f}=u.getRoot(s),d=f.find((e=>"ApolloInternetAccount"===e.type)),h=["admin","user"].includes((d?d.role:"admin")??"");if(!i||!l)return null;const p=l.getByRefName(a);if(!p)return null;const{max:m,min:g}=i;return p.getSequence(g,m)||c.apolloDataStore.loadRefSeq([{assemblyName:o,refName:a,start:g,end:m}]),M.default.createElement("div",{className:t.root},M.default.createElement(uI,{feature:i,session:c,assembly:l._id||"",refName:a}),M.default.createElement("hr",null),M.default.createElement(VN,{feature:i,session:c,assembly:l._id||"",editable:h}),M.default.createElement("hr",null),M.default.createElement(fI,{feature:i,session:c,assembly:l._id||"",refName:a}))})),pI=r.ConfigurationSchema("LinearApolloDisplay",{},{explicitIdentifier:"displayId",explicitlyTyped:!0}),mI=m.makeStyles()({highlighted:{background:"orange"}}),gI=({highlight:e,text:t})=>{const{classes:n}=mI();if(!e)return M.default.createElement(M.default.Fragment,null,t);const r=t.split(e);if(1===r.length)return M.default.createElement(M.default.Fragment,null,t);const o=[];for(let t=0;t<r.length-1;t++)o.push(r[t],M.default.createElement("span",{className:n.highlighted},e));return M.default.createElement(M.default.Fragment,null,o,r.at(-1))},yI=p.observer((function({feature:e,filterText:t}){const n=[...e.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]})).filter((([e])=>e)).map((([e,t])=>`${e}=${Array.isArray(t)?t.join(", "):t}`)).join(", ");return M.default.createElement(gI,{text:n,highlight:t})})),vI=m.makeStyles()((e=>({inputWrapper:{position:"relative"},hiddenWidthSpan:{padding:e.spacing(.5),color:"transparent"},numberTextInput:{border:"none",background:"inherit",font:"inherit",position:"absolute",width:"100%",left:0}}))),_I=p.observer((function({initialValue:e,notifyError:t,onChangeCommitted:n}){const[r,o]=d.useState(e),[i,a]=d.useState(!1),[s,u]=d.useState(null),{classes:c}=vI();return d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]),M.default.createElement("span",{className:c.inputWrapper},M.default.createElement("span",{className:c.hiddenWidthSpan,"aria-hidden":!0},r),M.default.createElement("input",{type:"text",value:r,className:c.numberTextInput,onChange:function(e){const t=Number(e.target.value);Number.isNaN(t)||o(t)},onKeyDown:t=>{"Enter"===t.key?s?.blur():"Escape"===t.key&&(o(e),a(!0))},onBlur:()=>{r!==e&&n(r).catch(t)},ref:e=>{u(e)}}))}));function bI(e,t){return t?.palette.bases[e.toUpperCase()].main.toString()??"lightgray"}function wI(e,t,n,r,o){const i=Math.min(n,10);e.fillStyle="#000",e.font=`${i}px`;const a=e.measureText(r).width;e.fillText(r,t+(n-a)/2,o+10)}function SI(e,t,r,o,i,a,s,u,c){let l=s.slice(u,u+3).toUpperCase();c&&(l=function(e){return[...e].map((e=>n.revcom(e))).reverse().join("")}(l));const f=n.defaultCodonTable[l];if(!f)return;const d={M:"#33ee33","*":"#f44336"}[f.toUpperCase()];d&&(e.fillStyle=d,e.fillRect(r,o,i,a)),t<=.1&&(e.rect(r,o,i,a),e.stroke(),wI(e,r,i,f,o))}function xI(e){return"featureAndGlyphUnderMouse"in e}function kI(e,t){const n=t<=1?2:0;switch(e){case 3:return 0;case 2:return 1;case 1:return 2;case-1:return 3+n;case-2:return 4+n;case-3:return 5+n}}function EI(e,t){if(!(t>1||void 0===e))return 1===e?3:4}function AI(e,t,n,r,o,i){void 0!==o&&(e.fillStyle=t?.palette.action.focus??"rgba(0,0,0,0.04)",e.fillRect(n,r*o,i,r))}function CI(e,t){return Boolean(t&&e._id===t._id)}function OI(e,t){return t?e?.palette.text.primary??"black":e?.palette.background.default??"white"}function RI(e,t,n,r,o,i){e.fillStyle=i,e.fillRect(t,n,r,o)}function NI(e,t,n){const{refName:r,regionNumber:o,x:i}=e,{lgv:a}=n,{offsetPx:s}=a,u=a.bpToPx({refName:r,coord:t.min,regionNumber:o}),c=a.bpToPx({refName:r,coord:t.max,regionNumber:o});if(void 0!==u&&void 0!==c){const e=u.offsetPx-s,t=c.offsetPx-s;if(Math.abs(t-e)<8)return;if(Math.abs(e-i)<4)return"min";if(Math.abs(t-i)<4)return"max"}}const II={draw:function(e,t,n,r,o){const{apolloRowHeight:i,lgv:a,session:s,theme:u}=r,{bpPerPx:c,displayedRegions:l,offsetPx:f}=a,d=l[o],h=(a.bpToPx({refName:d.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-f,{reversed:p}=d,{apolloSelectedFeature:m}=s,g=t.length/c,y=p?h-g:h,v=n*i,_=CI(t,m),b=OI(u,_),w=function(e,t){return t?e?.palette.getContrastText(OI(e,t))??"white":e?.palette.text.primary??"black"}(u,_);!function(e,t,n,r,o,i){RI(e,t,n,r,o,i),r<=2||e.clearRect(t+1,n+1,r-2,o-2)}(e,y,v,g,i,w),g<=2||(function(e,t,n,r,o,i){RI(e,t+1,n+1,r-2,o-2,i)}(e,y,v,g,i,b),function(e,t,n,r,o,i){e.fillStyle=o;const a=Math.max(t+1,0);e.fillText(i,a,n+11,t-1+r-a)}(e,y,v,g,w,t.type))},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:i}=e,{bpPerPx:a,displayedRegions:s,offsetPx:u}=o;if(!n)return;const{current:l,edge:f,feature:d,start:h}=n,p=Math.floor(h.y/r),m=s[h.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/a-u,y=Math.min(l.x,g),v=p*r,_=Math.abs(l.x-g),b=1*r;t.strokeStyle=i?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(i?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,_,b)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{bpPerPx:u,displayedRegions:c,offsetPx:l}=o,{layoutIndex:f,layoutRow:d}=s,h=c[f],{refName:p,reversed:m}=h,{length:g,max:y,min:v}=a,_=(o.bpToPx({refName:p,coord:m?y:v,regionNumber:f})?.offsetPx??0)-l,b=d*r,w=g/u;t.fillStyle=i?.palette.action.focus??"rgba(0,0,0,0.04)",t.fillRect(_,b,w,r)},drawTooltip:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{featureRow:u,layoutIndex:l,layoutRow:f}=s,{bpPerPx:d,displayedRegions:h,offsetPx:p}=o,m=h[l],{refName:g,reversed:y}=m;let v="Loc: ";const{length:_,max:b,min:w}=a;v+=`${w+1}–${b}`;let S=(o.bpToPx({refName:g,coord:y?b:w,regionNumber:l})?.offsetPx??0)-p;const x=(f+u)*r,k=_/d,E=`Type: ${a.type}`,{attributes:A}=a,C=A.get("gff_name")?.find((e=>""!==e)),O=[t.measureText(E).width,t.measureText(v).width];C&&O.push(t.measureText(`Name: ${C}`).width);const R=Math.max(...O);S=S+k+5,t.fillStyle=c.alpha(i?.palette.text.primary??"rgb(1, 1, 1)",.7),t.fillRect(S,x,R+4,3===O.length?45:35),t.beginPath(),t.moveTo(S,x),t.lineTo(S-5,x+5),t.lineTo(S,x+10),t.fill(),t.fillStyle=i?.palette.background.default??"rgba(255, 255, 255)";let N=x+12;t.fillText(E,S+2,N),C&&(N+=12,t.fillText(`Name: ${C}`,S+2,N)),N+=12,t.fillText(v,S+2,N)},getContextMenuItems:function(e){const{apolloHover:t,apolloInternetAccount:r,changeManager:o,regions:i,selectedFeature:a,session:s}=e,u=[];if(!t)return u;const{feature:c}=t,l=r?r.role:"admin",f="admin"===l,d=!(l&&["admin","user"].includes(l)),[h]=i,p=e.getAssemblyId(h.assemblyName),m=e.getAssemblyId(h.assemblyName);return u.push({label:"Add child feature",disabled:d,onClick:()=>{s.queueDialog((e=>[AR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:p,internetAccount:r}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{s.queueDialog((e=>[RR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{s.queueDialog((t=>[IR,{session:s,handleClose:()=>{t()},changeManager:o,sourceFeature:c,sourceAssemblyId:m,selectedFeature:a,setSelectedFeature:t=>{e.setSelectedFeature(t)}}]))}},{label:"Modify feature attribute",disabled:d,onClick:()=>{s.queueDialog((e=>[QR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Edit feature details",onClick:()=>{const e=s.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:c,assembly:m,refName:h.refName});s.showWidget(e)}}),"mRNA"===c.type&&n.isSessionModelWithWidgets(s)&&u.push({label:"Edit transcript details",onClick:()=>{const e=s.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:c,assembly:m,changeManager:o,refName:h.refName});s.showWidget(e)}}),u},getFeatureFromLayout:function(e,t,n){return e},getRowCount:function(e){return 1},getRowForFeature:function(e,t){return 0},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,i=NI(t,o,e);i&&(n.stopPropagation(),e.startDrag(t,o,i))},onMouseLeave:function(){},onMouseMove:function(e,t){if(xI(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(NI(t,r,e))return void e.setCursor("col-resize")}e.setCursor()},onMouseUp:function(e,t){if(e.apolloDragging)return;const{featureAndGlyphUnderMouse:n}=t;n?.feature&&e.setSelectedFeature(n.feature)}};let PI=null,TI=null,MI=null,jI=null;if("document"in globalThis)for(const e of["forward","backward"])for(const t of["light","dark"]){const n=document.createElement("canvas"),r=10;n.width=n.height=r;const o=n.getContext("2d");if(o){const i="light"===t?"rgba(0,0,0,0)":"rgba(0,0,0,0.75)",a="light"===t?"rgba(255,255,255,0.25)":"rgba(0,0,0,0.50)",s="forward"===e?o.createLinearGradient(0,r,r,0):o.createLinearGradient(0,0,r,r);s.addColorStop(0,i),s.addColorStop(.25,i),s.addColorStop(.25,a),s.addColorStop(.5,a),s.addColorStop(.5,i),s.addColorStop(.75,i),s.addColorStop(.75,a),s.addColorStop(1,a),o.fillStyle=s,o.fillRect(0,0,10,10),"forward"===e?"light"===t?PI=o.createPattern(n,"repeat"):MI=o.createPattern(n,"repeat"):"light"===t?TI=o.createPattern(n,"repeat"):jI=o.createPattern(n,"repeat")}}function FI(e,t){const{children:n,type:r}=e;if(!n)return 1;let o=0;if("mRNA"===r){for(const[,e]of n)"CDS"===e.type&&(o+=1);return o}for(const[,e]of n)o+=FI(e);return o}function LI(e){if("gene"!==e.type)throw new Error('Top level feature for GeneGlyph must have type "gene"');const{children:t}=e;if(!t)return[[e]];const n=[];for(const[,r]of t){if("mRNA"!==r.type){n.push([r,e]);continue}if(!r.children)continue;const t=[],o=[];for(const[,e]of r.children)"CDS"===e.type?t.push(e):"exon"===e.type&&o.push(e);for(const i of t)n.push([i,...o,r,e])}return n}function DI(e,t,r){if("gene"===t.type||"mRNA"===t.type)return;const{bp:o,refName:i,regionNumber:a,x:s}=e,{lgv:u}=r,{offsetPx:c}=u,l=u.bpToPx({refName:i,coord:t.min,regionNumber:a}),f=u.bpToPx({refName:i,coord:t.max,regionNumber:a});if(void 0===l||void 0===f)return;const d=l.offsetPx-c,h=f.offsetPx-c;if(!(Math.abs(h-d)<8)){if(Math.abs(d-s)<4)return{feature:t,edge:"min"};if(Math.abs(h-s)<4)return{feature:t,edge:"max"};if("CDS"===t.type){const e=t.parent;if(!e?.children)return;const r=[...e.children.values()].filter((e=>"exon"===e.type)).find((e=>{const[t,r]=n.intersection2(o,o+1,e.min,e.max);return void 0!==t&&void 0!==r}));if(!r)return;const l=u.bpToPx({refName:i,coord:r.min,regionNumber:a}),f=u.bpToPx({refName:i,coord:r.max,regionNumber:a});if(void 0===l||void 0===f)return;const d=l.offsetPx-c,h=f.offsetPx-c;if(Math.abs(h-d)<8)return;if(Math.abs(d-s)<4)return{feature:r,edge:"min"};if(Math.abs(h-s)<4)return{feature:r,edge:"max"}}}}const{drawTooltip:qI,getContextMenuItems:BI,onMouseLeave:UI}=II,zI={draw:function(e,t,r,o,i){const{apolloRowHeight:a,lgv:s,session:u,theme:l}=o,{bpPerPx:f,displayedRegions:d,offsetPx:h}=s,p=d[i],{refName:m,reversed:g}=p,y=a,v=Math.round(.6*y),_=Math.round(.9*y),{children:b,min:w,strand:S}=t;if(!b)return;const{apolloSelectedFeature:x}=u,k=(s.bpToPx({refName:m,coord:w,regionNumber:i})?.offsetPx??0)-h,E=t.length/f,A=g?k-E:k,C=r*y,O=FI(t)*y;e.fillStyle=c.alpha(l?.palette.background.paper??"#ffffff",.6),e.fillRect(A,C,E,O);let R=0;for(const[,t]of b){if("mRNA"!==t.type){R+=1;continue}const{children:n,min:o}=t;if(n)for(const[,a]of n){if("CDS"!==a.type)continue;const n=(s.bpToPx({refName:m,coord:o,regionNumber:i})?.offsetPx??0)-h,u=t.length/f,c=g?n-u:n,d=Math.round((R+.5)*y)+r*y;e.strokeStyle=l?.palette.text.primary??"black",e.beginPath(),e.moveTo(c,d),e.lineTo(c+u,d),e.stroke(),R+=1}}const N="dark"===l?.palette.mode?MI:PI,I="dark"===l?.palette.mode?jI:TI;R=0;for(const[,t]of b)if("mRNA"===t.type)for(const o of t.cdsLocations){const{_id:a,children:u}=t;if(u){for(const[,t]of u){if("exon"!==t.type)continue;const n=(s.bpToPx({refName:m,coord:t.min,regionNumber:i})?.offsetPx??0)-h,o=t.length/f,a=g?n-o:n,u=(r+R)*y+(y-v)/2;if(e.fillStyle=l?.palette.text.primary??"black",e.fillRect(a,u,o,v),o>2&&(e.clearRect(a+1,u+1,o-2,v-2),e.fillStyle=x&&t._id===x._id?"rgb(0,0,0)":"rgb(211,211,211)",e.fillRect(a+1,u+1,o-2,v-2),N&&I&&S)){const t=g?-1:1,[n,r]=S*t==1?[N,I]:[I,N];e.fillStyle=n,e.fillRect(a+1,u+1,o-2,(v-2)/2),e.fillStyle=r,e.fillRect(a+1,u+1+(v-2)/2,o-2,(v-2)/2)}}for(const u of o){const o=(u.max-u.min)/f,c=(s.bpToPx({refName:m,coord:u.min,regionNumber:i})?.offsetPx??0)-h,d=g?c-o:c;e.fillStyle=l?.palette.text.primary??"black";const p=(r+R)*y+(y-_)/2;if(e.fillRect(d,p,o,_),o>2){e.clearRect(d+1,p+1,o-2,_-2);const r=n.getFrame(u.min,u.max,t.strand??1,u.phase),i=l?.palette.framesCDS.at(r)?.main,s=i??"rgb(171,71,188)";if(e.fillStyle=x&&a===x._id?"rgb(0,0,0)":s,e.fillStyle=s,e.fillRect(d+1,p+1,o-2,_-2),N&&I&&S){const t=g?-1:1,[n,r]=S*t==1?[N,I]:[I,N];e.fillStyle=n,e.fillRect(d+1,p+1,o-2,(_-2)/2),e.fillStyle=r,e.fillRect(d+1,p+(_-2)/2,o-2,(_-2)/2)}}}R+=1}}else II.draw(e,t,r,o,i),R+=1},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:i}=e,{bpPerPx:a,displayedRegions:s,offsetPx:u}=o;if(!n)return;const{current:l,edge:f,feature:d,start:h}=n,p=Math.floor(h.y/r),m=s[h.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/a-u,y=Math.min(l.x,g),v=p*r,_=Math.abs(l.x-g),b=1*r;t.strokeStyle=i?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(i?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,_,b)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{bpPerPx:u,displayedRegions:c,offsetPx:l}=o,{featureRow:f,layoutIndex:d,layoutRow:h}=s,p=c[d],{refName:m,reversed:g}=p,{length:y,max:v,min:_}=a,b=(o.bpToPx({refName:m,coord:g?v:_,regionNumber:d})?.offsetPx??0)-l,w=(h+f)*r,S=y/u;t.fillStyle=i?.palette.action.selected??"rgba(0,0,0,04)",t.fillRect(b,w,S,r*FI(a))},drawTooltip:qI,getContextMenuItems:BI,getFeatureFromLayout:function(e,t,n){const r=LI(e)[n]||[];for(const e of r){let n;if(t>=e.min&&t<=e.max&&e.parent&&(n=e),n){if("CDS"===n.type&&n.parent&&"mRNA"===n.parent.type){const{cdsLocations:e}=n.parent;for(const r of e)for(const e of r)if(t>=e.min&&t<=e.max)return n;return n.parent}return n}}return e},getRowCount:FI,getRowForFeature:function(e,t){const n=LI(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,i=DI(t,o,e);i&&(n.stopPropagation(),e.startDrag(t,i.feature,i.edge))},onMouseLeave:UI,onMouseMove:function(e,t){if(xI(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(DI(t,r,e))return void e.setCursor("col-resize")}e.setCursor()},onMouseUp:function(e,t){if(e.apolloDragging)return;const{featureAndGlyphUnderMouse:n}=t;n?.feature&&e.setSelectedFeature(n.feature)}};function GI(e){const t=[[e]];if(e.children)for(const[,n]of e.children)t.push(...GI(n));return t}function HI(e){return GI(e).length}function WI(e,t,n,r,o,i){const a=GI(t)[n-r];for(const t of a)VI(e,t,n,o,i)}function VI(e,t,n,r,o){const{apolloRowHeight:i,lgv:a,session:s}=r,{bpPerPx:u,displayedRegions:c,offsetPx:l}=a,f=c[o],d=(a.bpToPx({refName:f.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-l,{reversed:h}=f,{apolloSelectedFeature:p}=s,m=t.length/u,g=h?d-m:d,y=n*i,v=HI(t),_=CI(t,p);v>1&&RI(e,g,y,m,v*i,_?"rgba(130,0,0,0.45)":"rgba(255,0,0,0.25)"),II.draw(e,t,n,r,o)}const{drawDragPreview:$I,drawTooltip:JI,getContextMenuItems:KI,onMouseDown:YI,onMouseLeave:ZI,onMouseMove:XI,onMouseUp:QI}=II,eP={draw:function(e,t,n,r,o){for(let i=0;i<HI(t);i++)WI(e,t,n+i,n,r,o)},drawDragPreview:$I,drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o}=e;if(!n)return;const{feature:i}=n,a=e.getFeatureLayoutPosition(i);if(!a)return;const{featureRow:s,layoutIndex:u,layoutRow:c}=a,{bpPerPx:l,displayedRegions:f,offsetPx:d}=o,h=f[u],{refName:p,reversed:m}=h,{length:g,max:y,min:v}=i,_=(o.bpToPx({refName:p,coord:m?y:v,regionNumber:u})?.offsetPx??0)-d,b=(c+s)*r,w=g/l;t.fillStyle="rgba(0,0,0,0.2)",t.fillRect(_,b,w,r*HI(i))},drawTooltip:JI,getContextMenuItems:KI,getFeatureFromLayout:function(e,t,n){return GI(e)[n].find((e=>t>=e.min&&t<=e.max))},getRowCount:HI,getRowForFeature:function(e,t){const n=GI(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:YI,onMouseLeave:ZI,onMouseMove:XI,onMouseUp:QI};function tP(e){return function(e){const{children:t}=e;if(!t?.size)return!1;for(const[,e]of t)if("mRNA"===e.type){const{children:t}=e;if(!t?.size)return!1;const n=[...t.values()].some((e=>"CDS"===e.type)),r=[...t.values()].some((e=>"exon"===e.type));if(n&&r)return!0}return!1}(e)?zI:e.children?.size?eP:II}const nP=m.makeStyles()((e=>({typeContent:{display:"inline-block",width:"174px",height:"100%",cursor:"text"},feature:{td:{position:"relative",verticalAlign:"top",paddingLeft:"0.5em"}},arrow:{display:"inline-block",width:"1.6em",textAlign:"center",cursor:"pointer"},arrowExpanded:{transform:"rotate(90deg)"},hoveredFeature:{backgroundColor:e.palette.action.hover},typeInputElement:{border:"none",background:"none"},typeErrorMessage:{color:"red"}})));function rP(e,t){const{changeManager:r,getAssemblyId:o,regions:i,selectedFeature:a,session:s,setSelectedFeature:c}=e;return function(e,t,r,o,i,a,s){const c=function(e){const{internetAccounts:t}=u.getParent(e);return t.find((e=>"ApolloInternetAccount"===e.type))}(a),l=c?c.role:"admin",f="admin"===l,d=!(l&&["admin","user"].includes(l)),h=[];if(e){const u=r(t.assemblyName),l=r(t.assemblyName);h.push({label:"Edit feature details",onClick:()=>{const n=a.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:e,assembly:l,refName:t.refName});a.showWidget(n)}},{label:"Add child feature",disabled:d,onClick:()=>{a.queueDialog((t=>[AR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:u,internetAccount:c}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{a.queueDialog((t=>[RR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{a.queueDialog((t=>[IR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l,selectedFeature:o,setSelectedFeature:i}]))}},{label:"Edit attributes",disabled:d,onClick:()=>{a.queueDialog((t=>[QR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l}]))}}),"mRNA"===e.type&&n.isSessionModelWithWidgets(a)&&h.push({label:"Edit transcript details",onClick:()=>{const n=a.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:e,assembly:l,changeManager:s,refName:t.refName});a.showWidget(n)}})}return h}(t,i[0],o,a,c,s,r)}function oP(e){let t=e;for(;t.parent;)t=t.parent;return t}const iP=p.observer((function e({depth:t,feature:n,isHovered:r,isSelected:o,model:i,selectedFeatureClass:a,setContextMenu:s}){const{classes:u}=nP(),{apolloHover:c,changeManager:l,selectedFeature:f,session:d,tabularEditor:h}=i,{featureCollapsed:p,filterText:m}=h,{_id:g,children:y,max:v,min:_,strand:b,type:w}=n,S=!p.get(g),x=e=>{d.notify(e.message,"error")};return M.default.createElement(M.default.Fragment,null,M.default.createElement("tr",{onMouseEnter:e=>{i.setApolloHover({feature:n,topLevelFeature:oP(n),glyph:tP(oP(n))})},className:u.feature+(o?` ${a}`:r?` ${u.hoveredFeature}`:""),onClick:e=>{e.stopPropagation(),i.setSelectedFeature(n)},onContextMenu:e=>(e.preventDefault(),s({position:{left:e.clientX+2,top:e.clientY-6},items:rP(i,n)}),!1)},M.default.createElement("td",{style:{whiteSpace:"nowrap",borderLeft:2*t+"em solid transparent"}},y?.size?M.default.createElement("div",{onClick:e=>{e.stopPropagation(),h.setFeatureCollapsed(g,S)},className:u.arrow+(S?` ${u.arrowExpanded}`:"")},"❯"):null,M.default.createElement("div",{className:u.typeContent},M.default.createElement(ER,{session:d,ontologyName:"Sequence Ontology",style:{width:170},value:w,filterTerms:SR,fetchValidTerms:aP.bind(null,n),renderInput:e=>M.default.createElement("div",{ref:e.InputProps.ref},M.default.createElement("input",{type:"text",...e.inputProps,className:u.typeInputElement,style:{width:170}}),e.error?M.default.createElement("div",{className:u.typeErrorMessage},e.errorMessage??"unknown error"):null),onChange:(e,t)=>{t&&function(e,t,n,r){const o=t._id,i=new nr.TypeChange({typeName:"TypeChange",changedIds:[o],featureId:o,oldType:String(n),newType:String(r),assembly:t.assemblyId});return e.submit(i)}(l,n,e,t).catch(x)}}))),M.default.createElement("td",null,M.default.createElement(_I,{initialValue:_+1,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,i=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[o],featureId:o,oldStart:n,newStart:r,assembly:t.assemblyId});return e.submit(i)}(l,n,_,e-1)})),M.default.createElement("td",null,M.default.createElement(_I,{initialValue:v,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,i=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[o],featureId:o,oldEnd:n,newEnd:r,assembly:t.assemblyId});return e.submit(i)}(l,n,v,e)})),M.default.createElement("td",null,1===b?"+":-1===b?"-":void 0),M.default.createElement("td",null,M.default.createElement(yI,{filterText:m,feature:n}))),S&&y?[...y.entries()].filter((e=>{if(!m)return!0;const[,t]=e;return JSON.stringify(t).includes(m)})).map((([n,r])=>M.default.createElement(e,{isHovered:c?.feature._id===r._id,isSelected:f?._id===r._id,selectedFeatureClass:a,key:n,depth:(t||0)+1,feature:r,model:i,setContextMenu:s}))):null)}));async function aP(e,t,n){const{parent:r}=e;if(r){const e=(await t.getTermsWithLabelOrSynonym(r.type,{includeSubclasses:!1})).filter(SR);if(e.length>0)return await t.getClassesThat("part_of",e)}}const sP=m.makeStyles()((e=>({scrollableTable:{width:"100%",height:"100%",th:{position:"sticky",top:0,zIndex:2,textAlign:"left",background:e.palette.background.paper,paddingTop:"3.2em"},td:{whiteSpace:"normal"}},selectedFeature:{backgroundColor:e.palette.action.selected}}))),uP=p.observer((function({model:e}){const{apolloHover:t,seenFeatures:n,selectedFeature:r,tabularEditor:o}=e,i=c.useTheme(),{classes:a}=sP(),s=d.useRef(null),[u,l]=d.useState(null),{filterText:f}=o;return d.useEffect((()=>{const e=s.current;if(e&&r){const t=e.querySelector(`.${a.selectedFeature}`);if(t){const n=e.scrollTop,r=t.offsetTop-25;r>n&&r<n+e.offsetHeight||e.scroll({top:r-40,behavior:"smooth"})}}}),[r,n,a.selectedFeature]),M.default.createElement("div",{ref:s,style:{width:"100%",overflowY:"auto",height:"100%"}},M.default.createElement("table",{className:a.scrollableTable},M.default.createElement("thead",null,M.default.createElement("tr",null,M.default.createElement("th",null,"Type"),M.default.createElement("th",null,"Start"),M.default.createElement("th",null,"End"),M.default.createElement("th",null,"Strand"),M.default.createElement("th",null,"Attributes"))),M.default.createElement("tbody",null,[...n.entries()].filter((e=>{if(!f)return!0;const[,t]=e;return JSON.stringify(t).includes(f)})).sort(((e,t)=>e[1].min-t[1].min)).map((([n,o])=>M.default.createElement(iP,{key:n,isSelected:r?._id===n,isHovered:t?.feature._id===n,selectedFeatureClass:a.selectedFeature,feature:o,model:e,depth:0,setContextMenu:l}))))),M.default.createElement(h.Menu,{open:Boolean(u),onMenuItemClick:(e,t)=>{t(),l(null)},onClose:()=>{l(null)},TransitionProps:{onExit:()=>{l(null)}},style:{zIndex:i.zIndex.tooltip},menuItems:u?.items??[],anchorReference:"anchorPosition",anchorPosition:u?.position}))}));var cP={},lP=Hu.exports;Object.defineProperty(cP,"__esModule",{value:!0});var fP=cP.default=void 0;fP=cP.default=(0,lP(Wu).default)((0,N.default.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");var dP={},hP=Hu.exports;Object.defineProperty(dP,"__esModule",{value:!0});var pP=dP.default=void 0;pP=dP.default=(0,hP(Wu).default)((0,N.default.jsx)("path",{d:"M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"}),"UnfoldLess");const mP=m.makeStyles()({toolbar:{width:"100%",display:"flex",paddingRight:"2em",flexDirection:"row",justifyContent:"space-between",position:"absolute",zIndex:4},filterText:{}}),gP=p.observer((function({model:e}){const t=e.tabularEditor,{classes:n}=mP();return M.default.createElement("div",{className:n.toolbar},M.default.createElement(c.Tooltip,{title:"Collapse all"},M.default.createElement(c.IconButton,{"aria-label":"collapse",sx:{marginTop:0},onClick:t.collapseAllFeatures},M.default.createElement(pP,null))),M.default.createElement(c.TextField,{className:n.filterText,label:"Filter features",value:t.filterText,sx:{marginTop:0},variant:"outlined",onChange:e=>{t.setFilterText(e.target.value)},InputProps:{endAdornment:M.default.createElement(c.InputAdornment,{position:"end"},M.default.createElement(c.IconButton,{onClick:()=>{t.clearFilterText()}},M.default.createElement(fP,null)))}}))}));function yP(e){e.stopPropagation()}const vP=p.observer((function({model:e}){return e.tabularEditor.isShown?M.default.createElement("div",{onMouseDown:yP,onClick:yP,style:{width:"100%",height:"100%",position:"relative"}},M.default.createElement(gP,{model:e}),M.default.createElement(uP,{model:e})):null})),_P=u.types.model("TabularEditor",{isShown:!0,featureCollapsed:u.types.map(u.types.boolean),filterText:""}).actions((e=>({setFeatureCollapsed(t,n){e.featureCollapsed.set(t,n)},setFilterText(t){e.filterText=t},clearFilterText(){e.filterText=""},collapseAllFeatures(){const t=u.getParent(e);for(const[n]of t.seenFeatures.entries())e.featureCollapsed.set(n,!0)},togglePane(){e.isShown=!e.isShown},hidePane(){e.isShown=!1},showPane(){e.isShown=!0}})));function bP(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return o.BaseDisplay.named("BaseLinearApolloDisplay").props({type:u.types.literal("LinearApolloDisplay"),configuration:r.ConfigurationReference(t),graphical:!0,table:!1,heightPreConfig:u.types.maybe(u.types.refinement("displayHeight",u.types.number,(e=>e>=20)))}).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...k.getParentRenderProps(e),config:t.renderer})}})).volatile((()=>({scrollTop:0}))).views((e=>({get lgv(){return n.getContainingView(e)},get height(){return e.heightPreConfig?e.heightPreConfig:e.graphical&&e.table?500:e.graphical?200:300}}))).views((e=>({get rendererTypeName(){return e.configuration.renderer.type},get session(){return n.getSession(e)},get regions(){return e.lgv.dynamicBlocks.contentBlocks.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:Math.round(r),end:Math.round(t)})))},regionCannotBeRendered(){if(e.lgv&&e.lgv.bpPerPx>=200)return"Zoom in to see annotations"}}))).views((e=>({get apolloInternetAccount(){const[t]=e.regions,{internetAccounts:n}=u.getRoot(e),{assemblyName:o}=t,{assemblyManager:i}=e.session,a=i.get(o);if(!a)throw new Error(`No assembly found with name ${o}`);const{internetAccountConfigId:s}=r.getConf(a,["sequence","metadata"]);return n.find((e=>r.getConf(e,"internetAccountId")===s))},get changeManager(){return e.session.apolloDataStore.changeManager},getAssemblyId(t){const{assemblyManager:n}=e.session,r=n.get(t);if(!r)throw new Error(`Could not find assembly named ${t}`);return r.name},get selectedFeature(){return e.session.apolloSelectedFeature}}))).actions((e=>({setScrollTop(t){e.scrollTop=t},setHeight:t=>(e.heightPreConfig=Math.max(t,20),e.height),resizeHeight(t){const n=e.height;return this.setHeight(e.height+t)-n},showGraphicalOnly(){e.graphical=!0,e.table=!1},showTableOnly(){e.graphical=!1,e.table=!0},showGraphicalAndTable(){e.graphical=!0,e.table=!0}}))).views((e=>{const{trackMenuItems:t}=e;return{trackMenuItems(){const{graphical:n,table:r}=e;return[...t(),{type:"subMenu",label:"Appearance",subMenu:[{label:"Show graphical display",type:"radio",checked:n&&!r,onClick:()=>{e.showGraphicalOnly()}},{label:"Show table display",type:"radio",checked:r&&!n,onClick:()=>{e.showTableOnly()}},{label:"Show both graphical and table display",type:"radio",checked:r&&n,onClick:()=>{e.showGraphicalAndTable()}}]}]}}})).actions((e=>({setSelectedFeature(t){e.session.apolloSetSelectedFeature(t)},afterAttach(){u.addDisposer(e,s.autorun((()=>{e.lgv.initialized&&!e.regionCannotBeRendered()&&(e.session.apolloDataStore.loadFeatures(e.regions),e.lgv.bpPerPx<=3&&e.session.apolloDataStore.loadRefSeq(e.regions))}),{name:"LinearApolloDisplayLoadFeatures",delay:1e3}))}})))}(0,t);return i.named("LinearApolloDisplayLayouts").props({featuresMinMaxLimit:5e5}).volatile((()=>({seenFeatures:s.observable.map()}))).views((e=>({get featuresMinMax(){const{assemblyManager:t}=e.session;return e.lgv.displayedRegions.map((r=>{const o=t.get(r.assemblyName);let i,a;const{end:s,refName:u,start:c}=r;for(const[,t]of e.seenFeatures)u!==o?.getCanonicalRefName(t.refSeq)||!n.doesIntersect2(c,s,t.min,t.max)||t.length>e.featuresMinMaxLimit||(void 0===i&&({min:i}=t),void 0===a&&({max:a}=t),t.minWithChildren<i&&({min:i}=t),t.maxWithChildren>a&&({max:a}=t));if(void 0!==i&&void 0!==a)return[i,a]}))}}))).actions((e=>({addSeenFeature(t){e.seenFeatures.set(t._id,t)},deleteSeenFeature(t){e.seenFeatures.delete(t)}}))).views((e=>({get featureLayouts(){const{assemblyManager:t}=e.session;return e.lgv.displayedRegions.map(((r,o)=>{const i=t.get(r.assemblyName),a=new Map,s=e.featuresMinMax[o];if(!s)return a;const[c,l]=s,f=[],{end:d,refName:h,start:p}=r;for(const[t,r]of e.seenFeatures.entries()){if(!u.isAlive(r)){e.deleteSeenFeature(t);continue}if(h!==i?.getCanonicalRefName(r.refSeq)||!n.doesIntersect2(p,d,r.min,r.max))continue;const o=tP(r).getRowCount(r,e.lgv.bpPerPx);let s=0,m=!1;for(;!m;){let e=f.slice(s,s+o);if(e.length<o){for(let t=0;t<o-e.length;t++){const e=f.length;f[e]=Array.from({length:l-c}),a.set(e,[])}e=f.slice(s,s+o)}if(e.map((e=>{const t=r.max-r.min==0?r.min+1:r.max;let n=r.min-c,o=t-c;return r.min-c<0&&(n=0,o=t-r.min),e.slice(n,o).some(Boolean)})).some(Boolean))s+=1;else{for(let e=s;e<s+o;e++){let t=r.min-c,n=r.max-c;r.min-c<0&&(t=0,n=r.max-r.min),f[e].fill(!0,t,n);const o=a.get(e);o?.push([e-s,r])}m=!0}}}return a}))},getFeatureLayoutPosition(e){const{featureLayouts:t}=this;for(const[n,r]of t.entries())for(const[t,o]of r)for(const[r,i]of o)if(0===r){if(e._id===i._id)return{layoutIndex:n,layoutRow:t,featureRow:r};if(i.hasDescendant(e._id)){const r=tP(i).getRowForFeature(i,e);if(void 0!==r)return{layoutIndex:n,layoutRow:t,featureRow:r}}}}}))).views((e=>({get highestRow(){return Math.max(0,...e.featureLayouts.map((e=>Math.max(...e.keys()))))}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(e.lgv.initialized&&!e.regionCannotBeRendered())for(const t of e.regions){const r=e.session.apolloDataStore.assemblies.get(t.assemblyName),o=r?.getByRefName(t.refName),i=o?.features;if(i)for(const[,r]of i)n.doesIntersect2(t.start,t.end,r.min,r.max)&&!e.seenFeatures.has(r._id)&&e.addSeenFeature(r)}}),{name:"LinearApolloDisplaySetSeenFeatures",delay:1e3}))}})))}(0,t).named("LinearApolloDisplayRendering").props({sequenceRowHeight:15,apolloRowHeight:20,detailsMinHeight:200,detailsHeight:200,lastRowTooltipBufferHeight:40,isShown:!0}).volatile((()=>({canvas:null,overlayCanvas:null,collaboratorCanvas:null,seqTrackCanvas:null,seqTrackOverlayCanvas:null,theme:void 0}))).views((e=>({get featuresHeight(){return(e.highestRow+1)*e.apolloRowHeight+e.lastRowTooltipBufferHeight}}))).actions((e=>({toggleShown(){e.isShown=!e.isShown},setDetailsHeight(t){e.detailsHeight=e.isShown?Math.max(Math.min(t,e.height-100),Math.min(e.height,e.detailsMinHeight)):t},setCanvas(t){e.canvas=t},setOverlayCanvas(t){e.overlayCanvas=t},setCollaboratorCanvas(t){e.collaboratorCanvas=t},setSeqTrackCanvas(t){e.seqTrackCanvas=t},setSeqTrackOverlayCanvas(t){e.seqTrackOverlayCanvas=t},setTheme(t){e.theme=t},afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.collaboratorCanvas?.getContext("2d");if(t){t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.featuresHeight);for(const n of e.session.collaborators){const{locations:r}=n;if(0===r.length)continue;let o=0;for(const i of e.lgv.displayedRegions){for(const a of r){if(a.refSeq!==i.refName)continue;const{end:r,refSeq:s,start:u}=a,c=e.lgv.bpToPx({refName:s,coord:u,regionNumber:o});if(!c)continue;const l=c.offsetPx-e.lgv.offsetPx,f=(r-u)/e.lgv.bpPerPx;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(l,1,f,100),t.fillStyle="black",t.fillText(n.name,l+1,11,f-2)}o++}}}}),{name:"LinearApolloDisplayRenderCollaborators"}))}})))}(0,t);return i.actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((async()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;if(e.lgv.bpPerPx>3)return;const t=e.seqTrackCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.lgv.bpPerPx<=1?125:95);const r=e.lgv.bpPerPx<=1?[3,2,1,0,0,-1,-2,-3]:[3,2,1,-1,-2,-3];let o=0;for(const n of r){const r=e.theme?.palette.framesCDS.at(n)?.main;r&&(t.fillStyle=r,t.fillRect(0,o,e.lgv.dynamicBlocks.totalWidthPx,e.sequenceRowHeight)),o+=e.sequenceRowHeight}for(const[r,o]of e.regions.entries()){const i=e.session.apolloDataStore.getBackendDriver(o.assemblyName);if(!i)throw new Error("Failed to get the backend driver");const{seq:a}=await i.getSequence(o);if(!a)return;for(const[i,s]of[...a].entries()){const u=(e.lgv.bpToPx({refName:o.refName,coord:o.start+i,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,c=3/e.lgv.bpPerPx,l=e.lgv.displayedRegions[r].reversed?u-c:u;for(let n=2;n>=0;n--)(o.start+i)%3===n&&SI(t,e.lgv.bpPerPx,l,e.sequenceRowHeight*(2-n),c,e.sequenceRowHeight,a,i,!1);if(e.lgv.bpPerPx<=1){const a=(e.lgv.bpToPx({refName:o.refName,coord:o.start+i,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,u=1/e.lgv.bpPerPx,c=e.lgv.displayedRegions[r].reversed?a-u:a;t.beginPath(),t.fillStyle=bI(s,e.theme),t.rect(c,3*e.sequenceRowHeight,u,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),wI(t,c,u,s,3*e.sequenceRowHeight));const l=n.revcom(s);t.beginPath(),t.fillStyle=bI(l,e.theme),t.rect(c,4*e.sequenceRowHeight,u,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),wI(t,c,u,l,4*e.sequenceRowHeight))}for(let n=0;n<=2;n++)(o.start+i)%3===n&&SI(t,e.lgv.bpPerPx,l,e.sequenceRowHeight*((e.lgv.bpPerPx<=1?5:3)+n),c,e.sequenceRowHeight,a,i,!0)}}}),{name:"LinearApolloDisplayRenderSequence"}))}})))}(0,t).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{const{canvas:t,featureLayouts:r,featuresHeight:o,lgv:i}=e;if(!i.initialized||e.regionCannotBeRendered())return;const{displayedRegions:a,dynamicBlocks:s}=i,u=t?.getContext("2d");if(u){u.clearRect(0,0,s.totalWidthPx,o);for(const[t,o]of r.entries()){const r=a[t];for(const[i,a]of o.entries())for(const[o,s]of a)o>0||n.doesIntersect2(r.start,r.end,s.min,s.max)&&tP(s).draw(u,s,i,e,t)}}}),{name:"LinearApolloDisplayRenderFeatures"}))}})))}(0,t);return i.named("LinearApolloDisplayMouseEvents").volatile((()=>({apolloDragging:null,cursor:void 0,apolloHover:void 0}))).views((e=>({getMousePosition(t){const n=function(e,t){const n=e.currentTarget,{clientX:r,clientY:o}=e,{left:i,top:a}=n.getBoundingClientRect(),s=r-i,u=o-a,{coord:c,index:l,refName:f}=t.pxToBp(s);return{x:s,y:u,refName:f,bp:c,regionNumber:l}}(t,e.lgv),{bp:r,regionNumber:o,y:i}=n,a=Math.floor(i/e.apolloRowHeight),s=e.featureLayouts[o].get(a);if(!s)return n;const u=s.find((e=>r>=e[1].min&&r<=e[1].max));if(!u)return n;const[c,l]=u,f=tP(l),d=f.getFeatureFromLayout(l,r,c);return d?{...n,featureAndGlyphUnderMouse:{feature:d,topLevelFeature:l,glyph:f}}:n}}))).actions((e=>({continueDrag(t,n){if(!e.apolloDragging)throw new Error("continueDrag() called with no current drag in progress");n.stopPropagation(),e.apolloDragging={...e.apolloDragging,current:t}},setDragging(t){e.apolloDragging=t??null}}))).actions((e=>({setApolloHover(t){e.apolloHover=t},setCursor(t){e.cursor!==t&&(e.cursor=t)}}))).actions((()=>({onClick(){}})))}(0,t).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.seqTrackOverlayCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.lgv.bpPerPx<=1?125:95);const{apolloHover:r,lgv:o,regions:i,sequenceRowHeight:a,theme:s}=e;if(!r)return;const{feature:u}=r;for(const[e,r]of i.entries())if("CDS"===u.type){const i=u.parent;if(!i)continue;const c=i.cdsLocations.find((e=>u.min===e.at(0)?.min&&u.max===e.at(-1)?.max));if(!c)continue;for(const i of c){const c=kI(n.getFrame(i.min,i.max,u.strand??1,i.phase),o.bpPerPx),l=(o.bpToPx({refName:r.refName,coord:i.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,f=(i.max-i.min)/o.bpPerPx;AI(t,s,o.displayedRegions[e].reversed?l-f:l,a,c,f)}}else{const n=EI(u.strand,o.bpPerPx),i=(o.bpToPx({refName:r.refName,coord:u.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,c=u.length/o.bpPerPx;AI(t,s,o.displayedRegions[e].reversed?i-c:i,a,n,c)}}),{name:"LinearApolloDisplayRenderSeqHighlight"}))}})))}(0,t);return i.views((e=>({contextMenuItems(t){const{apolloHover:n}=e;if(!n||!t)return[];const{topLevelFeature:r}=n;return tP(r).getContextMenuItems(e)}}))).actions((e=>({startDrag(t,n,r){e.apolloDragging={start:t,current:t,feature:n,edge:r}},endDrag(){if(!e.apolloDragging)throw new Error("endDrag() called with no current drag in progress");const{current:t,edge:n,feature:r,start:o}=e.apolloDragging;if(Math.abs(t.x-o.x)<=4)return e.setDragging(),void e.setCursor();const{displayedRegions:i}=e.lgv,a=e.getAssemblyId(i[o.regionNumber].assemblyName);let s;if("max"===n){const e=r._id;s=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[e],featureId:e,oldEnd:r.max,newEnd:t.bp,assembly:a})}else{const e=r._id;s=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[e],featureId:e,oldStart:r.min,newStart:t.bp,assembly:a})}e.changeManager.submit(s),e.setDragging(),e.setCursor()}}))).actions((e=>({onMouseDown(t){const n=e.getMousePosition(t);xI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseDown(e,n,t)},onMouseMove(t){const n=e.getMousePosition(t);if(e.apolloDragging)return e.setCursor("col-resize"),void e.continueDrag(n,t);xI(n)?n.featureAndGlyphUnderMouse.glyph.onMouseMove(e,n,t):(e.setApolloHover(),e.setCursor())},onMouseLeave(t){e.setDragging(),e.setApolloHover();const n=e.getMousePosition(t);xI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseLeave(e,n,t)},onMouseUp(t){const n=e.getMousePosition(t);xI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseUp(e,n,t),e.apolloDragging&&e.endDrag()}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.overlayCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.featuresHeight);const{apolloDragging:n,apolloHover:r}=e;if(!r)return;const{glyph:o}=r;o.drawHover(e,t),o.drawTooltip(e,t),n&&tP(n.feature.topLevelFeature).drawDragPreview(e,t)}),{name:"LinearApolloDisplayRenderMouseoverAndDrag"}))}})))}(0,t).props({tabularEditor:u.types.optional(_P,{})}).named("LinearApolloDisplay")}var wP={},SP=Hu.exports;Object.defineProperty(wP,"__esModule",{value:!0});var xP=wP.default=void 0;xP=wP.default=(0,SP(Wu).default)((0,N.default.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");var kP={},EP=Hu.exports;Object.defineProperty(kP,"__esModule",{value:!0});var AP=kP.default=void 0;AP=kP.default=(0,EP(Wu).default)((0,N.default.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");var CP={},OP=Hu.exports;Object.defineProperty(CP,"__esModule",{value:!0});var RP=CP.default=void 0;RP=CP.default=(0,OP(Wu).default)((0,N.default.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}),"Error");const NP=m.makeStyles()((e=>({canvasContainer:{position:"relative",left:0},canvas:{position:"absolute",left:0},ellipses:{textOverflow:"ellipsis",overflow:"hidden"},avatar:{position:"absolute",color:e.palette.warning.light,backgroundColor:e.palette.warning.contrastText}}))),IP=p.observer((function(e){const t=c.useTheme(),{model:r}=e,{apolloRowHeight:o,contextMenuItems:i,cursor:a,featuresHeight:s,isShown:u,onMouseDown:l,onMouseLeave:f,onMouseMove:p,onMouseUp:m,regionCannotBeRendered:g,session:y,setCanvas:v,setCollaboratorCanvas:_,setOverlayCanvas:b,setSeqTrackCanvas:w,setSeqTrackOverlayCanvas:S,setTheme:x}=r,{classes:k}=NP(),E=n.getContainingView(r);d.useEffect((()=>{x(t)}),[t,x]);const[A,C]=d.useState(),[O,R]=d.useState([]),N=g();if(!u)return null;const{assemblyManager:I}=y;return M.default.createElement(M.default.Fragment,null,E.bpPerPx<=3?M.default.createElement("div",{className:k.canvasContainer,style:{width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95}},M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),w(e)},width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95,className:k.canvas,"data-testid":"seqTrackCanvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),S(e)},width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95,className:k.canvas,"data-testid":"seqTrackOverlayCanvas"})):null,M.default.createElement("div",{className:k.canvasContainer,style:{width:E.dynamicBlocks.totalWidthPx,height:s},onContextMenu:e=>{if(e.preventDefault(),O.length>0)R([]);else{const t=[e.clientX,e.clientY];C(t),R(i(t))}}},N?M.default.createElement(c.Alert,{severity:"warning",classes:{message:k.ellipses}},M.default.createElement(c.Tooltip,{title:N},M.default.createElement("div",null,N))):M.default.createElement(M.default.Fragment,null,M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),_(e)},width:E.dynamicBlocks.totalWidthPx,height:s,className:k.canvas,"data-testid":"collaboratorCanvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),v(e)},width:E.dynamicBlocks.totalWidthPx,height:s,className:k.canvas,"data-testid":"canvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),b(e)},width:E.dynamicBlocks.totalWidthPx,height:s,onMouseMove:p,onMouseLeave:f,onMouseDown:l,onMouseUp:m,className:k.canvas,style:{cursor:a??"default"},"data-testid":"overlayCanvas"}),E.displayedRegions.flatMap(((e,t)=>{const i=I.get(e.assemblyName);return[...y.apolloDataStore.checkResults.values()].filter((t=>i?.isValidRefName(t.refSeq)&&i.getCanonicalRefName(t.refSeq)===e.refName&&n.doesIntersect2(e.start,e.end,t.start,t.end))).map((n=>{const i=(E.bpToPx({refName:e.refName,coord:n.start,regionNumber:t})?.offsetPx??0)-E.offsetPx,[a]=n.ids;if(!a)return null;const{topLevelFeature:s}=a,u=parent?r.getFeatureLayoutPosition(s)?.layoutRow??0:0;return M.default.createElement(c.Tooltip,{key:n._id,title:n.message},M.default.createElement(c.Avatar,{className:k.avatar,style:{top:u*o,left:i,height:o,width:o}},M.default.createElement(RP,null)))}))})),M.default.createElement(h.Menu,{open:O.length>0,onMenuItemClick:(e,t)=>{t(),R([])},onClose:()=>{R([])},TransitionProps:{onExit:()=>{R([])}},anchorReference:"anchorPosition",anchorPosition:A?{top:A[1],left:A[0]}:void 0,style:{zIndex:t.zIndex.tooltip},menuItems:O}))))})),PP=p.observer((function({model:e}){const{height:t}=e;return M.default.createElement("div",{style:{position:"absolute",left:0,top:t/2,width:"100%"}},M.default.createElement("hr",{style:{margin:0,top:0,color:"black"}}))})),TP=m.makeStyles()((e=>({shading:{background:c.alpha(e.palette.primary.main,.2),overflowY:"scroll",overflowX:"hidden"},details:{background:e.palette.background.paper},accordionControl:{height:12,width:"100%","&:hover":{background:e.palette.action.hover},display:"flex",alignItems:"center",justifyContent:"center"},accordionRoot:{background:e.palette.divider},resizeHandle:{width:"100%",height:4,position:"absolute",cursor:"row-resize",zIndex:100},expandIcon:{},title:{userSelect:"none"},alertContainer:{display:"flex",alignItems:"center",justifyContent:"center"}}))),MP=({onResize:e})=>{const{classes:t}=TP(),n=d.useCallback((t=>{t.stopPropagation(),t.preventDefault(),e(t.movementY)}),[e]),r=d.useCallback((e=>{e.stopPropagation(),e.preventDefault(),globalThis.removeEventListener("mousemove",n),globalThis.removeEventListener("mouseup",r),globalThis.removeEventListener("mouseleave",r)}),[n]);return M.default.createElement("div",{onMouseDown:e=>{e.stopPropagation(),globalThis.addEventListener("mousemove",n),globalThis.addEventListener("mouseup",r),globalThis.addEventListener("mouseleave",r)},onClick:e=>{e.stopPropagation(),e.preventDefault()},className:t.resizeHandle})},jP=p.observer((function({onClick:e,onResize:t,open:n,title:r}){const{classes:o}=TP();return M.default.createElement("div",{className:o.accordionRoot},n&&t?M.default.createElement(MP,{onResize:t}):null,M.default.createElement("div",{className:o.accordionControl,onClick:e},M.default.createElement(n?xP:AP,{className:o.expandIcon}),r?M.default.createElement(c.Typography,{className:o.title,variant:"caption",component:"span"},r):null))})),FP=p.observer((function({model:e,...t}){const r=n.getSession(e),{ontologyManager:o}=r.apolloDataStore,{featureTypeOntology:i}=o,a=i?.dataStore,{classes:s}=TP(),{detailsHeight:u,graphical:l,height:f,isShown:h,selectedFeature:p,table:m,tabularEditor:g,toggleShown:y}=e,v=d.useRef(null);d.useEffect((()=>{!function(e,t){const{apolloRowHeight:n,selectedFeature:r}=e;if(t.current&&r){const o=e.getFeatureLayoutPosition(r);o&&t.current.scroll({top:(o.layoutRow+o.featureRow)*n,behavior:"smooth"})}}(e,v)}),[e,p]);const _=t=>{e.setDetailsHeight(u-t)};if(!a)return M.default.createElement("div",{className:s.alertContainer},M.default.createElement(c.Alert,{severity:"error"},"Could not load feature type ontology."));if(l&&m){const n=g.isShown?u:0,r=h?f-u-24:0;return M.default.createElement("div",{style:{height:f}},M.default.createElement(jP,{open:h,title:"Graphical",onClick:y}),M.default.createElement("div",{className:s.shading,ref:v,style:{height:r}},M.default.createElement(IP,{model:e,...t})),M.default.createElement(jP,{title:"Table",open:g.isShown,onClick:g.togglePane,onResize:_}),M.default.createElement("div",{className:s.details,style:{height:n}},M.default.createElement(vP,{model:e})))}return l?M.default.createElement("div",{className:s.shading,ref:v,style:{height:f}},M.default.createElement(IP,{model:e,...t})):M.default.createElement("div",{className:s.details,style:{height:f}},M.default.createElement(vP,{model:e}))}));var LP={},DP=Hu.exports;Object.defineProperty(LP,"__esModule",{value:!0});var qP=LP.default=void 0;qP=LP.default=(0,DP(Wu).default)((0,N.default.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"}),"Save");const BP=u.types.model("JobsManager",{}).views((e=>({get jobStatusWidget(){const{widgets:t}=n.getSession(e);let r=t.get("JobsList");return r||(r=n.getSession(e).addWidget("JobsListWidget","JobsList")),r}}))).actions((e=>({update(t,n,r){e.jobStatusWidget.updateJobStatusMessage(t,n),r&&e.jobStatusWidget.updateJobProgressPct(t,r)},abortJob(t,r){const o=n.getSession(e);if(n.isSessionModelWithWidgets(o)){o.showWidget(e.jobStatusWidget),e.jobStatusWidget.updateJobStatusMessage(t,r??"Aborted unexpectedly");const n=e.jobStatusWidget.jobs.findIndex((e=>e.name===t));e.jobStatusWidget.addAbortedJob({...e.jobStatusWidget.jobs[n]}),e.jobStatusWidget.removeJob(t),o.notify("Job aborted","info")}},runJob(t){const r=n.getSession(e);n.isSessionModelWithWidgets(r)&&(r.showWidget(e.jobStatusWidget),e.jobStatusWidget.addJob(t))},done(t){const r=n.getSession(e);n.isSessionModelWithWidgets(r)&&(r.showWidget(e.jobStatusWidget),e.jobStatusWidget.removeJob(t.name),e.jobStatusWidget.addFinishedJob({name:t.name,statusMessage:"All operations successful",progressPct:100,cancelCallback:t.cancelCallback}))}})));class UP{clientStore;constructor(e){this.clientStore=e}}class zP{dataStore;constructor(e){this.dataStore=e}recentChanges=[];async submit(e,t={}){const{addToRecents:r=!0,submitToBackend:o=!0,updateJobsManager:i=!1}=t,a=n.getSession(this.dataStore),s=new AbortController,{jobsManager:u}=n.getSession(this.dataStore),c={name:e.typeName,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{s.abort()}};i&&u.runJob(c);const l=await nr.validationRegistry.frontendPreValidate(e);if(!l.ok){const e=`Pre-validation failed: "${l.resultsMessages}"`;return i&&u.abortJob(c.name,e),void a.notify(e,"error")}try{await e.execute(this.dataStore)}catch(e){return i&&u.abortJob(c.name,String(e)),console.error(e),void a.notify(String(e),"error")}if((await nr.validationRegistry.frontendPostValidate(e,this.dataStore)).ok||await this.revert(e),o){i&&u.update(c.name,"Submitting to driver");const{collaborationServerDriver:n,getBackendDriver:r}=this.dataStore,o=z.isAssemblySpecificChange(e)?r(e.assembly):n;let s;try{s=await o.submitChange(e,t)}catch(t){return i&&u.abortJob(c.name,String(t)),console.error(t),a.notify(String(t),"error"),void await this.revert(e,!1)}if(!s.ok){const t=`Post-validation failed: "${l.resultsMessages}"`;return i&&u.abortJob(c.name,t),a.notify(t,"error"),void await this.revert(e,!1)}e.notification&&a.notify(e.notification,"success")}r&&this.recentChanges.push(e),i&&u.done(c)}async revert(e,t=!0){const n=e.getInverse();return this.submit(n,{submitToBackend:t,addToRecents:!1})}async revertLastChange(){const e=this.recentChanges.pop();if(e)return this.revert(e);n.getSession(this.dataStore).notify("No changes to undo!","warning")}}class GP extends UP{inFlight=new Map;async fetch(e,t,n){return e.getFetcher({locationType:"UriLocation",uri:t.toString()})(t,n)}async searchFeatures(e,t){const n=this.clientStore.getInternetAccount(t[0]),{baseURL:r}=n,o=new URL("features/searchFeatures",r),i=new URLSearchParams({assemblies:t.join(","),term:e});o.search=i.toString();const a=o.toString(),s=await this.fetch(n,a);if(!s.ok){const e=await fd(s,"searchFeatures failed");throw new Error(e)}return s.json()}async getFeatures(e){const{assemblyName:t,end:o,refName:i,start:a}=e,{assemblyManager:s}=n.getSession(this.clientStore),u=s.get(t);if(!u)throw new Error(`Could not find assembly with name "${t}"`);const{ids:c}=r.getConf(u,["sequence","metadata"]),l=c[i];if(!l)throw new Error(`Could not find refSeq "${i}"`);const f=this.clientStore.getInternetAccount(t),{baseURL:d}=f,h=new URL("features/getFeatures",d),p=new URLSearchParams({refSeq:l,start:String(a),end:String(o)});h.search=p.toString();const m=h.toString(),g=await this.fetch(f,m);if(!g.ok){const e=await fd(g,"getFeatures failed");throw new Error(e)}return this.checkSocket(t,i,f),g.json()}checkSocket(e,t,n){const{socket:r}=n,o=n.retrieveToken(),i=`${e}-${t}`,a=new zP(this.clientStore);r.hasListeners(i)||r.on(i,(async e=>{if(n.setLastChangeSequenceNumber(Number(e.changeSequence)),e.userSessionId!==o&&e.channel===i){const t=z.Change.fromJSON(e.changeInfo);await a.submit(t,{submitToBackend:!1})}}))}async getSequence(e){const t=`${e.refName}:${e.start}-${e.end}`,o=this.inFlight.get(t),{assemblyName:i,end:a,refName:s,start:u}=e,{assemblyManager:c}=n.getSession(this.clientStore),l=c.get(i);if(!l)throw new Error(`Could not find assembly with name "${i}"`);const{ids:f}=r.getConf(l,["sequence","metadata"]),d=f[s];if(!d)throw new Error(`Could not find refSeq "${s}"`);if(o)return{seq:await o,refSeq:d};let h=this.clientStore.assemblies.get(i);h||(h=this.clientStore.addAssembly(i));let p=h.refSeqs.get(d);p||(p=h.addRefSeq(d,s));const m=p.getSequence(u,a);if(m.length===a-u)return{seq:m,refSeq:d};const g=this.clientStore.getInternetAccount(i),{baseURL:y}=g,v=new URL("sequence",y),_=new URLSearchParams({refSeq:d,start:String(u),end:String(a)});v.search=_.toString();const b=v.toString(),w=this.getSeqFromServer(g,b,p,u,a);this.inFlight.set(t,w);const S=await w;return this.checkSocket(i,s,g),this.inFlight.delete(t),{seq:S,refSeq:d}}async getSeqFromServer(e,t,n,r,o){const i=await this.fetch(e,t);if(!i.ok){let e;try{e=await i.text()}catch{e=""}throw new Error(`getSequence failed: ${i.status} (${i.statusText})${e?` (${e})`:""}`)}const a=await i.text();return n.addSequence({sequence:a,start:r,stop:o}),a}async getRefNameAliases(e){const{assemblyManager:t}=n.getSession(this.clientStore);if(!t.get(e))throw new Error(`Could not find assembly with name "${e}"`);const r=this.clientStore.getInternetAccount(e),{baseURL:o}=r,i=new URL("refSeqs",o),a=new URLSearchParams({assembly:e});i.search=a.toString();const s=i.toString(),u=await this.fetch(r,s);if(!u.ok){let e;try{e=await u.text()}catch{e=""}throw new Error(`getRefNameAliases failed: ${u.status} (${u.statusText})${e?` (${e})`:""}`)}return(await u.json()).map((e=>({refName:e.name,aliases:[e._id,...e.aliases],uniqueId:`alias-${e._id}`})))}async getRegions(e){const{assemblyManager:t}=n.getSession(this.clientStore);if(!t.get(e))throw new Error(`Could not find assembly with name "${e}"`);const r=this.clientStore.getInternetAccount(e),{baseURL:o}=r,i=new URL("refSeqs",o),a=new URLSearchParams({assembly:e});i.search=a.toString();const s=i.toString(),u=await this.fetch(r,s);if(!u.ok){let e;try{e=await u.text()}catch{e=""}throw new Error(`getRegions failed: ${u.status} (${u.statusText})${e?` (${e})`:""}`)}return(await u.json()).map((e=>({refName:e.name,start:0,end:e.length})))}getAssemblies(e){const{assemblyManager:t}=n.getSession(this.clientStore);return t.assemblies.filter((t=>{const n=r.getConf(t,["sequence","metadata"]);return!(!(n&&n.apollo&&n.internetAccountConfigId)||e&&n.internetAccountConfigId!==e)}))}async submitChange(e,t={}){const{internetAccountId:n}=t,r=this.clientStore.getInternetAccount("assembly"in e?e.assembly:void 0,n),{baseURL:o}=r,i=new URL("changes",o).href,a=await this.fetch(r,i,{method:"POST",body:JSON.stringify(e.toJSON()),headers:{"Content-Type":"application/json"}});if(!a.ok){const e=await fd(a,"submitChange failed");throw new Error(e)}const s=new nr.ValidationResultSet;return a.ok||(s.ok=!1),s}}class HP extends UP{async getFeatures(){return[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,i=this.clientStore.assemblies.get(t);if(!i)return{seq:"",refSeq:r};const a=i.refSeqs.get(r);return a?{seq:a.getSequence(o,n),refSeq:r}:{seq:"",refSeq:r}}async getRefNameAliases(e){const t=this.clientStore.assemblies.get(e),n=[];if(!t)return n;for(const[,e]of t.refSeqs)n.push({refName:e.name,aliases:[e._id],uniqueId:`alias-${e._id}`});return n}async getRegions(e){const t=this.clientStore.assemblies.get(e);if(!t)return[];const n=[];for(const[,r]of t.refSeqs)n.push({assemblyName:e,refName:r.name,start:r.sequence[0].start,end:r.sequence[0].stop});return n}getAssemblies(){const{assemblyManager:e}=n.getSession(this.clientStore);return e.assemblies.filter((e=>{const t=r.getConf(e,["sequence","metadata"]);return Boolean(t&&t.apollo&&!t.file&&!t.internetAccountConfigId)}))}async submitChange(e,t={}){return new nr.ValidationResultSet}async searchFeatures(e,t){return[]}}class WP extends UP{async loadAssembly(e){const{assemblyManager:t}=n.getSession(this.clientStore),o=t.get(e);if(!o)throw new Error(`Assembly ${e} not found`);const{file:i}=r.getConf(o,["sequence","metadata"]),a=require("node:fs");return cd(e,await a.promises.readFile(i,"utf8"),this.clientStore)}async getAssembly(e){let t=this.clientStore.assemblies.get(e);return t||(t=await this.loadAssembly(e)),t}async getRefNameAliases(e){const t=await this.getAssembly(e),n=[];for(const[,e]of t.refSeqs)n.push({refName:e.name,aliases:[e._id],uniqueId:`alias-${e._id}`});return n}async getFeatures(e){return await this.getAssembly(e.assemblyName),[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,i=(await this.getAssembly(t)).refSeqs.get(r);if(!i)throw new Error(`refSeq ${r} not found in client data store`);return{seq:i.getSequence(o,n),refSeq:r}}async getRegions(e){const t=await this.getAssembly(e),n=[];for(const[,r]of t.refSeqs)n.push({assemblyName:e,refName:r.name,start:r.sequence[0].start,end:r.sequence[0].stop});return n}getAssemblies(){const{assemblyManager:e}=n.getSession(this.clientStore);return e.assemblies.filter((e=>{const t=r.getConf(e,["sequence","metadata"]);return Boolean(t&&t.apollo&&!t.internetAccountConfigId&&t.file)}))}async submitChange(e){if(!z.isAssemblySpecificChange(e))throw new Error(`Cannot use this type of change with local file: "${e.typeName}"`);const{assemblyManager:t}=n.getSession(this.clientStore),o=t.get(e.assembly);if(!o)throw new Error(`Could not find assembly with name "${e.assembly}"`);const{file:i}=r.getConf(o,["sequence","metadata"]),a=this.clientStore.assemblies.get(e.assembly);if(!a)throw new Error(`Could not find assembly in client with name "${e.assembly}"`);const s=new Set(...a.refSeqs.keys()),{checkResults:c}=this.clientStore;for(const e of c.values())s.has(e.refSeq)&&c.delete(e._id);const l=await ld(a);this.clientStore.addCheckResults(l);const f=[{directive:"gff-version",value:"3"}];for(const[,e]of a.refSeqs)f.push({directive:"sequence-region",value:`${e.name} 1 ${e.sequence[0].stop}`});for(const e of a.comments)f.push({comment:e});for(const[,e]of a.refSeqs){const{features:t}=e;for(const[,e]of t)f.push(nr.makeGFF3Feature(u.getSnapshot(e)))}for(const[,e]of a.refSeqs){const[t]=e.sequence,n=nr.splitStringIntoChunks(t.sequence,80).join("\n");f.push({id:e.name,description:e.description,sequence:n})}const d=ud.formatSync(f),h=require("node:fs");return await h.promises.writeFile(i,d,"utf8"),new nr.ValidationResultSet}async searchFeatures(e,t){return[]}}function VP(e,t){const o=new AbortController,{signal:i}=o,a=e.evaluateExtensionPoint("Apollo-extendAnnotationFeature",QN.AnnotationFeatureModel),c=function(e){return u.types.model("ClientDataStore",{typeName:u.types.optional(u.types.literal("Client"),"Client"),assemblies:u.types.map(QN.ApolloAssembly),checkResults:u.types.map(QN.CheckResult),ontologyManager:u.types.optional(_R,{})}).views((t=>({get internetAccounts(){return u.getRoot(t).internetAccounts},get pluginConfiguration(){return u.getRoot(t).jbrowse.configuration.ApolloPlugin},getFeature:n=>u.resolveIdentifier(e,t.assemblies,n)}))).actions((e=>({addAssembly(t,n){const r={_id:t,refSeqs:{}};return n&&(r.backendDriverType=n),e.assemblies.put(r)},addFeature(t,n){const r=e.assemblies.get(t);if(!r)throw new Error(`Could not find assembly "${t}" to add feature "${n._id}"`);const o=r.refSeqs.get(n.refSeq);if(!o)throw new Error(`Could not find refSeq "${n.refSeq}" to add feature "${n._id}"`);o.features.put(n)},deleteFeature(t){const n=e.getFeature(t);if(!n)throw new Error(`Could not find feature "${t}" to delete`);const{_id:r,parent:o}=n;o?o.deleteChild(t):u.getParentOfType(n,QN.ApolloRefSeq).deleteFeature(r)},deleteAssembly(t){e.assemblies.delete(t)},addCheckResult(t){e.checkResults.put(t)},addCheckResults(t){for(const n of t)e.checkResults.has(n._id)||e.checkResults.put(n)},deleteCheckResult(t){e.checkResults.delete(t)}}))).volatile((e=>({changeManager:new zP(e),collaborationServerDriver:new GP(e),inMemoryFileDriver:new HP(e),desktopFileDriver:n.isElectron?new WP(e):void 0}))).actions((e=>({afterCreate(){u.addDisposer(e,s.autorun((()=>{const{ontologyManager:t,pluginConfiguration:n}=e,o=n.ontologies;for(const e of o||[]){const[n,o,i,a]=[r.readConfObject(e,"name"),r.readConfObject(e,"version"),r.readConfObject(e,"source"),r.readConfObject(e,"textIndexFields")];t.findOntology(n)||t.addOntology(n,o,i,{textIndexing:{indexFields:a}})}})))}}))).views((e=>({getBackendDriver(t){if(!t)return e.collaborationServerDriver;const o=n.getSession(e),{assemblyManager:i}=o,a=i.get(t);if(!a)return e.collaborationServerDriver;const{file:s,internetAccountConfigId:u}=r.getConf(a,["sequence","metadata"]);return n.isElectron&&s?e.desktopFileDriver:u?e.collaborationServerDriver:e.inMemoryFileDriver},getInternetAccount(t,o){if(!(t??o))throw new Error("Must provide either assemblyName or internetAccountId");let i=o;if(t&&!i){const{assemblyManager:o}=n.getSession(e),a=o.get(t);if(!a)throw new Error(`No assembly found with name ${t}`);({internetAccountConfigId:i}=r.getConf(a,["sequence","metadata"]))}const{internetAccounts:a}=e,s=a.find((e=>e.internetAccountId===i));if(!s)throw new Error(`No InternetAccount found with config id ${o}`);return s}}))).actions((e=>({loadFeatures:u.flow((function*(t){for(const n of t){const t=e.getBackendDriver(n.assemblyName);if(!t)return;const[r,o]=yield t.getFeatures(n);if(0===r.length)continue;const{assemblyName:i,refName:a}=n;let s=e.assemblies.get(i);s||(s=e.assemblies.put({_id:i,refSeqs:{}}));const[u]=r;let c=s.refSeqs.get(u.refSeq);c||(c=s.refSeqs.put({_id:u.refSeq,name:a,features:{}}));for(const e of r)c.features.has(e._id)||c.features.put(e);e.addCheckResults(o)}})),loadRefSeq:u.flow((function*(t){for(const n of t){const t=e.getBackendDriver(n.assemblyName);if(!t)return;const{refSeq:r,seq:o}=yield t.getSequence(n),{assemblyName:i,end:a,refName:s,start:u}=n;let c=e.assemblies.get(i);c||(c=e.assemblies.put({_id:i,refSeqs:{}}));let l=c.refSeqs.get(r);l||(l=c.refSeqs.put({_id:r,name:s,sequence:[]})),l.addSequence({start:u,stop:a,sequence:o})}}))})))}(a),l=t.props({apolloDataStore:u.types.optional(c,{typeName:"Client"}),apolloSelectedFeature:u.types.safeReference(a),jobsManager:u.types.optional(BP,{})}).extend((()=>{const e=s.observable.array([]);return{views:{get collaborators(){return e}},actions:{addOrUpdateCollaborator(t){const n=e.find((e=>e.id===t.id));n?n.locations=t.locations:e.push(t)}}}})).actions((e=>({apolloSetSelectedFeature(t){e.apolloSelectedFeature=t},addApolloTrackConfig(t,n){const o=`apollo_track_${t.name}`;e.tracks.some((e=>e.trackId===o))||e.addTrackConf({type:"ApolloTrack",trackId:o,name:`Annotations (${r.getConf(t,"displayName")||t.name})`,assemblyNames:[t.name],textSearching:{textSearchAdapter:{type:"ApolloTextSearchAdapter",trackId:o,assemblyNames:[t.name],textSearchAdapterId:`apollo_search_${t.name}`,...n?{baseURL:{uri:n,locationType:"UriLocation"}}:{}}},displays:[{type:"LinearApolloDisplay",displayId:`${o}-LinearApolloDisplay`},{type:"SixFrameFeatureDisplay",displayId:`${o}-SixFrameFeatureDisplay`}]})},broadcastLocations(){const{internetAccounts:t}=u.getRoot(e),n=[];for(const t of e.views){if("LinearGenomeView"!==t.type)return;const e=t;if(e.initialized){const{dynamicBlocks:t}=e;t.forEach((e=>{if(void 0!==e.regionNumber){const{assemblyName:t,end:r,refName:o,start:i}=e;n.push({assemblyName:t,refName:o,start:i,end:r})}}))}}if(0===n.length){for(const e of t)"baseURL"in e&&e.postUserLocation([]);return}const r=[];for(const e of t)if("baseURL"in e){for(const e of n)r.push({assemblyId:e.assemblyName,refSeq:e.refName,start:e.start,end:e.end});e.postUserLocation(r)}}}))).actions((e=>({afterCreate:u.flow((function*(){const t=u.getSnapshot(e),{id:n,name:r}=t;u.applySnapshot(e,{name:r,id:n});const{internetAccounts:o,jbrowse:a}=u.getRoot(e);s.autorun((()=>{const t=[];for(const n of e.views){if("LinearGenomeView"!==n.type)return;const e=n;if(e.initialized){const{dynamicBlocks:n}=e;n.forEach((e=>{if(void 0!==e.regionNumber){const{assemblyName:n,end:r,refName:o,start:i}=e;t.push({assemblyName:n,refName:o,start:i,end:r})}}))}}if(0===t.length){for(const e of o)"baseURL"in e&&e.postUserLocation([]);return}const n=[];for(const e of o)if("baseURL"in e){for(const e of t)n.push({assemblyId:e.assemblyName,refSeq:e.refName,start:e.start,end:e.end});e.postUserLocation(n)}}),{name:"ApolloSession"});for(const n of o){if("ApolloInternetAccount"!==n.type)continue;const{baseURL:r}=n,o=new URL("jbrowse/config.json",r).href,s=n.getFetcher({locationType:"UriLocation",uri:o});let c,l;try{c=yield s(o,{signal:i})}catch(e){console.error(e);continue}if(c.ok){try{l=yield c.json()}catch(e){console.error(e);continue}u.applySnapshot(a,l),u.applySnapshot(e,t)}else{const e=yield fd(c,"Failed to fetch assemblies");console.error(e)}}})),beforeDestroy(){o.abort("destroying session model")}}))).views((e=>{const t=e.getTrackActionMenuItems;return{getTrackActionMenuItems(n){if("ApolloTrack"===n.type||"ReferenceSequenceTrack"===n.type)return t?.(n);const o=r.readConfObject(n,"trackId");return o.endsWith("-sessionTrack")?[...t?.(n)??[],{label:"Save track to Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=u.getRoot(e),i=u.getSnapshot(r);let a;a=nr.filterJBrowseConfig(i),0===Object.keys(a).length&&(a=void 0);const s={...u.getSnapshot(n),trackId:o.slice(0,o.length-13)};for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new nr.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:a,newJBrowseConfig:{...a,tracks:a?.tracks&&[...a.tracks,s]}}),{internetAccountId:r}=n;await e.apolloDataStore.changeManager.submit(t,{internetAccountId:r});const{notify:o}=e;o("Track added","success")}e.deleteTrackConf(n),r.addTrackConf(s)},icon:qP}]:[...t?.(n)??[],{label:"Remove track from Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=u.getRoot(e),i=u.getSnapshot(r);let a;a=nr.filterJBrowseConfig(i),0===Object.keys(a).length&&(a=void 0);const s=a?.tracks?.filter((e=>e.trackId!==o));for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new nr.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:a,newJBrowseConfig:{...a,tracks:s}}),{internetAccountId:r}=n;await e.apolloDataStore.changeManager.submit(t,{internetAccountId:r});const{notify:o}=e;o("Track removed","success")}e.deleteTrackConf(n),r.deleteTrackConf(n)},icon:qP}]}}}));return u.types.snapshotProcessor(l,{postProcessor(e){e.apolloSelectedFeature=void 0;const t=Object.fromEntries(Object.entries(e.apolloDataStore.assemblies).filter((([,e])=>"InMemoryFileDriver"===e.backendDriverType)));return e.apolloDataStore={typeName:"Client",assemblies:t,checkResults:{}},e}})}const $P={0:2,1:1,2:0},JP={3:0,4:1,5:2};function KP(e,t){const o=e.getPlugin("LinearGenomeViewPlugin"),{BaseLinearDisplay:i}=o.exports;return i.named("SixFrameFeatureDisplay").props({type:u.types.literal("SixFrameFeatureDisplay"),configuration:r.ConfigurationReference(t),apolloRowHeight:20,detailsMinHeight:200,showStartCodons:!1,showStopCodons:!0,showIntronLines:!0}).volatile((()=>({apolloFeatureUnderMouse:void 0,apolloRowUnderMouse:void 0}))).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...k.getParentRenderProps(e),config:t.renderer})}})).views((e=>({get regions(){let t;try{({blockDefinitions:t}=e)}catch{return[]}return t.contentBlocks.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))},regionCannotBeRendered(){const t=n.getContainingView(e);if(t&&t.bpPerPx>=200)return"Zoom in to see annotations"},get session(){return n.getSession(e)}}))).actions((e=>{let t=[];return{afterAttach(){u.addDisposer(e,s.autorun((()=>{const r=n.getSession(e);if(n.getContainingView(e).initialized){if(e.regionCannotBeRendered())return;const n=[],o=[];for(const r of e.blockDefinitions.contentBlocks)n.push(r.key),t.includes(r.key)||o.push(r);r.apolloDataStore.loadFeatures(o.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))),r.apolloDataStore.loadRefSeq(o.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))),t=n}}),{name:"SixFrameFeatureDisplay"}))}}})).views((e=>({get rendererTypeName(){return e.configuration.renderer.type},get changeManager(){return n.getSession(e).apolloDataStore.changeManager},get sequence(){const{regions:t}=e,r=n.getSession(e),o=new Map;for(const e of t){const t=r.apolloDataStore.assemblies.get(e.assemblyName),n=t?.getByRefName(e.refName),i=n?.getSequence(e.start,e.end);o.set(e.start,i??"")}return o},get features(){const{regions:t}=e,r=n.getSession(e),o=new Map;for(const e of t){const t=r.apolloDataStore.assemblies.get(e.assemblyName),n=t?.getByRefName(e.refName);let i=o.get(e.refName);i||(i=new Map,o.set(e.refName,i));for(const[t,r]of n?.features.entries()??new Map)e.start<r.end&&e.end>r.start&&i.set(t,r)}return o},get featuresMinMax(){const e={};for(const[t,n]of this.features||[]){let r,o;for(const[,e]of n)void 0===r&&({min:r}=e),void 0===o&&({max:o}=e),e.min<r&&({min:r}=e),e.max>o&&({max:o}=e);void 0!==r&&void 0!==o&&(e[t]=[r,o])}return e},get codonLayout(){const e=new Map;let t="",r=0;for(const[e,n]of this.sequence||[])n&&(t||(r=e),t+=n);for(let o=0;o<6;o++){const i=[],a=[],s=o in JP;let u,c,l;s?(u=(t.length+r)%3,c=(JP[o]+u+3)%3,l=n.reverse(t).slice(c)):(u=3-r%3,c=($P[o]+u+3)%3,l=t.slice(c));for(let e=0;e<l.length;e+=3){const t=l.slice(e,e+3),o=s?n.reverse(n.revcom(t)):t,u=s?r+l.length-(3+e):r+e+c;n.defaultStarts.includes(o.toUpperCase())?i.push(u):n.defaultStops.includes(o.toUpperCase())&&a.push(u)}e.set(o,{starts:i,stops:a})}return e},get featureLayout(){const e=new Map;for(const[t,n]of this.features||[]){if(!n)continue;const r=this.featuresMinMax[t];if(!r)continue;const[o,i]=r,a=[],s=6;for(let t=0;t<s;t++){const t=a.length;a[t]=Array.from({length:i-o}),e.set(t,[])}for(const t of[...n.values()].sort(((e,t)=>{const{max:n,min:r}=e,{max:o,min:i}=t;return r-i||n-o})))for(const[,n]of t.children??new Map)if("mRNA"===n.type)for(const[,r]of n.children||new Map){let o;if("CDS"===r.type){let i;r.discontinuousLocations.length>0?({discontinuousLocations:i}=r):i=[r];for(const r of i){const i=r.start+3,a=r.end-3;for(const[s,{stops:u}]of this.codonLayout)if(s<3&&1===t.strand||s>=3&&-1===t.strand){const t=u.filter((e=>e>=i&&e<=a));if(0===t.length){o=s;const t=e.get(o);t?.push([n.featureId,r]);break}}}}}}return e},getAssemblyId(t){const{assemblyManager:r}=n.getSession(e),o=r.get(t);if(!o)throw new Error(`Could not find assembly named ${t}`);return o.name},get selectedFeature(){return n.getSession(e).apolloSelectedFeature},get setSelectedFeature(){return n.getSession(e).apolloSetSelectedFeature}}))).actions((e=>({setSelectedFeature(t){n.getSession(e).apolloSetSelectedFeature(t)},setApolloFeatureUnderMouse(t){e.apolloFeatureUnderMouse=t},setApolloRowUnderMouse(t){e.apolloRowUnderMouse=t},toggleShowStartCodons(){e.showStartCodons=!e.showStartCodons},toggleShowStopCodons(){e.showStopCodons=!e.showStopCodons},toggleShowIntronLines(){e.showIntronLines=!e.showIntronLines}}))).views((e=>({get highestRow(){return 0===e.featureLayout.size?0:Math.max(...e.featureLayout.keys())},get featuresHeight(){return(this.highestRow+1)*e.apolloRowHeight},get detailsHeight(){return Math.max(e.detailsMinHeight,e.height-this.featuresHeight)},trackMenuItems:()=>[{label:"Show start codons",type:"checkbox",checked:e.showStartCodons,onClick:()=>{e.toggleShowStartCodons()}},{label:"Show stop codons",type:"checkbox",checked:e.showStopCodons,onClick:()=>{e.toggleShowStopCodons()}},{label:"Show intron lines",type:"checkbox",checked:e.showIntronLines,onClick:()=>{e.toggleShowIntronLines()}}]})))}var YP=r.ConfigurationSchema("ApolloRefNameAliasAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});const ZP="undefined"==typeof sessionStorage;class XP extends S.BaseAdapter{refNameAliases;async getRefNameAliases(){const e=r.readConfObject(this.config,"assemblyId");if(!ZP){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)throw new Error("No Apollo data store found");const n=t.getBackendDriver(e);return await n.getRefNameAliases(e)}const t=await new Promise(((t,n)=>{const r=setTimeout((()=>{n(new Error("timeout"))}),2e4),o=eN(),i=e=>{const n=e.data;(function(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo&&"refNameAliases"in e})(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",i),t(n.refNameAliases))};addEventListener("message",i),rpcServer.emit("apollo",{apollo:!0,method:"getRefNameAliases",assembly:e,messageId:o})}));return this.refNameAliases=t,t}freeResources(){}}const QP="WorkerGlobalScope"in globalThis;for(const[e,t]of Object.entries(nr.changes))z.changeRegistry.registerChange(e,t);const eT=new nr.CDSCheck;z.checkRegistry.registerCheck(eT.name,eT),nr.validationRegistry.registerValidation(new nr.CoreValidation),nr.validationRegistry.registerValidation(new nr.ParentChildValidation),e.default=class extends C.default{name="ApolloPlugin";version="0.2.1";configurationSchema=qN;install(e){!function(e){e.addAdapterType((()=>new D.default({name:"ApolloSequenceAdapter",configSchema:ON,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:CN})))}(e),function(e){e.addAdapterType((()=>new D.default({name:"ApolloRefNameAliasAdapter",configSchema:YP,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:XP})))}(e),function(e){e.addTextSearchAdapterType((()=>new o.TextSearchAdapterType({name:"ApolloTextSearchAdapter",displayName:"Apollo text search adapter",configSchema:DN,AdapterClass:LN,description:"Apollo Text Search adapter"})))}(e),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloFeatureDetailsWidget",{});return new o.WidgetType({name:"ApolloFeatureDetailsWidget",heading:"Apollo feature details",configSchema:e,stateModel:aI,ReactComponent:XN})})),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloTranscriptDetails",{});return new o.WidgetType({name:"ApolloTranscriptDetails",heading:"Apollo transcript details",configSchema:e,stateModel:sI,ReactComponent:hI})})),e.addTrackType((()=>{const t=r.ConfigurationSchema("ApolloTrack",{adapter:""},{baseConfiguration:o.createBaseTrackConfig(e),explicitIdentifier:"trackId"});return new o.TrackType({name:"ApolloTrack",configSchema:t,stateModel:o.createBaseTrackModel(e,"ApolloTrack",t)})})),e.addInternetAccountType((()=>new o.InternetAccountType({name:"ApolloInternetAccount",configSchema:Ju,stateModel:bN(Ju)}))),e.addDisplayType((()=>new o.DisplayType({name:"LinearApolloDisplay",configSchema:pI,stateModel:bP(0,pI),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:FP}))),e.addDisplayType((()=>{const t=function(e){const t=e.getPlugin("LinearGenomeViewPlugin"),{baseLinearDisplayConfigSchema:n}=t.exports;return r.ConfigurationSchema("SixFrameFeatureDisplay",{renderer:IN,height:{type:"number",defaultValue:120}},{baseConfiguration:n,explicitlyTyped:!0})}(e),n=function(e){const t=e.getPlugin("LinearGenomeViewPlugin");if(!t)throw new Error("LinearGenomeView plugin not found");const{BaseLinearDisplayComponent:n}=t.exports;return p.observer((function({model:e,...t}){const{classes:r}=TP(),{height:o,selectedFeature:i}=e;let{detailsHeight:a}=e;return i||(a=0),M.default.createElement("div",{style:{height:e.height}},M.default.createElement("div",{className:r.shading,style:{height:o-a}},M.default.createElement(n,{model:e,...t})),M.default.createElement("div",{className:"testTrackLines"},M.default.createElement(PP,{model:e})))}))}(e);return new o.DisplayType({name:"SixFrameFeatureDisplay",configSchema:t,stateModel:KP(e,t),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:n})})),e.addRendererType((()=>new PN({name:"ApolloSixFrameRenderer",ReactComponent:NN,configSchema:IN,pluginManager:e}))),e.addToExtensionPoint("Core-extendSession",VP.bind(this,e)),e.addToExtensionPoint("Core-extendPluggableElement",(e=>{if("LinearGenomeView"===e.name){const{stateModel:t}=e,r=t.views((e=>{const t=e.rubberBandMenuItems;return{rubberBandMenuItems:()=>[...t(),{label:"Add new feature",icon:$u,onClick:()=>{const t=n.getSession(e),{leftOffset:r,rightOffset:o}=e,i=e.getSelectedRegions(r,o);t.queueDialog((e=>[CR,{session:t,handleClose:()=>{e()},region:i[0],changeManager:t.apolloDataStore.changeManager}]))}}]}}));e.stateModel=r}return e})),e.addToExtensionPoint("Core-extendPluggableElement",BN),QP||e.addToExtensionPoint("Core-extendWorker",(t=>"on"in t&&t.on?(t.on("apollo",(async n=>{if("object"!=typeof(r=n)||null===r||!("apollo"in r)||!0!==r.apollo)return;var r;const{apollo:o,messageId:i,method:a}=n;switch(a){case"getSequence":{const{region:r}=n,{assemblyName:a}=r,s=e.rootModel?.session?.apolloDataStore;if(!s)break;const u=s.getBackendDriver(a),{seq:c}=await u.getSequence(r);t.workers[0].postMessage({apollo:o,messageId:i,sequence:c});break}case"getRegions":{const{assembly:r}=n,a=e.rootModel?.session?.apolloDataStore;if(!a)break;const s=a.getBackendDriver(r),u=await s.getRegions(r);t.workers[0].postMessage({apollo:o,messageId:i,regions:u});break}case"getRefNameAliases":{const{assembly:r}=n,a=e.rootModel?.session?.apolloDataStore;if(!a)break;const s=a.getBackendDriver(r),u=await s.getRefNameAliases(r);t.workers[0].postMessage({apollo:o,messageId:i,refNameAliases:u});break}}})),t):t))}configure(e){n.isAbstractMenuManager(e.rootModel)&&(e.rootModel.appendToMenu("Apollo",{label:"Download GFF3",onClick:e=>{e.queueDialog((t=>[TR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Manage Checks",onClick:e=>{e.queueDialog((t=>[FR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View Change Log",onClick:e=>{e.queueDialog((t=>[rN,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Open local GFF3 file",onClick:e=>{e.queueDialog((t=>[tN,{session:e,handleClose:()=>{t()},inMemoryFileDriver:e.apolloDataStore.inMemoryFileDriver}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View check results",onClick:e=>{e.queueDialog((t=>[sN,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Log out",onClick:e=>{e.queueDialog((t=>[jR,{session:e,handleClose:()=>{t()}}]))}}))}},Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=jbrowse-plugin-apollo.umd.production.min.js.map