{"version":3,"sources":["webpack:///./node_modules/ms/index.js","webpack:///./src/app/modules/layout-investment/workers/edit-investment.worker.js?f31c","webpack:///./node_modules/threads/dist-esm/master/get-bundle-url.browser.js","webpack:///./node_modules/threads/dist-esm/master/implementation.browser.js","webpack:///./node_modules/threads/dist-esm/master/index.js","webpack:///./node_modules/observable-fns/dist.esm/_symbols.js","webpack:///./node_modules/observable-fns/dist.esm/observable.js","webpack:///./src/app/modules/layout-investment/components/edit/edit-header.component.vue","webpack:///./src/app/modules/layout-investment/components/edit/edit-header.component.vue?7356","webpack:///./src/app/modules/layout-investment/components/edit/edit-header.component.vue?5274","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/threads/dist-esm/types/master.js","webpack:///./src/app/modules/layout-investment/components/edit/edit-header.component.vue?f57e","webpack:///./node_modules/observable-fns/dist.esm/subject.js","webpack:///./node_modules/observable-fns/dist.esm/unsubscribe.js","webpack:///./node_modules/observable-fns/dist.esm/multicast.js","webpack:///./node_modules/threads/dist-esm/observable-promise.js","webpack:///./node_modules/threads/dist-esm/master/invocation-proxy.js","webpack:///./node_modules/threads/dist-esm/master/spawn.js","webpack:///./node_modules/threads/dist-esm/symbols.js","webpack:///./node_modules/threads/dist-esm/promise.js","webpack:///./src/app/modules/layout-investment/workers/edit-investment.worker.js","webpack:///src/app/modules/layout-investment/components/edit/edit-header.component.vue","webpack:///./node_modules/threads/dist-esm/transferable.js","webpack:///./node_modules/threads/dist-esm/types/messages.js","webpack:///./node_modules/threads/dist-esm/serializers.js","webpack:///./node_modules/threads/dist-esm/common.js","webpack:///./node_modules/debug/src/common.js","webpack:///./node_modules/threads/dist-esm/master/thread.js"],"names":["s","m","h","d","w","y","parse","str","String","length","match","exec","n","parseFloat","type","toLowerCase","fmtShort","ms","msAbs","Math","abs","round","fmtLong","plural","name","isPlural","module","exports","val","options","isFinite","long","Error","JSON","stringify","bundleURL","getBundleURLCached","getBundleURL","err","matches","stack","getBaseURL","url","replace","navigator","hardwareConcurrency","isAbsoluteURL","value","test","createSourceBlobURL","code","blob","Blob","URL","createObjectURL","selectWorkerImplementation","Worker","WebWorker","_a","_b","_baseURL","CORSWorkaround","super","BlobWorker","window","source","default","implementation","getWorkerImplementation","hasSymbols","Symbol","hasSymbol","Boolean","getSymbol","asyncIterator","for","SymbolIterator","SymbolObservable","SymbolSpecies","getMethod","obj","key","TypeError","getSpecies","ctor","constructor","undefined","isObservable","x","hostReportError","error","log","setTimeout","enqueue","fn","Promise","resolve","then","e","cleanupSubscription","subscription","cleanup","_cleanup","unsubscribe","call","closeSubscription","_observer","_queue","_state","flushSubscription","queue","item","notifySubscription","observer","onNotify","push","Subscription","subscriber","this","subscriptionObserver","SubscriptionObserver","_subscription","_subscriber","nextOrObserver","onError","onComplete","next","complete","first","mappers","intermediate","mapper","tapObserver","subscribe","start","reject","done","C","propagatedValue","seed","hasSeed","arguments","hasValue","acc","sources","index","startNext","v","from","subscriptions","outer","normalizedValue","inner","innerValue","i","indexOf","splice","completeIfDone","closed","forEach","observable","observableMethod","Object","iteratorMethod","Array","isArray","items","defineProperty","symbol","configurable","render","_vm","_c","_self","staticClass","statusModalReset","attrs","on","$event","confirmReset","_e","statusSaveModal","modifiedParams","confirmSave","statusChangeAccountModal","confirmChangeAccount","_v","_s","info","investment_name","directives","rawName","arrow","theme","expression","param_code","investment_symbol","investment_market","selectedParameter","param_deletable","parameterSettings","some","running","param_id","nativeOn","submitted","reset","domProps","$icons","loading","confirmDelete","apply","getSaveIsEnabled","save","staticRenderFns","component","useColors","process","__nwjs","userAgent","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","formatArgs","args","namespace","humanize","diff","c","color","lastC","namespaces","storage","setItem","removeItem","load","r","getItem","DEBUG","localstorage","localStorage","destroy","warned","warn","colors","debug","formatters","j","message","WorkerEventType","_observers","add","delete","Set","multicast","coldObservable","subject","sourceSubscription","subscriberCount","doNothing","returnInput","input","runDeferred","fail","isThenable","thing","init","originalObserver","self","assign","onCompletion","onNext","initHasRun","fulfillmentCallbacks","rejectionCallbacks","firstValueSet","state","firstValue","rejection","onRejected","onFulfilled","onFulfilledRaw","onRejectedRaw","onRejectedCalled","rejectionCallback","anotherError","fulfillmentCallback","onCompleted","handler","debugMessages","nextJobUID","dedupe","array","isJobErrorMessage","data","isJobResultMessage","result","isJobStartMessage","createObservableForJob","worker","jobUID","asyncType","messageHandler","event","uid","resultType","payload","removeEventListener","addEventListener","cancelMessage","cancel","postMessage","prepareArguments","rawArgs","transferables","arg","send","createProxyFunction","method","runMessage","run","createProxyModule","methodNames","proxy","methodName","__awaiter","thisArg","_arguments","P","generator","adopt","fulfilled","step","rejected","debugSpawn","debugThreadUtils","isInitMessage","isUncaughtErrorMessage","initMessageTimeout","THREADS_WORKER_INIT_TIMEOUT","Number","withTimeout","promise","timeoutInMs","errorMessage","timeoutHandle","timeout","race","clearTimeout","receiveInitMessage","createEventObservable","workerTermination","messageEvent","workerEvent","rejectionHandler","errorEvent","internalError","reason","terminationEvent","termination","createTerminator","resolver","terminate","setPrivateThreadProps","raw","workerEvents","workerErrors","filter","map","spawn","initMessage","exposed","events","methods","$errors","$events","$terminate","$transferable","$worker","createPromiseWithResolver","resolvedTo","alreadyResolved","exposedResolver","compareSubParams","modifiedParam","originalParam","prop","param_value","newSubParam","param_name","original_value","compareParameters","modifiedArray","originalArray","sectionIndex","groupIndex","groups","paramIndex","group_params","param_type","modified_value","groupName","group_name","alreadyPassed","newParam","section_name","param_subparams","modifiedSubParams","originalSubParams","subParams","param_value_id","components","ModalReset","ModalSave","ModalChangeAccount","Breadcrumb","AddParamsSetting","computed","mapGetters","getParameters","copy_info","created","EventBus","$on","response","param_params","Thread","keys","mapActions","updateParam","resetParam","deleteParam","investment_id","$route","params","$swal","title","msg","icon","iconHtml","swal_success","toast","position","timer","timerProgressBar","showConfirmButton","showCancelButton","cancelButtonText","confirmButtonColor","cancelButtonColor","confirmButtonText","isConfirmed","body","param_json","catch","text","path","split","$emit","$router","isTransferDescriptor","MasterMessageType","WorkerMessageType","DefaultErrorSerializer","__error_marker","isSerializedError","DefaultSerializer","deserialize","serialize","registeredSerializer","setup","env","selectColor","hash","charCodeAt","createDebug","prevTime","namespacesCache","enabledCache","enableOverride","enabled","curr","Date","prev","coerce","unshift","format","formatter","logFn","extend","enumerable","get","set","delimiter","newDebug","enable","names","skips","trim","ns","slice","matchesTemplate","search","template","searchIndex","templateIndex","starIndex","matchIndex","disable","join","skip","thread"],"mappings":"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","file":"js/chunk-0fdc7a7f.019ac3bb.js","sourcesContent":["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","module.exports = __webpack_public_path__ + \"js/0.aec3e9d3.worker.js\"","// Source: \nlet bundleURL;\nfunction getBundleURLCached() {\n if (!bundleURL) {\n bundleURL = getBundleURL();\n }\n return bundleURL;\n}\nfunction getBundleURL() {\n // Attempt to find the URL of the current script and use that as the base URL\n try {\n throw new Error;\n }\n catch (err) {\n const matches = (\"\" + err.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);\n if (matches) {\n return getBaseURL(matches[0]);\n }\n }\n return \"/\";\n}\nfunction getBaseURL(url) {\n return (\"\" + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)?\\/[^/]+(?:\\?.*)?$/, '$1') + '/';\n}\nexport { getBaseURL, getBundleURLCached as getBundleURL };\n","// tslint:disable max-classes-per-file\nimport { getBundleURL } from \"./get-bundle-url.browser\";\nexport const defaultPoolSize = typeof navigator !== \"undefined\" && navigator.hardwareConcurrency\n ? navigator.hardwareConcurrency\n : 4;\nconst isAbsoluteURL = (value) => /^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(value);\nfunction createSourceBlobURL(code) {\n const blob = new Blob([code], { type: \"application/javascript\" });\n return URL.createObjectURL(blob);\n}\nfunction selectWorkerImplementation() {\n if (typeof Worker === \"undefined\") {\n // Might happen on Safari, for instance\n // The idea is to only fail if the constructor is actually used\n return class NoWebWorker {\n constructor() {\n throw Error(\"No web worker implementation available. You might have tried to spawn a worker within a worker in a browser that doesn't support workers in workers.\");\n }\n };\n }\n class WebWorker extends Worker {\n constructor(url, options) {\n var _a, _b;\n if (typeof url === \"string\" && options && options._baseURL) {\n url = new URL(url, options._baseURL);\n }\n else if (typeof url === \"string\" && !isAbsoluteURL(url) && getBundleURL().match(/^file:\\/\\//i)) {\n url = new URL(url, getBundleURL().replace(/\\/[^\\/]+$/, \"/\"));\n if ((_a = options === null || options === void 0 ? void 0 : options.CORSWorkaround) !== null && _a !== void 0 ? _a : true) {\n url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);\n }\n }\n if (typeof url === \"string\" && isAbsoluteURL(url)) {\n // Create source code blob loading JS file via `importScripts()`\n // to circumvent worker CORS restrictions\n if ((_b = options === null || options === void 0 ? void 0 : options.CORSWorkaround) !== null && _b !== void 0 ? _b : true) {\n url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);\n }\n }\n super(url, options);\n }\n }\n class BlobWorker extends WebWorker {\n constructor(blob, options) {\n const url = window.URL.createObjectURL(blob);\n super(url, options);\n }\n static fromText(source, options) {\n const blob = new window.Blob([source], { type: \"text/javascript\" });\n return new BlobWorker(blob, options);\n }\n }\n return {\n blob: BlobWorker,\n default: WebWorker\n };\n}\nlet implementation;\nexport function getWorkerImplementation() {\n if (!implementation) {\n implementation = selectWorkerImplementation();\n }\n return implementation;\n}\nexport function isWorkerRuntime() {\n const isWindowContext = typeof self !== \"undefined\" && typeof Window !== \"undefined\" && self instanceof Window;\n return typeof self !== \"undefined\" && self.postMessage && !isWindowContext ? true : false;\n}\n","import { getWorkerImplementation, isWorkerRuntime } from \"./implementation\";\nexport { Pool } from \"./pool\";\nexport { spawn } from \"./spawn\";\nexport { Thread } from \"./thread\";\nexport { isWorkerRuntime };\n/** Separate class to spawn workers from source code blobs or strings. */\nexport const BlobWorker = getWorkerImplementation().blob;\n/** Worker implementation. Either web worker or a node.js Worker class. */\nexport const Worker = getWorkerImplementation().default;\n","export const hasSymbols = () => typeof Symbol === \"function\";\nexport const hasSymbol = (name) => hasSymbols() && Boolean(Symbol[name]);\nexport const getSymbol = (name) => hasSymbol(name) ? Symbol[name] : \"@@\" + name;\nexport function registerObservableSymbol() {\n if (hasSymbols() && !hasSymbol(\"observable\")) {\n Symbol.observable = Symbol(\"observable\");\n }\n}\nif (!hasSymbol(\"asyncIterator\")) {\n Symbol.asyncIterator = Symbol.asyncIterator || Symbol.for(\"Symbol.asyncIterator\");\n}\n","/**\n * Based on \n * At commit: f63849a8c60af5d514efc8e9d6138d8273c49ad6\n */\nimport \"./symbols\";\nimport { getSymbol, hasSymbol, hasSymbols } from \"./_symbols\";\nconst SymbolIterator = getSymbol(\"iterator\");\nconst SymbolObservable = getSymbol(\"observable\");\nconst SymbolSpecies = getSymbol(\"species\");\n// === Abstract Operations ===\nfunction getMethod(obj, key) {\n const value = obj[key];\n if (value == null) {\n return undefined;\n }\n if (typeof value !== \"function\") {\n throw new TypeError(value + \" is not a function\");\n }\n return value;\n}\nfunction getSpecies(obj) {\n let ctor = obj.constructor;\n if (ctor !== undefined) {\n ctor = ctor[SymbolSpecies];\n if (ctor === null) {\n ctor = undefined;\n }\n }\n return ctor !== undefined ? ctor : Observable;\n}\nfunction isObservable(x) {\n return x instanceof Observable; // SPEC: Brand check\n}\nfunction hostReportError(error) {\n if (hostReportError.log) {\n hostReportError.log(error);\n }\n else {\n setTimeout(() => { throw error; }, 0);\n }\n}\nfunction enqueue(fn) {\n Promise.resolve().then(() => {\n try {\n fn();\n }\n catch (e) {\n hostReportError(e);\n }\n });\n}\nfunction cleanupSubscription(subscription) {\n const cleanup = subscription._cleanup;\n if (cleanup === undefined) {\n return;\n }\n subscription._cleanup = undefined;\n if (!cleanup) {\n return;\n }\n try {\n if (typeof cleanup === \"function\") {\n cleanup();\n }\n else {\n const unsubscribe = getMethod(cleanup, \"unsubscribe\");\n if (unsubscribe) {\n unsubscribe.call(cleanup);\n }\n }\n }\n catch (e) {\n hostReportError(e);\n }\n}\nfunction closeSubscription(subscription) {\n subscription._observer = undefined;\n subscription._queue = undefined;\n subscription._state = \"closed\";\n}\nfunction flushSubscription(subscription) {\n const queue = subscription._queue;\n if (!queue) {\n return;\n }\n subscription._queue = undefined;\n subscription._state = \"ready\";\n for (const item of queue) {\n notifySubscription(subscription, item.type, item.value);\n if (subscription._state === \"closed\") {\n break;\n }\n }\n}\nfunction notifySubscription(subscription, type, value) {\n subscription._state = \"running\";\n const observer = subscription._observer;\n try {\n const m = observer ? getMethod(observer, type) : undefined;\n switch (type) {\n case \"next\":\n if (m)\n m.call(observer, value);\n break;\n case \"error\":\n closeSubscription(subscription);\n if (m)\n m.call(observer, value);\n else\n throw value;\n break;\n case \"complete\":\n closeSubscription(subscription);\n if (m)\n m.call(observer);\n break;\n }\n }\n catch (e) {\n hostReportError(e);\n }\n if (subscription._state === \"closed\") {\n cleanupSubscription(subscription);\n }\n else if (subscription._state === \"running\") {\n subscription._state = \"ready\";\n }\n}\nfunction onNotify(subscription, type, value) {\n if (subscription._state === \"closed\") {\n return;\n }\n if (subscription._state === \"buffering\") {\n subscription._queue = subscription._queue || [];\n subscription._queue.push({ type, value });\n return;\n }\n if (subscription._state !== \"ready\") {\n subscription._state = \"buffering\";\n subscription._queue = [{ type, value }];\n enqueue(() => flushSubscription(subscription));\n return;\n }\n notifySubscription(subscription, type, value);\n}\nexport class Subscription {\n constructor(observer, subscriber) {\n // ASSERT: observer is an object\n // ASSERT: subscriber is callable\n this._cleanup = undefined;\n this._observer = observer;\n this._queue = undefined;\n this._state = \"initializing\";\n const subscriptionObserver = new SubscriptionObserver(this);\n try {\n this._cleanup = subscriber.call(undefined, subscriptionObserver);\n }\n catch (e) {\n subscriptionObserver.error(e);\n }\n if (this._state === \"initializing\") {\n this._state = \"ready\";\n }\n }\n get closed() {\n return this._state === \"closed\";\n }\n unsubscribe() {\n if (this._state !== \"closed\") {\n closeSubscription(this);\n cleanupSubscription(this);\n }\n }\n}\nexport class SubscriptionObserver {\n constructor(subscription) { this._subscription = subscription; }\n get closed() { return this._subscription._state === \"closed\"; }\n next(value) { onNotify(this._subscription, \"next\", value); }\n error(value) { onNotify(this._subscription, \"error\", value); }\n complete() { onNotify(this._subscription, \"complete\"); }\n}\n/**\n * The basic Observable class. This primitive is used to wrap asynchronous\n * data streams in a common standardized data type that is interoperable\n * between libraries and can be composed to represent more complex processes.\n */\nexport class Observable {\n constructor(subscriber) {\n if (!(this instanceof Observable)) {\n throw new TypeError(\"Observable cannot be called as a function\");\n }\n if (typeof subscriber !== \"function\") {\n throw new TypeError(\"Observable initializer must be a function\");\n }\n this._subscriber = subscriber;\n }\n subscribe(nextOrObserver, onError, onComplete) {\n if (typeof nextOrObserver !== \"object\" || nextOrObserver === null) {\n nextOrObserver = {\n next: nextOrObserver,\n error: onError,\n complete: onComplete\n };\n }\n return new Subscription(nextOrObserver, this._subscriber);\n }\n pipe(first, ...mappers) {\n // tslint:disable-next-line no-this-assignment\n let intermediate = this;\n for (const mapper of [first, ...mappers]) {\n intermediate = mapper(intermediate);\n }\n return intermediate;\n }\n tap(nextOrObserver, onError, onComplete) {\n const tapObserver = typeof nextOrObserver !== \"object\" || nextOrObserver === null\n ? {\n next: nextOrObserver,\n error: onError,\n complete: onComplete\n }\n : nextOrObserver;\n return new Observable(observer => {\n return this.subscribe({\n next(value) {\n tapObserver.next && tapObserver.next(value);\n observer.next(value);\n },\n error(error) {\n tapObserver.error && tapObserver.error(error);\n observer.error(error);\n },\n complete() {\n tapObserver.complete && tapObserver.complete();\n observer.complete();\n },\n start(subscription) {\n tapObserver.start && tapObserver.start(subscription);\n }\n });\n });\n }\n forEach(fn) {\n return new Promise((resolve, reject) => {\n if (typeof fn !== \"function\") {\n reject(new TypeError(fn + \" is not a function\"));\n return;\n }\n function done() {\n subscription.unsubscribe();\n resolve(undefined);\n }\n const subscription = this.subscribe({\n next(value) {\n try {\n fn(value, done);\n }\n catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error(error) {\n reject(error);\n },\n complete() {\n resolve(undefined);\n }\n });\n });\n }\n map(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(fn + \" is not a function\");\n }\n const C = getSpecies(this);\n return new C(observer => this.subscribe({\n next(value) {\n let propagatedValue = value;\n try {\n propagatedValue = fn(value);\n }\n catch (e) {\n return observer.error(e);\n }\n observer.next(propagatedValue);\n },\n error(e) { observer.error(e); },\n complete() { observer.complete(); },\n }));\n }\n filter(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(fn + \" is not a function\");\n }\n const C = getSpecies(this);\n return new C(observer => this.subscribe({\n next(value) {\n try {\n if (!fn(value))\n return;\n }\n catch (e) {\n return observer.error(e);\n }\n observer.next(value);\n },\n error(e) { observer.error(e); },\n complete() { observer.complete(); },\n }));\n }\n reduce(fn, seed) {\n if (typeof fn !== \"function\") {\n throw new TypeError(fn + \" is not a function\");\n }\n const C = getSpecies(this);\n const hasSeed = arguments.length > 1;\n let hasValue = false;\n let acc = seed;\n return new C(observer => this.subscribe({\n next(value) {\n const first = !hasValue;\n hasValue = true;\n if (!first || hasSeed) {\n try {\n acc = fn(acc, value);\n }\n catch (e) {\n return observer.error(e);\n }\n }\n else {\n acc = value;\n }\n },\n error(e) { observer.error(e); },\n complete() {\n if (!hasValue && !hasSeed) {\n return observer.error(new TypeError(\"Cannot reduce an empty sequence\"));\n }\n observer.next(acc);\n observer.complete();\n },\n }));\n }\n concat(...sources) {\n const C = getSpecies(this);\n return new C(observer => {\n let subscription;\n let index = 0;\n function startNext(next) {\n subscription = next.subscribe({\n next(v) { observer.next(v); },\n error(e) { observer.error(e); },\n complete() {\n if (index === sources.length) {\n subscription = undefined;\n observer.complete();\n }\n else {\n startNext(C.from(sources[index++]));\n }\n },\n });\n }\n startNext(this);\n return () => {\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n };\n });\n }\n flatMap(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(fn + \" is not a function\");\n }\n const C = getSpecies(this);\n return new C(observer => {\n const subscriptions = [];\n const outer = this.subscribe({\n next(value) {\n let normalizedValue;\n if (fn) {\n try {\n normalizedValue = fn(value);\n }\n catch (e) {\n return observer.error(e);\n }\n }\n else {\n normalizedValue = value;\n }\n const inner = C.from(normalizedValue).subscribe({\n next(innerValue) { observer.next(innerValue); },\n error(e) { observer.error(e); },\n complete() {\n const i = subscriptions.indexOf(inner);\n if (i >= 0)\n subscriptions.splice(i, 1);\n completeIfDone();\n },\n });\n subscriptions.push(inner);\n },\n error(e) { observer.error(e); },\n complete() { completeIfDone(); },\n });\n function completeIfDone() {\n if (outer.closed && subscriptions.length === 0) {\n observer.complete();\n }\n }\n return () => {\n subscriptions.forEach(s => s.unsubscribe());\n outer.unsubscribe();\n };\n });\n }\n [(Symbol.observable, SymbolObservable)]() { return this; }\n static from(x) {\n const C = (typeof this === \"function\" ? this : Observable);\n if (x == null) {\n throw new TypeError(x + \" is not an object\");\n }\n const observableMethod = getMethod(x, SymbolObservable);\n if (observableMethod) {\n const observable = observableMethod.call(x);\n if (Object(observable) !== observable) {\n throw new TypeError(observable + \" is not an object\");\n }\n if (isObservable(observable) && observable.constructor === C) {\n return observable;\n }\n return new C(observer => observable.subscribe(observer));\n }\n if (hasSymbol(\"iterator\")) {\n const iteratorMethod = getMethod(x, SymbolIterator);\n if (iteratorMethod) {\n return new C(observer => {\n enqueue(() => {\n if (observer.closed)\n return;\n for (const item of iteratorMethod.call(x)) {\n observer.next(item);\n if (observer.closed)\n return;\n }\n observer.complete();\n });\n });\n }\n }\n if (Array.isArray(x)) {\n return new C(observer => {\n enqueue(() => {\n if (observer.closed)\n return;\n for (const item of x) {\n observer.next(item);\n if (observer.closed)\n return;\n }\n observer.complete();\n });\n });\n }\n throw new TypeError(x + \" is not observable\");\n }\n static of(...items) {\n const C = (typeof this === \"function\" ? this : Observable);\n return new C(observer => {\n enqueue(() => {\n if (observer.closed)\n return;\n for (const item of items) {\n observer.next(item);\n if (observer.closed)\n return;\n }\n observer.complete();\n });\n });\n }\n static get [SymbolSpecies]() { return this; }\n}\nif (hasSymbols()) {\n Object.defineProperty(Observable, Symbol(\"extensions\"), {\n value: {\n symbol: SymbolObservable,\n hostReportError,\n },\n configurable: true,\n });\n}\nexport default Observable;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-span-12 h-full\"},[_c('breadcrumb'),_c('div',{staticClass:\"flex w-full justify-between pt-3 md:inline-flex\"},[(_vm.statusModalReset)?_c('modal-reset',{attrs:{\"active\":_vm.statusModalReset},on:{\"close\":function($event){_vm.statusModalReset = false},\"confirm\":function($event){return _vm.confirmReset()}}}):_vm._e(),(_vm.statusSaveModal)?_c('modal-save',{attrs:{\"modifiedParams\":_vm.modifiedParams,\"active\":_vm.statusSaveModal},on:{\"close\":function($event){_vm.statusSaveModal = false},\"confirm\":function($event){return _vm.confirmSave()}}}):_vm._e(),(_vm.statusChangeAccountModal)?_c('modal-change-account',{attrs:{\"active\":_vm.statusChangeAccountModal},on:{\"close\":function($event){_vm.statusChangeAccountModal = false},\"confirm\":function($event){return _vm.confirmChangeAccount()}}}):_vm._e(),_c('div',[_c('ontick-text',{attrs:{\"size\":\"2xl\",\"weight\":\"bold\"}},[_vm._v(_vm._s(_vm.info.investment_name))]),_c('ontick-div',{staticClass:\"my-3 space-x-3 truncate text-xs\",attrs:{\"orientation\":\"horizontal\"}},[_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ arrow: true, theme: 'green' }),expression:\"{ arrow: true, theme: 'green' }\"}],staticClass:\"bg-ontick-green-900 text-ontick-green-500 rounded-md\",attrs:{\"content\":\"Código do parâmetro\"}},[_c('p',{staticClass:\"px-2 py-1\"},[_vm._v(\"Cód. \"+_vm._s(_vm.info.param_code))])]),_c('div',{staticClass:\"bg-ontick-blue-900 text-ontick-blue-500 rounded-md\"},[_c('p',{staticClass:\"px-2 py-1\"},[_vm._v(_vm._s(_vm.info.investment_symbol))])]),_c('div',{staticClass:\"bg-ontick-orange-800 text-ontick-orange-400 rounded-md\"},[_c('p',{staticClass:\"px-2 py-1\"},[_vm._v(_vm._s(_vm.info.investment_market))])])])],1),_c('div',{staticClass:\"inline-flex items-center space-x-3\"},[_c('add-params-setting'),(!_vm.selectedParameter.param_deletable)?_c('ontick-button',{staticClass:\"inline-flex\",attrs:{\"size\":\"small\",\"disabled\":_vm.parameterSettings.some((x) => x.running == true && x.param_id == _vm.selectedParameter.param_id),\"color\":_vm.parameterSettings.some((x) => x.running == true && x.param_id == _vm.selectedParameter.param_id)\n ? 'steel'\n : 'third'},nativeOn:{\"click\":function($event){_vm.statusModalReset = true}}},[_c('svg',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.submitted.reset),expression:\"!submitted.reset\"}],staticClass:\"h-5 w-5\",attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z\"}})]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.submitted.reset),expression:\"submitted.reset\"}],domProps:{\"innerHTML\":_vm._s(_vm.$icons.loading)}}),_c('span',{staticClass:\"ml-2 hidden uppercase md:flex\"},[_vm._v(\"Resetar\")])]):_vm._e(),(_vm.selectedParameter.param_deletable)?_c('ontick-button',{attrs:{\"disabled\":_vm.parameterSettings.some((x) => x.running == true && x.param_id == _vm.selectedParameter.param_id),\"color\":_vm.parameterSettings.some((x) => x.running == true && x.param_id == _vm.selectedParameter.param_id)\n ? 'steel'\n : 'third',\"size\":\"small\"},nativeOn:{\"click\":function($event){return _vm.confirmDelete.apply(null, arguments)}}},[_c('svg',{staticClass:\"h-5 w-5\",attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"}})]),_c('span',{staticClass:\"ml-2 hidden uppercase md:flex\"},[_vm._v(\"Deletar\")])]):_vm._e(),_c('ontick-button',{attrs:{\"disabled\":_vm.parameterSettings.some((x) => x.running == true && x.param_id == _vm.selectedParameter.param_id) ||\n !_vm.getSaveIsEnabled,\"color\":_vm.parameterSettings.some((x) => x.running == true && x.param_id == _vm.selectedParameter.param_id)\n ? 'steel'\n : 'primary',\"size\":\"small\"},nativeOn:{\"click\":function($event){return _vm.save.apply(null, arguments)}}},[_c('svg',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.submitted.save),expression:\"!submitted.save\"}],staticClass:\"h-5 w-5\",attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z\"}})]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.submitted.save),expression:\"submitted.save\"}],domProps:{\"innerHTML\":_vm._s(_vm.$icons.loading)}}),_c('span',{staticClass:\"ml-2 hidden uppercase md:flex\"},[_vm._v(\"Salvar\")])])],1)],1),_c('transition',{attrs:{\"name\":\"slide-fade\",\"mode\":\"out-in\"}},[(_vm.parameterSettings.some((x) => x.running == true && x.param_id == _vm.selectedParameter.param_id))?_c('div',{staticClass:\"text-ontick-yellow-900 flex space-x-2 py-3\"},[_c('svg',{staticClass:\"h-6 w-6\",attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}})]),_c('p',[_vm._v(\"Esta configuração está ativa. Para editar seus parâmetros, interrompa a execução desta estratégia\")])]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-header.component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-header.component.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./edit-header.component.vue?vue&type=template&id=2b675036&scoped=true\"\nimport script from \"./edit-header.component.vue?vue&type=script&lang=js\"\nexport * from \"./edit-header.component.vue?vue&type=script&lang=js\"\nimport style0 from \"./edit-header.component.vue?vue&type=style&index=0&id=2b675036&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b675036\",\n null\n \n)\n\nexport default component.exports","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","/// \n// tslint:disable max-classes-per-file\nimport { $errors, $events, $terminate, $worker } from \"../symbols\";\n/** Event as emitted by worker thread. Subscribe to using `Thread.events(thread)`. */\nexport var WorkerEventType;\n(function (WorkerEventType) {\n WorkerEventType[\"internalError\"] = \"internalError\";\n WorkerEventType[\"message\"] = \"message\";\n WorkerEventType[\"termination\"] = \"termination\";\n})(WorkerEventType || (WorkerEventType = {}));\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./edit-header.component.vue?vue&type=style&index=0&id=2b675036&prod&lang=scss&scoped=true\"","import Observable from \"./observable\";\n// TODO: This observer iteration approach looks inelegant and expensive\n// Idea: Come up with super class for Subscription that contains the\n// notify*, ... methods and use it here\n/**\n * A subject is a \"hot\" observable (see `multicast`) that has its observer\n * methods (`.next(value)`, `.error(error)`, `.complete()`) exposed.\n *\n * Be careful, though! With great power comes great responsibility. Only use\n * the `Subject` when you really need to trigger updates \"from the outside\" and\n * try to keep the code that can access it to a minimum. Return\n * `Observable.from(mySubject)` to not allow other code to mutate.\n */\nclass MulticastSubject extends Observable {\n constructor() {\n super(observer => {\n this._observers.add(observer);\n return () => this._observers.delete(observer);\n });\n this._observers = new Set();\n }\n next(value) {\n for (const observer of this._observers) {\n observer.next(value);\n }\n }\n error(error) {\n for (const observer of this._observers) {\n observer.error(error);\n }\n }\n complete() {\n for (const observer of this._observers) {\n observer.complete();\n }\n }\n}\nexport default MulticastSubject;\n","/**\n * Unsubscribe from a subscription returned by something that looks like an observable,\n * but is not necessarily our observable implementation.\n */\nfunction unsubscribe(subscription) {\n if (typeof subscription === \"function\") {\n subscription();\n }\n else if (subscription && typeof subscription.unsubscribe === \"function\") {\n subscription.unsubscribe();\n }\n}\nexport default unsubscribe;\n","import Observable from \"./observable\";\nimport Subject from \"./subject\";\nimport unsubscribe from \"./unsubscribe\";\n// TODO: Subject already creates additional observables \"under the hood\",\n// now we introduce even more. A true native MulticastObservable\n// would be preferable.\n/**\n * Takes a \"cold\" observable and returns a wrapping \"hot\" observable that\n * proxies the input observable's values and errors.\n *\n * An observable is called \"cold\" when its initialization function is run\n * for each new subscriber. This is how observable-fns's `Observable`\n * implementation works.\n *\n * A hot observable is an observable where new subscribers subscribe to\n * the upcoming values of an already-initialiazed observable.\n *\n * The multicast observable will lazily subscribe to the source observable\n * once it has its first own subscriber and will unsubscribe from the\n * source observable when its last own subscriber unsubscribed.\n */\nfunction multicast(coldObservable) {\n const subject = new Subject();\n let sourceSubscription;\n let subscriberCount = 0;\n return new Observable(observer => {\n // Init source subscription lazily\n if (!sourceSubscription) {\n sourceSubscription = coldObservable.subscribe(subject);\n }\n // Pipe all events from `subject` into this observable\n const subscription = subject.subscribe(observer);\n subscriberCount++;\n return () => {\n subscriberCount--;\n subscription.unsubscribe();\n // Close source subscription once last subscriber has unsubscribed\n if (subscriberCount === 0) {\n unsubscribe(sourceSubscription);\n sourceSubscription = undefined;\n }\n };\n });\n}\nexport default multicast;\n","import { Observable } from \"observable-fns\";\nconst doNothing = () => undefined;\nconst returnInput = (input) => input;\nconst runDeferred = (fn) => Promise.resolve().then(fn);\nfunction fail(error) {\n throw error;\n}\nfunction isThenable(thing) {\n return thing && typeof thing.then === \"function\";\n}\n/**\n * Creates a hybrid, combining the APIs of an Observable and a Promise.\n *\n * It is used to proxy async process states when we are initially not sure\n * if that async process will yield values once (-> Promise) or multiple\n * times (-> Observable).\n *\n * Note that the observable promise inherits some of the observable's characteristics:\n * The `init` function will be called *once for every time anyone subscribes to it*.\n *\n * If this is undesired, derive a hot observable from it using `makeHot()` and\n * subscribe to that.\n */\nexport class ObservablePromise extends Observable {\n constructor(init) {\n super((originalObserver) => {\n // tslint:disable-next-line no-this-assignment\n const self = this;\n const observer = Object.assign(Object.assign({}, originalObserver), { complete() {\n originalObserver.complete();\n self.onCompletion();\n }, error(error) {\n originalObserver.error(error);\n self.onError(error);\n },\n next(value) {\n originalObserver.next(value);\n self.onNext(value);\n } });\n try {\n this.initHasRun = true;\n return init(observer);\n }\n catch (error) {\n observer.error(error);\n }\n });\n this.initHasRun = false;\n this.fulfillmentCallbacks = [];\n this.rejectionCallbacks = [];\n this.firstValueSet = false;\n this.state = \"pending\";\n }\n onNext(value) {\n if (!this.firstValueSet) {\n this.firstValue = value;\n this.firstValueSet = true;\n }\n }\n onError(error) {\n this.state = \"rejected\";\n this.rejection = error;\n for (const onRejected of this.rejectionCallbacks) {\n // Promisifying the call to turn errors into unhandled promise rejections\n // instead of them failing sync and cancelling the iteration\n runDeferred(() => onRejected(error));\n }\n }\n onCompletion() {\n this.state = \"fulfilled\";\n for (const onFulfilled of this.fulfillmentCallbacks) {\n // Promisifying the call to turn errors into unhandled promise rejections\n // instead of them failing sync and cancelling the iteration\n runDeferred(() => onFulfilled(this.firstValue));\n }\n }\n then(onFulfilledRaw, onRejectedRaw) {\n const onFulfilled = onFulfilledRaw || returnInput;\n const onRejected = onRejectedRaw || fail;\n let onRejectedCalled = false;\n return new Promise((resolve, reject) => {\n const rejectionCallback = (error) => {\n if (onRejectedCalled)\n return;\n onRejectedCalled = true;\n try {\n resolve(onRejected(error));\n }\n catch (anotherError) {\n reject(anotherError);\n }\n };\n const fulfillmentCallback = (value) => {\n try {\n resolve(onFulfilled(value));\n }\n catch (error) {\n rejectionCallback(error);\n }\n };\n if (!this.initHasRun) {\n this.subscribe({ error: rejectionCallback });\n }\n if (this.state === \"fulfilled\") {\n return resolve(onFulfilled(this.firstValue));\n }\n if (this.state === \"rejected\") {\n onRejectedCalled = true;\n return resolve(onRejected(this.rejection));\n }\n this.fulfillmentCallbacks.push(fulfillmentCallback);\n this.rejectionCallbacks.push(rejectionCallback);\n });\n }\n catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n finally(onCompleted) {\n const handler = onCompleted || doNothing;\n return this.then((value) => {\n handler();\n return value;\n }, () => handler());\n }\n static from(thing) {\n if (isThenable(thing)) {\n return new ObservablePromise(observer => {\n const onFulfilled = (value) => {\n observer.next(value);\n observer.complete();\n };\n const onRejected = (error) => {\n observer.error(error);\n };\n thing.then(onFulfilled, onRejected);\n });\n }\n else {\n return super.from(thing);\n }\n }\n}\n","/*\n * This source file contains the code for proxying calls in the master thread to calls in the workers\n * by `.postMessage()`-ing.\n *\n * Keep in mind that this code can make or break the program's performance! Need to optimize more…\n */\nimport DebugLogger from \"debug\";\nimport { multicast, Observable } from \"observable-fns\";\nimport { deserialize, serialize } from \"../common\";\nimport { ObservablePromise } from \"../observable-promise\";\nimport { isTransferDescriptor } from \"../transferable\";\nimport { MasterMessageType, WorkerMessageType } from \"../types/messages\";\nconst debugMessages = DebugLogger(\"threads:master:messages\");\nlet nextJobUID = 1;\nconst dedupe = (array) => Array.from(new Set(array));\nconst isJobErrorMessage = (data) => data && data.type === WorkerMessageType.error;\nconst isJobResultMessage = (data) => data && data.type === WorkerMessageType.result;\nconst isJobStartMessage = (data) => data && data.type === WorkerMessageType.running;\nfunction createObservableForJob(worker, jobUID) {\n return new Observable(observer => {\n let asyncType;\n const messageHandler = ((event) => {\n debugMessages(\"Message from worker:\", event.data);\n if (!event.data || event.data.uid !== jobUID)\n return;\n if (isJobStartMessage(event.data)) {\n asyncType = event.data.resultType;\n }\n else if (isJobResultMessage(event.data)) {\n if (asyncType === \"promise\") {\n if (typeof event.data.payload !== \"undefined\") {\n observer.next(deserialize(event.data.payload));\n }\n observer.complete();\n worker.removeEventListener(\"message\", messageHandler);\n }\n else {\n if (event.data.payload) {\n observer.next(deserialize(event.data.payload));\n }\n if (event.data.complete) {\n observer.complete();\n worker.removeEventListener(\"message\", messageHandler);\n }\n }\n }\n else if (isJobErrorMessage(event.data)) {\n const error = deserialize(event.data.error);\n if (asyncType === \"promise\" || !asyncType) {\n observer.error(error);\n }\n else {\n observer.error(error);\n }\n worker.removeEventListener(\"message\", messageHandler);\n }\n });\n worker.addEventListener(\"message\", messageHandler);\n return () => {\n if (asyncType === \"observable\" || !asyncType) {\n const cancelMessage = {\n type: MasterMessageType.cancel,\n uid: jobUID\n };\n worker.postMessage(cancelMessage);\n }\n worker.removeEventListener(\"message\", messageHandler);\n };\n });\n}\nfunction prepareArguments(rawArgs) {\n if (rawArgs.length === 0) {\n // Exit early if possible\n return {\n args: [],\n transferables: []\n };\n }\n const args = [];\n const transferables = [];\n for (const arg of rawArgs) {\n if (isTransferDescriptor(arg)) {\n args.push(serialize(arg.send));\n transferables.push(...arg.transferables);\n }\n else {\n args.push(serialize(arg));\n }\n }\n return {\n args,\n transferables: transferables.length === 0 ? transferables : dedupe(transferables)\n };\n}\nexport function createProxyFunction(worker, method) {\n return ((...rawArgs) => {\n const uid = nextJobUID++;\n const { args, transferables } = prepareArguments(rawArgs);\n const runMessage = {\n type: MasterMessageType.run,\n uid,\n method,\n args\n };\n debugMessages(\"Sending command to run function to worker:\", runMessage);\n try {\n worker.postMessage(runMessage, transferables);\n }\n catch (error) {\n return ObservablePromise.from(Promise.reject(error));\n }\n return ObservablePromise.from(multicast(createObservableForJob(worker, uid)));\n });\n}\nexport function createProxyModule(worker, methodNames) {\n const proxy = {};\n for (const methodName of methodNames) {\n proxy[methodName] = createProxyFunction(worker, methodName);\n }\n return proxy;\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport DebugLogger from \"debug\";\nimport { Observable } from \"observable-fns\";\nimport { deserialize } from \"../common\";\nimport { createPromiseWithResolver } from \"../promise\";\nimport { $errors, $events, $terminate, $worker } from \"../symbols\";\nimport { WorkerEventType } from \"../types/master\";\nimport { createProxyFunction, createProxyModule } from \"./invocation-proxy\";\nconst debugMessages = DebugLogger(\"threads:master:messages\");\nconst debugSpawn = DebugLogger(\"threads:master:spawn\");\nconst debugThreadUtils = DebugLogger(\"threads:master:thread-utils\");\nconst isInitMessage = (data) => data && data.type === \"init\";\nconst isUncaughtErrorMessage = (data) => data && data.type === \"uncaughtError\";\nconst initMessageTimeout = typeof process !== \"undefined\" && process.env.THREADS_WORKER_INIT_TIMEOUT\n ? Number.parseInt(process.env.THREADS_WORKER_INIT_TIMEOUT, 10)\n : 10000;\nfunction withTimeout(promise, timeoutInMs, errorMessage) {\n return __awaiter(this, void 0, void 0, function* () {\n let timeoutHandle;\n const timeout = new Promise((resolve, reject) => {\n timeoutHandle = setTimeout(() => reject(Error(errorMessage)), timeoutInMs);\n });\n const result = yield Promise.race([\n promise,\n timeout\n ]);\n clearTimeout(timeoutHandle);\n return result;\n });\n}\nfunction receiveInitMessage(worker) {\n return new Promise((resolve, reject) => {\n const messageHandler = ((event) => {\n debugMessages(\"Message from worker before finishing initialization:\", event.data);\n if (isInitMessage(event.data)) {\n worker.removeEventListener(\"message\", messageHandler);\n resolve(event.data);\n }\n else if (isUncaughtErrorMessage(event.data)) {\n worker.removeEventListener(\"message\", messageHandler);\n reject(deserialize(event.data.error));\n }\n });\n worker.addEventListener(\"message\", messageHandler);\n });\n}\nfunction createEventObservable(worker, workerTermination) {\n return new Observable(observer => {\n const messageHandler = ((messageEvent) => {\n const workerEvent = {\n type: WorkerEventType.message,\n data: messageEvent.data\n };\n observer.next(workerEvent);\n });\n const rejectionHandler = ((errorEvent) => {\n debugThreadUtils(\"Unhandled promise rejection event in thread:\", errorEvent);\n const workerEvent = {\n type: WorkerEventType.internalError,\n error: Error(errorEvent.reason)\n };\n observer.next(workerEvent);\n });\n worker.addEventListener(\"message\", messageHandler);\n worker.addEventListener(\"unhandledrejection\", rejectionHandler);\n workerTermination.then(() => {\n const terminationEvent = {\n type: WorkerEventType.termination\n };\n worker.removeEventListener(\"message\", messageHandler);\n worker.removeEventListener(\"unhandledrejection\", rejectionHandler);\n observer.next(terminationEvent);\n observer.complete();\n });\n });\n}\nfunction createTerminator(worker) {\n const [termination, resolver] = createPromiseWithResolver();\n const terminate = () => __awaiter(this, void 0, void 0, function* () {\n debugThreadUtils(\"Terminating worker\");\n // Newer versions of worker_threads workers return a promise\n yield worker.terminate();\n resolver();\n });\n return { terminate, termination };\n}\nfunction setPrivateThreadProps(raw, worker, workerEvents, terminate) {\n const workerErrors = workerEvents\n .filter(event => event.type === WorkerEventType.internalError)\n .map(errorEvent => errorEvent.error);\n // tslint:disable-next-line prefer-object-spread\n return Object.assign(raw, {\n [$errors]: workerErrors,\n [$events]: workerEvents,\n [$terminate]: terminate,\n [$worker]: worker\n });\n}\n/**\n * Spawn a new thread. Takes a fresh worker instance, wraps it in a thin\n * abstraction layer to provide the transparent API and verifies that\n * the worker has initialized successfully.\n *\n * @param worker Instance of `Worker`. Either a web worker, `worker_threads` worker or `tiny-worker` worker.\n * @param [options]\n * @param [options.timeout] Init message timeout. Default: 10000 or set by environment variable.\n */\nexport function spawn(worker, options) {\n return __awaiter(this, void 0, void 0, function* () {\n debugSpawn(\"Initializing new thread\");\n const timeout = options && options.timeout ? options.timeout : initMessageTimeout;\n const initMessage = yield withTimeout(receiveInitMessage(worker), timeout, `Timeout: Did not receive an init message from worker after ${timeout}ms. Make sure the worker calls expose().`);\n const exposed = initMessage.exposed;\n const { termination, terminate } = createTerminator(worker);\n const events = createEventObservable(worker, termination);\n if (exposed.type === \"function\") {\n const proxy = createProxyFunction(worker);\n return setPrivateThreadProps(proxy, worker, events, terminate);\n }\n else if (exposed.type === \"module\") {\n const proxy = createProxyModule(worker, exposed.methods);\n return setPrivateThreadProps(proxy, worker, events, terminate);\n }\n else {\n const type = exposed.type;\n throw Error(`Worker init message states unexpected type of expose(): ${type}`);\n }\n });\n}\n","export const $errors = Symbol(\"thread.errors\");\nexport const $events = Symbol(\"thread.events\");\nexport const $terminate = Symbol(\"thread.terminate\");\nexport const $transferable = Symbol(\"thread.transferable\");\nexport const $worker = Symbol(\"thread.worker\");\n","const doNothing = () => undefined;\n/**\n * Creates a new promise and exposes its resolver function.\n * Use with care!\n */\nexport function createPromiseWithResolver() {\n let alreadyResolved = false;\n let resolvedTo;\n let resolver = doNothing;\n const promise = new Promise(resolve => {\n if (alreadyResolved) {\n resolve(resolvedTo);\n }\n else {\n resolver = resolve;\n }\n });\n const exposedResolver = (value) => {\n alreadyResolved = true;\n resolvedTo = value;\n resolver(resolvedTo);\n };\n return [promise, exposedResolver];\n}\n","// import { expose } from \"threads/worker\";\n\nfunction compareSubParams(modifiedParam, originalParam) {\n // console.log(\"modifiedParam\", modifiedParam);\n // console.log(\"originalParam\", originalParam);\n var result = [];\n\n for (const prop in modifiedParam) {\n if (modifiedParam[prop].param_value != originalParam[prop].param_value) {\n let newSubParam = new Object();\n newSubParam.param_id = modifiedParam[prop].param_id;\n newSubParam.param_name = modifiedParam[prop].param_name;\n newSubParam.param_value = modifiedParam[prop].param_value;\n newSubParam.original_value = originalParam[prop].param_value;\n result.push(newSubParam);\n }\n }\n return result;\n}\n\n// expose({\n// compareParameters(modifiedArray, originalArray) {\n// var result = {};\n// for (const sectionIndex in modifiedArray) {\n// for (const groupIndex in modifiedArray[sectionIndex].groups) {\n// for (const paramIndex in modifiedArray[sectionIndex].groups[groupIndex]\n// .group_params) {\n// // console.log(\"#\", JSON.stringify(modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex]));\n\n// if (\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_type != \"enum\"\n// ) {\n// let modified_value =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value;\n// let original_value =\n// originalArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value;\n\n// // nome do grupo\n// var groupName =\n// modifiedArray[sectionIndex].groups[groupIndex].group_name;\n\n// var alreadyPassed = false;\n\n// if (modified_value != original_value) {\n// let newParam = new Object();\n\n// // nome da secção\n// newParam.section_name = modifiedArray[sectionIndex].section_name;\n\n// // nome, id e valor do parâmetro\n// newParam.param_id =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_id;\n// newParam.param_name =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_name;\n// newParam.param_value =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value;\n\n// // valor original\n// newParam.original_value =\n// originalArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value;\n\n// // Trabalhar com sub-parâmetros\n// if (\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_subparams\n// ) {\n// alreadyPassed = true;\n// var modifiedSubParams =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_subparams;\n// var originalSubParams =\n// originalArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_subparams;\n// if (\n// modifiedSubParams.length > 0 &&\n// originalSubParams.length > 0\n// ) {\n// // Compara os sub-parâmetros\n// let subParams = compareSubParams(\n// modifiedSubParams,\n// originalSubParams\n// );\n// // console.log(\"subParams\", JSON.stringify(subParams));\n// if (subParams.length > 0) {\n// if (!newParam.param_subparams)\n// newParam.param_subparams = [];\n// subParams.forEach((item) =>\n// newParam.param_subparams.push(item)\n// );\n// }\n// }\n// }\n\n// if (!result[newParam.section_name])\n// result[newParam.section_name] = {};\n// if (!result[newParam.section_name][groupName])\n// result[newParam.section_name][groupName] = [];\n\n// // result[newParam.section_name].push(newParam);\n// result[newParam.section_name][groupName].push(newParam);\n// } //end (modified_value != original_value)\n\n// // Trabalhar com sub-parâmetros\n// // Quando você altera um sub-parâmetro sem alterar o parâmetro principal (primeiro nível).\n// if (\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_subparams &&\n// !alreadyPassed\n// ) {\n// var modifiedSubParams =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_subparams;\n// var originalSubParams =\n// originalArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_subparams;\n// if (\n// modifiedSubParams.length > 0 &&\n// originalSubParams.length > 0\n// ) {\n// // Compara os sub-parâmetros\n// let subParams = compareSubParams(\n// modifiedSubParams,\n// originalSubParams\n// );\n// if (subParams.length > 0) {\n// let newSubParam = new Object();\n\n// // nome da secção\n// newSubParam.section_name =\n// modifiedArray[sectionIndex].section_name;\n\n// // nome, id e valor do parâmetro\n// newSubParam.param_id =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_id;\n// newSubParam.param_name =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_name;\n// newSubParam.param_value =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value;\n\n// // valor original\n// newSubParam.original_value =\n// originalArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value;\n\n// if (!result[newSubParam.section_name])\n// result[newSubParam.section_name] = {};\n// if (!result[newSubParam.section_name][groupName])\n// result[newSubParam.section_name][groupName] = [];\n\n// subParams.forEach((item) => {\n// if (!newSubParam.param_subparams)\n// newSubParam.param_subparams = [];\n// newSubParam.param_subparams.push(item);\n// });\n\n// result[newSubParam.section_name][groupName].push(newSubParam);\n// }\n// }\n// } //end (modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams && !alreadyPassed)\n// } //end modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_type != \"enum\"\n// else {\n// // +---------------------------------------------------+\n// // | param_type == \"enum\" |\n// // +---------------------------------------------------+\n// // ---------------------------------------------------------------------------------\n// // ---------------------------------------------------------------------------------\n// // ---------------------------------------------------------------------------------\n// // console.log(\"%c# Deu bom #\", \"font-size: 30px; font-weight: bold; color: chartreuse;\");\n// // console.log(modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex]);\n\n// let modified_value =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value_id;\n// let original_value =\n// originalArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value_id;\n\n// // nome do grupo\n// var groupName =\n// modifiedArray[sectionIndex].groups[groupIndex].group_name;\n\n// // console.log(\"modified_value:\", modified_value);\n// // console.log(\"original_value:\", original_value);\n\n// var alreadyPassed = false;\n\n// if (modified_value != original_value) {\n// // console.log(\"%c# entrou #\", \"font-size: 20px; font-weight: bold; color: aqua;\");\n// // console.log(\" group_name:\", groupName);\n// // console.log(\"modified_value:\", modified_value);\n// // console.log(\"original_value:\", original_value);\n\n// let newParam = new Object();\n\n// // // nome da secção\n// newParam.section_name = modifiedArray[sectionIndex].section_name;\n\n// // nome, id e valor do parâmetro\n// newParam.param_id =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_id;\n// newParam.param_name =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_name;\n// newParam.param_value =\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value_id;\n\n// // // valor original\n// newParam.original_value =\n// originalArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_value_id;\n\n// // console.log(\"Checar sub-parâmetros...\");\n// // console.log(JSON.stringify(modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex]));\n\n// // Trabalhar com sub-parâmetros\n// // if (modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams) {\n// // console.log(\"%c# has sub-params #\", \"font-size: 30px; font-weight: bold; color: yellow;\");\n// // alreadyPassed = true;\n// // var modifiedSubParams = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n// // var originalSubParams = originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n// // if (modifiedSubParams.length > 0 && originalSubParams.length > 0) {\n// // // Compara os sub-parâmetros\n// // let subParams = compareSubParams(modifiedSubParams, originalSubParams);\n// // // console.log(\"subParams\", JSON.stringify(subParams));\n// // if (subParams.length > 0) {\n// // if (!newParam.param_subparams) newParam.param_subparams = [];\n// // subParams.forEach(item => newParam.param_subparams.push(item));\n// // }\n// // }\n// // }\n\n// // if (!result[newParam.section_name]) result[newParam.section_name] = {};\n// // if (!result[newParam.section_name][groupName]) result[newParam.section_name][groupName] = [];\n\n// // // result[newParam.section_name].push(newParam);\n// // result[newParam.section_name][groupName].push(newParam);\n// } //end (modified_value != original_value)\n\n// // Trabalhar com sub-parâmetros\n// // Quando você altera um sub-parâmetro sem alterar o parâmetro principal (primeiro nível).\n// if (\n// modifiedArray[sectionIndex].groups[groupIndex].group_params[\n// paramIndex\n// ].param_subparams &&\n// !alreadyPassed\n// ) {\n// // console.log(\"%c# Step 4 #\", \"font-size: 30px; font-weight: bold; color: orangered;\");\n// // var modifiedSubParams = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n// // var originalSubParams = originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n// // if (modifiedSubParams.length > 0 && originalSubParams.length > 0) {\n// // // Compara os sub-parâmetros\n// // let subParams = compareSubParams(modifiedSubParams, originalSubParams);\n// // if (subParams.length > 0) {\n// // let newSubParam = new Object();\n// // // nome da secção\n// // newSubParam.section_name = modifiedArray[sectionIndex].section_name;\n// // // nome, id e valor do parâmetro\n// // newSubParam.param_id = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_id;\n// // newSubParam.param_name = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_name;\n// // newSubParam.param_value = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n// // // valor original\n// // newSubParam.original_value = originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n// // if (!result[newSubParam.section_name]) result[newSubParam.section_name] = {};\n// // if (!result[newSubParam.section_name][groupName]) result[newSubParam.section_name][groupName] = [];\n// // subParams.forEach(item => {\n// // if (!newSubParam.param_subparams) newSubParam.param_subparams = [];\n// // newSubParam.param_subparams.push(item);\n// // });\n// // result[newSubParam.section_name][groupName].push(newSubParam);\n// // }\n// // }\n// } //end (modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams && !alreadyPassed)\n// // ---------------------------------------------------------------------------------\n// // ---------------------------------------------------------------------------------\n// // ---------------------------------------------------------------------------------\n// }\n// // end else\n// }\n// } // for (const groupIndex in modifiedArray[sectionIndex].groups)\n// } // for (const sectionIndex in modifiedArray)\n// return result;\n// },\n// });\n\nexport function compareParameters(modifiedArray, originalArray) {\n var result = {};\n for (const sectionIndex in modifiedArray) {\n for (const groupIndex in modifiedArray[sectionIndex].groups) {\n for (const paramIndex in modifiedArray[sectionIndex].groups[groupIndex].group_params) {\n // console.log(\"#\", JSON.stringify(modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex]));\n\n if (modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_type != \"enum\") {\n let modified_value = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n let original_value = originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n\n // nome do grupo\n var groupName = modifiedArray[sectionIndex].groups[groupIndex].group_name;\n\n var alreadyPassed = false;\n\n if (modified_value != original_value) {\n let newParam = new Object();\n\n // nome da secção\n newParam.section_name = modifiedArray[sectionIndex].section_name;\n\n // nome, id e valor do parâmetro\n newParam.param_id = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_id;\n newParam.param_name = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_name;\n newParam.param_value = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n\n // valor original\n newParam.original_value =\n originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n\n // Trabalhar com sub-parâmetros\n if (modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams) {\n alreadyPassed = true;\n var modifiedSubParams =\n modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n var originalSubParams =\n originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n if (modifiedSubParams.length > 0 && originalSubParams.length > 0) {\n // Compara os sub-parâmetros\n let subParams = compareSubParams(modifiedSubParams, originalSubParams);\n // console.log(\"subParams\", JSON.stringify(subParams));\n if (subParams.length > 0) {\n if (!newParam.param_subparams) newParam.param_subparams = [];\n subParams.forEach((item) => newParam.param_subparams.push(item));\n }\n }\n }\n\n if (!result[newParam.section_name]) result[newParam.section_name] = {};\n if (!result[newParam.section_name][groupName]) result[newParam.section_name][groupName] = [];\n\n // result[newParam.section_name].push(newParam);\n result[newParam.section_name][groupName].push(newParam);\n } //end (modified_value != original_value)\n\n // Trabalhar com sub-parâmetros\n // Quando você altera um sub-parâmetro sem alterar o parâmetro principal (primeiro nível).\n if (\n modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams &&\n !alreadyPassed\n ) {\n var modifiedSubParams =\n modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n var originalSubParams =\n originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n if (modifiedSubParams.length > 0 && originalSubParams.length > 0) {\n // Compara os sub-parâmetros\n let subParams = compareSubParams(modifiedSubParams, originalSubParams);\n if (subParams.length > 0) {\n let newSubParam = new Object();\n\n // nome da secção\n newSubParam.section_name = modifiedArray[sectionIndex].section_name;\n\n // nome, id e valor do parâmetro\n newSubParam.param_id = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_id;\n newSubParam.param_name =\n modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_name;\n newSubParam.param_value =\n modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n\n // valor original\n newSubParam.original_value =\n originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n\n if (!result[newSubParam.section_name]) result[newSubParam.section_name] = {};\n if (!result[newSubParam.section_name][groupName]) result[newSubParam.section_name][groupName] = [];\n\n subParams.forEach((item) => {\n if (!newSubParam.param_subparams) newSubParam.param_subparams = [];\n newSubParam.param_subparams.push(item);\n });\n\n result[newSubParam.section_name][groupName].push(newSubParam);\n }\n }\n } //end (modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams && !alreadyPassed)\n } //end modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_type != \"enum\"\n else {\n // +---------------------------------------------------+\n // | param_type == \"enum\" |\n // +---------------------------------------------------+\n // ---------------------------------------------------------------------------------\n // ---------------------------------------------------------------------------------\n // ---------------------------------------------------------------------------------\n // console.log(\"%c# Deu bom #\", \"font-size: 30px; font-weight: bold; color: chartreuse;\");\n // console.log(modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex]);\n\n let modified_value = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value_id;\n let original_value = originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value_id;\n\n // nome do grupo\n var groupName = modifiedArray[sectionIndex].groups[groupIndex].group_name;\n\n // console.log(\"modified_value:\", modified_value);\n // console.log(\"original_value:\", original_value);\n\n var alreadyPassed = false;\n\n if (modified_value != original_value) {\n // console.log(\"%c# entrou #\", \"font-size: 20px; font-weight: bold; color: aqua;\");\n // console.log(\" group_name:\", groupName);\n // console.log(\"modified_value:\", modified_value);\n // console.log(\"original_value:\", original_value);\n\n let newParam = new Object();\n\n // // nome da secção\n newParam.section_name = modifiedArray[sectionIndex].section_name;\n\n // nome, id e valor do parâmetro\n newParam.param_id = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_id;\n newParam.param_name = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_name;\n newParam.param_value =\n modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value_id;\n\n // // valor original\n newParam.original_value =\n originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value_id;\n\n // console.log(\"Checar sub-parâmetros...\");\n // console.log(JSON.stringify(modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex]));\n\n // Trabalhar com sub-parâmetros\n // if (modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams) {\n // console.log(\"%c# has sub-params #\", \"font-size: 30px; font-weight: bold; color: yellow;\");\n // alreadyPassed = true;\n // var modifiedSubParams = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n // var originalSubParams = originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n // if (modifiedSubParams.length > 0 && originalSubParams.length > 0) {\n // // Compara os sub-parâmetros\n // let subParams = compareSubParams(modifiedSubParams, originalSubParams);\n // // console.log(\"subParams\", JSON.stringify(subParams));\n // if (subParams.length > 0) {\n // if (!newParam.param_subparams) newParam.param_subparams = [];\n // subParams.forEach(item => newParam.param_subparams.push(item));\n // }\n // }\n // }\n\n // if (!result[newParam.section_name]) result[newParam.section_name] = {};\n // if (!result[newParam.section_name][groupName]) result[newParam.section_name][groupName] = [];\n\n // // result[newParam.section_name].push(newParam);\n // result[newParam.section_name][groupName].push(newParam);\n } //end (modified_value != original_value)\n\n // Trabalhar com sub-parâmetros\n // Quando você altera um sub-parâmetro sem alterar o parâmetro principal (primeiro nível).\n if (\n modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams &&\n !alreadyPassed\n ) {\n // console.log(\"%c# Step 4 #\", \"font-size: 30px; font-weight: bold; color: orangered;\");\n // var modifiedSubParams = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n // var originalSubParams = originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams;\n // if (modifiedSubParams.length > 0 && originalSubParams.length > 0) {\n // // Compara os sub-parâmetros\n // let subParams = compareSubParams(modifiedSubParams, originalSubParams);\n // if (subParams.length > 0) {\n // let newSubParam = new Object();\n // // nome da secção\n // newSubParam.section_name = modifiedArray[sectionIndex].section_name;\n // // nome, id e valor do parâmetro\n // newSubParam.param_id = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_id;\n // newSubParam.param_name = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_name;\n // newSubParam.param_value = modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n // // valor original\n // newSubParam.original_value = originalArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_value;\n // if (!result[newSubParam.section_name]) result[newSubParam.section_name] = {};\n // if (!result[newSubParam.section_name][groupName]) result[newSubParam.section_name][groupName] = [];\n // subParams.forEach(item => {\n // if (!newSubParam.param_subparams) newSubParam.param_subparams = [];\n // newSubParam.param_subparams.push(item);\n // });\n // result[newSubParam.section_name][groupName].push(newSubParam);\n // }\n // }\n } //end (modifiedArray[sectionIndex].groups[groupIndex].group_params[paramIndex].param_subparams && !alreadyPassed)\n // ---------------------------------------------------------------------------------\n // ---------------------------------------------------------------------------------\n // ---------------------------------------------------------------------------------\n }\n // end else\n }\n } // for (const groupIndex in modifiedArray[sectionIndex].groups)\n } // for (const sectionIndex in modifiedArray)\n return result;\n}\n","\n\n\n\n\n","import { $transferable } from \"./symbols\";\nfunction isTransferable(thing) {\n if (!thing || typeof thing !== \"object\")\n return false;\n // Don't check too thoroughly, since the list of transferable things in JS might grow over time\n return true;\n}\nexport function isTransferDescriptor(thing) {\n return thing && typeof thing === \"object\" && thing[$transferable];\n}\nexport function Transfer(payload, transferables) {\n if (!transferables) {\n if (!isTransferable(payload))\n throw Error();\n transferables = [payload];\n }\n return {\n [$transferable]: true,\n send: payload,\n transferables\n };\n}\n","/////////////////////////////\n// Messages sent by master:\nexport var MasterMessageType;\n(function (MasterMessageType) {\n MasterMessageType[\"cancel\"] = \"cancel\";\n MasterMessageType[\"run\"] = \"run\";\n})(MasterMessageType || (MasterMessageType = {}));\n////////////////////////////\n// Messages sent by worker:\nexport var WorkerMessageType;\n(function (WorkerMessageType) {\n WorkerMessageType[\"error\"] = \"error\";\n WorkerMessageType[\"init\"] = \"init\";\n WorkerMessageType[\"result\"] = \"result\";\n WorkerMessageType[\"running\"] = \"running\";\n WorkerMessageType[\"uncaughtError\"] = \"uncaughtError\";\n})(WorkerMessageType || (WorkerMessageType = {}));\n","export function extendSerializer(extend, implementation) {\n const fallbackDeserializer = extend.deserialize.bind(extend);\n const fallbackSerializer = extend.serialize.bind(extend);\n return {\n deserialize(message) {\n return implementation.deserialize(message, fallbackDeserializer);\n },\n serialize(input) {\n return implementation.serialize(input, fallbackSerializer);\n }\n };\n}\nconst DefaultErrorSerializer = {\n deserialize(message) {\n return Object.assign(Error(message.message), {\n name: message.name,\n stack: message.stack\n });\n },\n serialize(error) {\n return {\n __error_marker: \"$$error\",\n message: error.message,\n name: error.name,\n stack: error.stack\n };\n }\n};\nconst isSerializedError = (thing) => thing && typeof thing === \"object\" && \"__error_marker\" in thing && thing.__error_marker === \"$$error\";\nexport const DefaultSerializer = {\n deserialize(message) {\n if (isSerializedError(message)) {\n return DefaultErrorSerializer.deserialize(message);\n }\n else {\n return message;\n }\n },\n serialize(input) {\n if (input instanceof Error) {\n return DefaultErrorSerializer.serialize(input);\n }\n else {\n return input;\n }\n }\n};\n","import { extendSerializer, DefaultSerializer } from \"./serializers\";\nlet registeredSerializer = DefaultSerializer;\nexport function registerSerializer(serializer) {\n registeredSerializer = extendSerializer(registeredSerializer, serializer);\n}\nexport function deserialize(message) {\n return registeredSerializer.deserialize(message);\n}\nexport function serialize(input) {\n return registeredSerializer.serialize(input);\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(' ', ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","import { $errors, $events, $terminate } from \"../symbols\";\nfunction fail(message) {\n throw Error(message);\n}\n/** Thread utility functions. Use them to manage or inspect a `spawn()`-ed thread. */\nexport const Thread = {\n /** Return an observable that can be used to subscribe to all errors happening in the thread. */\n errors(thread) {\n return thread[$errors] || fail(\"Error observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\");\n },\n /** Return an observable that can be used to subscribe to internal events happening in the thread. Useful for debugging. */\n events(thread) {\n return thread[$events] || fail(\"Events observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\");\n },\n /** Terminate a thread. Remember to terminate every thread when you are done using it. */\n terminate(thread) {\n return thread[$terminate]();\n }\n};\n"],"sourceRoot":""}