diff --git a/.npmignore b/.npmignore index 2ab0877..8117d27 100644 --- a/.npmignore +++ b/.npmignore @@ -4,4 +4,6 @@ output anitomy .vscode .gitmodules -output \ No newline at end of file +output +include +test \ No newline at end of file diff --git a/dist/anitomyscript.bundle.js b/dist/anitomyscript.bundle.js index 93d8aa5..3c54ddd 100644 --- a/dist/anitomyscript.bundle.js +++ b/dist/anitomyscript.bundle.js @@ -93,9 +93,13 @@ if (typeof exports === 'object' && typeof module === 'object') exports["anitomyscript"] = anitomyscript; }).call(this,require('_process'),"/build") -},{"_process":5,"fs":3,"path":4}],2:[function(require,module,exports){ +},{"_process":6,"fs":4,"path":5}],2:[function(require,module,exports){ 'use strict'; +var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } @@ -132,9 +136,9 @@ function parse(_x) { function _parse() { _parse = _asyncToGenerator( /*#__PURE__*/ - regeneratorRuntime.mark(function _callee(file) { + _regenerator["default"].mark(function _callee(file) { var vector, result; - return regeneratorRuntime.wrap(function _callee$(_context) { + return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: @@ -226,9 +230,12 @@ function mapVector(vector) { return array; } -},{"./build/anitomyscript":1}],3:[function(require,module,exports){ +},{"./build/anitomyscript":1,"@babel/runtime/regenerator":3}],3:[function(require,module,exports){ +module.exports = require("regenerator-runtime"); + +},{"regenerator-runtime":7}],4:[function(require,module,exports){ -},{}],4:[function(require,module,exports){ +},{}],5:[function(require,module,exports){ (function (process){ // .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1, // backported and transplited with Babel, with backwards-compat fixes @@ -534,7 +541,7 @@ var substr = 'ab'.substr(-1) === 'b' ; }).call(this,require('_process')) -},{"_process":5}],5:[function(require,module,exports){ +},{"_process":6}],6:[function(require,module,exports){ // shim for using process in browser var process = module.exports = {}; @@ -720,5 +727,733 @@ process.chdir = function (dir) { }; process.umask = function() { return 0; }; +},{}],7:[function(require,module,exports){ +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var runtime = (function (exports) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + exports.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + // This is a polyfill for %IteratorPrototype% for environments that + // don't natively support it. + var IteratorPrototype = {}; + IteratorPrototype[iteratorSymbol] = function () { + return this; + }; + + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + if (NativeIteratorPrototype && + NativeIteratorPrototype !== Op && + hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + // This environment has a native %IteratorPrototype%; use it instead + // of the polyfill. + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = + Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; + GeneratorFunctionPrototype.constructor = GeneratorFunction; + GeneratorFunctionPrototype[toStringTagSymbol] = + GeneratorFunction.displayName = "GeneratorFunction"; + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + prototype[method] = function(arg) { + return this._invoke(method, arg); + }; + }); + } + + exports.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; + + exports.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + if (!(toStringTagSymbol in genFun)) { + genFun[toStringTagSymbol] = "GeneratorFunction"; + } + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `hasOwn.call(value, "__await")` to determine if the yielded value is + // meant to be awaited. + exports.awrap = function(arg) { + return { __await: arg }; + }; + + function AsyncIterator(generator) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value && + typeof value === "object" && + hasOwn.call(value, "__await")) { + return Promise.resolve(value.__await).then(function(value) { + invoke("next", value, resolve, reject); + }, function(err) { + invoke("throw", err, resolve, reject); + }); + } + + return Promise.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. + result.value = unwrapped; + resolve(result); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new Promise(function(resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + AsyncIterator.prototype[asyncIteratorSymbol] = function () { + return this; + }; + exports.AsyncIterator = AsyncIterator; + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + exports.async = function(innerFn, outerFn, self, tryLocsList) { + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList) + ); + + return exports.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = context.arg; + + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(context.arg) call above. + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + // Call delegate.iterator[context.method](context.arg) and handle the + // result, either by returning a { value, done } result from the + // delegate iterator, or by modifying context.method and context.arg, + // setting context.delegate to null, and returning the ContinueSentinel. + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + if (method === undefined) { + // A .throw or .return when the delegate iterator has no .throw + // method always terminates the yield* loop. + context.delegate = null; + + if (context.method === "throw") { + // Note: ["return"] must be used for ES3 parsing compatibility. + if (delegate.iterator["return"]) { + // If the delegate iterator has a return method, give it a + // chance to clean up. + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + // If maybeInvokeDelegate(context) changed context.method from + // "return" to "throw", let that override the TypeError below. + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError( + "The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (! info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + // Assign the result of the finished delegate to the temporary + // variable specified by delegate.resultName (see delegateYield). + context[delegate.resultName] = info.value; + + // Resume execution at the desired location (see delegateYield). + context.next = delegate.nextLoc; + + // If context.method was "throw" but the delegate handled the + // exception, let the outer generator proceed normally. If + // context.method was "next", forget context.arg since it has been + // "consumed" by the delegate iterator. If context.method was + // "return", allow the original .return call to continue in the + // outer generator. + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + + } else { + // Re-yield the result returned by the delegate method. + return info; + } + + // The delegate iterator is finished, so forget it and continue with + // the outer generator. + context.delegate = null; + return ContinueSentinel; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + Gp[toStringTagSymbol] = "Generator"; + + // A Generator should always return itself as the iterator object when the + // @@iterator function is called on it. Some browsers' implementations of the + // iterator prototype chain incorrectly implement this, causing the Generator + // object to not be returned from this call. This ensures that doesn't happen. + // See https://github.com/facebook/regenerator/issues/274 for more details. + Gp[iteratorSymbol] = function() { + return this; + }; + + Gp.toString = function() { + return "[object Generator]"; + }; + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + exports.keys = function(object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + exports.values = values; + + function doneResult() { + return { value: undefined, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + + this.method = "next"; + this.arg = undefined; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + + stop: function() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + context.method = "next"; + context.arg = undefined; + } + + return !! caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + this.arg = undefined; + } + + return ContinueSentinel; + } + }; + + // Regardless of whether this script is executing as a CommonJS module + // or not, return the runtime object so that we can declare the variable + // regeneratorRuntime in the outer scope, which allows this module to be + // injected easily by `bin/regenerator --include-runtime script.js`. + return exports; + +}( + // If this script is executing as a CommonJS module, use module.exports + // as the regeneratorRuntime namespace. Otherwise create a new empty + // object. Either way, the resulting object will be used to initialize + // the regeneratorRuntime variable at the top of this file. + typeof module === "object" ? module.exports : {} +)); + +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + // This module should not be running in strict mode, so the above + // assignment should always work unless something is misconfigured. Just + // in case runtime.js accidentally runs in strict mode, we can escape + // strict mode using a global Function call. This could conceivably fail + // if a Content Security Policy forbids using Function, but in that case + // the proper solution is to fix the accidental strict mode problem. If + // you've misconfigured your bundler to force strict mode and applied a + // CSP to forbid Function, and you're not willing to fix either of those + // problems, please detail your unique predicament in a GitHub issue. + Function("r", "regeneratorRuntime = r")(runtime); +} + },{}]},{},[2])(2) }); diff --git a/dist/anitomyscript.bundle.min.js b/dist/anitomyscript.bundle.min.js index 8e5a19d..2559689 100644 --- a/dist/anitomyscript.bundle.min.js +++ b/dist/anitomyscript.bundle.min.js @@ -1 +1 @@ -!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).anitomyscript=n()}}(function(){var n,e,t=function(n){var e;return function(t){return e||n(e={exports:{},parent:t},e.exports),e.exports}},r=t(function(n,e){(function(n){function t(n,e){for(var t=0,r=n.length-1;r>=0;r--){var a=n[r];"."===a?n.splice(r,1):".."===a?(n.splice(r,1),t++):t&&(n.splice(r,1),t--)}if(e)for(;t--;t)n.unshift("..");return n}function r(n,e){if(n.filter)return n.filter(e);for(var t=[],r=0;r=-1&&!a;i--){var o=i>=0?arguments[i]:n.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(e=o+"/"+e,a="/"===o.charAt(0))}return(a?"/":"")+(e=t(r(e.split("/"),function(n){return!!n}),!a).join("/"))||"."},e.normalize=function(n){var i=e.isAbsolute(n),o="/"===a(n,-1);return(n=t(r(n.split("/"),function(n){return!!n}),!i).join("/"))||i||(n="."),n&&o&&(n+="/"),(i?"/":"")+n},e.isAbsolute=function(n){return"/"===n.charAt(0)},e.join=function(){var n=Array.prototype.slice.call(arguments,0);return e.normalize(r(n,function(n,e){if("string"!=typeof n)throw new TypeError("Arguments to path.join must be strings");return n}).join("/"))},e.relative=function(n,t){function r(n){for(var e=0;e=0&&""===n[t];t--);return e>t?[]:n.slice(e,t-e+1)}n=e.resolve(n).substr(1),t=e.resolve(t).substr(1);for(var a=r(n.split("/")),i=r(t.split("/")),o=Math.min(a.length,i.length),u=o,s=0;s=1;--i)if(47===(e=n.charCodeAt(i))){if(!a){r=i;break}}else a=!1;return-1===r?t?"/":".":t&&1===r?"/":n.slice(0,r)},e.basename=function(n,e){var t=function(n){"string"!=typeof n&&(n+="");var e,t=0,r=-1,a=!0;for(e=n.length-1;e>=0;--e)if(47===n.charCodeAt(e)){if(!a){t=e+1;break}}else-1===r&&(a=!1,r=e+1);return-1===r?"":n.slice(t,r)}(n);return e&&t.substr(-1*e.length)===e&&(t=t.substr(0,t.length-e.length)),t},e.extname=function(n){"string"!=typeof n&&(n+="");for(var e=-1,t=0,r=-1,a=!0,i=0,o=n.length-1;o>=0;--o){var u=n.charCodeAt(o);if(47!==u)-1===r&&(a=!1,r=o+1),46===u?-1===e?e=o:1!==i&&(i=1):-1!==e&&(i=-1);else if(!a){t=o+1;break}}return-1===e||-1===r||0===i||1===i&&e===r-1&&e===t+1?"":n.slice(e,r)};var a="b"==="ab".substr(-1)?function(n,e,t){return n.substr(e,t)}:function(n,e,t){return e<0&&(e=n.length+e),n.substr(e,t)}}).call(this,i)}),a=t(function(n,e){}),i={},o=i={};function u(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function f(e){if(n===setTimeout)return setTimeout(e,0);if((n===u||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:u}catch(t){n=u}try{e="function"==typeof clearTimeout?clearTimeout:s}catch(t){e=s}}();var l,c=[],p=!1,h=-1;function d(){p&&l&&(p=!1,l.length?c=l.concat(c):h=-1,c.length&&y())}function y(){if(!p){var n=f(d);p=!0;for(var t=c.length;t;){for(l=c,c=[];++h1)for(var t=1;t=t);)++r;if(16(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&e[n++])?t+=String.fromCharCode(a):(a-=65536,t+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else t+=String.fromCharCode(a)}n=t}}else n="";return n}function T(n,e,t,r){if(0=i&&(i=65536+((1023&i)<<10)|1023&n.charCodeAt(++a)),127>=i){if(t>=r)break;e[t++]=i}else{if(2047>=i){if(t+1>=r)break;e[t++]=192|i>>6}else{if(65535>=i){if(t+2>=r)break;e[t++]=224|i>>12}else{if(t+3>=r)break;e[t++]=240|i>>18,e[t++]=128|i>>12&63}e[t++]=128|i>>6&63}e[t++]=128|63&i}}e[t]=0}}function C(n){for(var e=0,t=0;t=r&&(r=65536+((1023&r)<<10)|1023&n.charCodeAt(++t)),127>=r?++e:e=2047>=r?e+2:65535>=r?e+3:e+4}return e}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var k,_,P,F,D,x,j,W,S,O=o.TOTAL_MEMORY||16777216;function R(n){for(;0O&&v("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+O+"! (TOTAL_STACK=5242880)"),k=o.buffer?o.buffer:"object"==typeof WebAssembly&&"function"==typeof WebAssembly.Memory?(w=new WebAssembly.Memory({initial:O/65536,maximum:O/65536})).buffer:new ArrayBuffer(O),o.HEAP8=_=new Int8Array(k),o.HEAP16=F=new Int16Array(k),o.HEAP32=x=new Int32Array(k),o.HEAPU8=P=new Uint8Array(k),o.HEAPU16=D=new Uint16Array(k),o.HEAPU32=j=new Uint32Array(k),o.HEAPF32=W=new Float32Array(k),o.HEAPF64=S=new Float64Array(k),x[8904]=5278528;var M=[],I=[],U=[],B=[],Y=!1;function N(){var n=o.preRun.shift();M.unshift(n)}var L=0,q=null,H=null;function V(){var n=z;return String.prototype.startsWith?n.startsWith("data:application/octet-stream;base64,"):0===n.indexOf("data:application/octet-stream;base64,")}o.preloadedImages={},o.preloadedAudios={};var z="anitomyscript.wasm";if(!V()){var G=z;z=o.locateFile?o.locateFile(G,y):y+G}function J(){try{if(o.wasmBinary)return new Uint8Array(o.wasmBinary);if(o.readBinary)return o.readBinary(z);throw"both async and sync fetching of the wasm failed"}catch(n){ye(n)}}function X(n){return o.___errno_location&&(x[o.___errno_location()>>2]=n),n}o.asm=function(n,e){return e.memory=w,e.table=new WebAssembly.Table({initial:509,maximum:509,element:"anyfunc"}),e.__memory_base=1024,e.__table_base=0,function(n){function e(n){o.asm=n.exports,L--,o.monitorRunDependencies&&o.monitorRunDependencies(L),0==L&&(null!==q&&(clearInterval(q),q=null),H&&(n=H,H=null,n()))}function t(n){e(n.instance)}function r(n){(o.wasmBinary||!c&&!p||"function"!=typeof fetch?new Promise(function(n){n(J())}):fetch(z,{credentials:"same-origin"}).then(function(n){if(!n.ok)throw"failed to load wasm binary file at '"+z+"'";return n.arrayBuffer()}).catch(function(){return J()})).then(function(n){return WebAssembly.instantiate(n,a)}).then(n,function(n){v("failed to asynchronously prepare wasm: "+n),ye(n)})}var a={env:n,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:g};if(L++,o.monitorRunDependencies&&o.monitorRunDependencies(L),o.instantiateWasm)try{return o.instantiateWasm(a,e)}catch(i){return v("Module.instantiateWasm callback failed with error: "+i),!1}return o.wasmBinary||"function"!=typeof WebAssembly.instantiateStreaming||V()||"function"!=typeof fetch?r(t):WebAssembly.instantiateStreaming(fetch(z,{credentials:"same-origin"}),a).then(t,function(n){v("wasm streaming compile failed: "+n),v("falling back to ArrayBuffer instantiation"),r(t)}),{}}(e)},I.push({La:function(){le()}});var K=0;function Z(){return x[(K+=4)-4>>2]}var Q={};function $(n){switch(n){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+n)}}var nn=void 0;function en(n){for(var e="";P[n];)e+=nn[P[n++]];return e}var tn={},rn={},an={};function on(n){if(void 0===n)return"_unknown";var e=(n=n.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=e&&57>=e?"_"+n:n}function un(n,e){return n=on(n),new Function("body","return function "+n+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function sn(n){var e=Error,t=un(n,function(e){this.name=n,this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},t}var fn=void 0;function ln(n){throw new fn(n)}var cn=void 0;function pn(n){throw new cn(n)}function hn(n,e,t){function r(e){(e=t(e)).length!==n.length&&pn("Mismatched type converter count");for(var r=0;r>2])}var xn={};function jn(n,e){return e.ia&&e.ha||pn("makeClassHandle requires ptr and ptrType"),!!e.ma!=!!e.la&&pn("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Object.create(n,{fa:{value:e}})}function Wn(n,e,t,r){this.name=n,this.ga=e,this.Ea=t,this.za=r,this.Aa=!1,this.sa=this.Ta=this.Sa=this.Ha=this.Ua=this.Qa=void 0,void 0!==e.na?this.toWireType=Pn:(this.toWireType=r?_n:Fn,this.oa=null)}function Sn(n,e,t){o.hasOwnProperty(n)||pn("Replacing nonexistant public symbol"),void 0!==o[n].ka&&void 0!==t?o[n].ka[t]=e:(o[n]=e,o[n].ya=t)}function On(n,e){if(n=en(n),void 0!==o["FUNCTION_TABLE_"+n])var t=o["FUNCTION_TABLE_"+n][e];else if("undefined"!=typeof FUNCTION_TABLE)t=FUNCTION_TABLE[e];else{void 0===(t=o["dynCall_"+n])&&void 0===(t=o["dynCall_"+n.replace(/f/g,"d")])&&ln("No dynCall invoker for signature: "+n);for(var r=[],a=1;a>2)+r]);return t}function Bn(n){for(;n.length;){var e=n.pop();n.pop()(e)}}function Yn(n,e,t,r,a){var i=e.length;2>i&&ln("argTypes array size mismatch! Must at least get return value and 'this' types!");var o=null!==e[1]&&null!==t,u=!1;for(t=1;t>1])};case 2:return function(n){return this.fromWireType((t?x:j)[n>>2])};default:throw new TypeError("Unknown integer type: "+n)}}function zn(n,e){var t=rn[n];return void 0===t&&ln(e+" has unknown type "+Mn(n)),t}function Gn(n){if(null===n)return"null";var e=typeof n;return"object"===e||"array"===e||"function"===e?n.toString():""+n}function Jn(n,e){switch(e){case 2:return function(n){return this.fromWireType(W[n>>2])};case 3:return function(n){return this.fromWireType(S[n>>3])};default:throw new TypeError("Unknown float type: "+n)}}function Xn(n,e,t){switch(e){case 0:return t?function(n){return _[n]}:function(n){return P[n]};case 1:return t?function(n){return F[n>>1]}:function(n){return D[n>>1]};case 2:return t?function(n){return x[n>>2]}:function(n){return j[n>>2]};default:throw new TypeError("Unknown integer type: "+n)}}var Kn={};function Zn(){return Zn.pa||(Zn.pa=[]),Zn.pa.push(pe()),Zn.pa.length-1}function Qn(){ye("OOM")}function $n(n){return 0==n%4&&(0!=n%100||0==n%400)}function ne(n,e){for(var t=0,r=0;r<=e;t+=n[r++]);return t}var ee=[31,29,31,30,31,30,31,31,30,31,30,31],te=[31,28,31,30,31,30,31,31,30,31,30,31];function re(n,e){for(n=new Date(n.getTime());0r-n.getDate())){n.setDate(n.getDate()+e);break}e-=r-n.getDate()+1,n.setDate(1),11>t?n.setMonth(t+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}for(var ae=Array(256),ie=0;256>ie;++ie)ae[ie]=String.fromCharCode(ie);nn=ae,fn=o.BindingError=sn("BindingError"),cn=o.InternalError=sn("InternalError"),bn.prototype.isAliasOf=function(n){if(!(this instanceof bn&&n instanceof bn))return!1;var e=this.fa.ia.ga,t=this.fa.ha,r=n.fa.ia.ga;for(n=n.fa.ha;e.na;)t=e.xa(t),e=e.na;for(;r.na;)n=r.xa(n),r=r.na;return e===r&&t===n},bn.prototype.clone=function(){if(this.fa.ha||mn(this),this.fa.wa)return this.fa.count.value+=1,this;var n=Object.create(Object.getPrototypeOf(this),{fa:{value:yn(this.fa)}});return n.fa.count.value+=1,n.fa.ua=!1,n},bn.prototype.delete=function(){if(this.fa.ha||mn(this),this.fa.ua&&!this.fa.wa&&ln("Object already scheduled for deletion"),--this.fa.count.value,0===this.fa.count.value){var n=this.fa;n.la?n.ma.sa(n.la):n.ia.ga.sa(n.ha)}this.fa.wa||(this.fa.la=void 0,this.fa.ha=void 0)},bn.prototype.isDeleted=function(){return!this.fa.ha},bn.prototype.deleteLater=function(){return this.fa.ha||mn(this),this.fa.ua&&!this.fa.wa&&ln("Object already scheduled for deletion"),gn.push(this),1===gn.length&&vn&&vn(wn),this.fa.ua=!0,this},Wn.prototype.Na=function(n){return this.Ha&&(n=this.Ha(n)),n},Wn.prototype.Ga=function(n){this.sa&&this.sa(n)},Wn.prototype.argPackAdvance=8,Wn.prototype.readValueFromPointer=Dn,Wn.prototype.deleteObject=function(n){null!==n&&n.delete()},Wn.prototype.fromWireType=function(n){function e(){return this.Aa?jn(this.ga.va,{ia:this.Qa,ha:t,ma:this,la:n}):jn(this.ga.va,{ia:this,ha:n})}var t=this.Na(n);if(!t)return this.Ga(n),null;var r=function(n,e){for(void 0===e&&ln("ptr should not be undefined");n.na;)e=n.xa(e),n=n.na;return xn[e]}(this.ga,t);if(void 0!==r)return 0===r.fa.count.value?(r.fa.ha=t,r.fa.la=n,r.clone()):(r=r.clone(),this.Ga(n),r);if(r=this.ga.Ma(t),!(r=En[r]))return e.call(this);r=this.za?r.Ja:r.pointerType;var a=function n(e,t,r){return t===r?e:void 0===r.na?null:null===(e=n(e,t,r.na))?null:r.Ka(e)}(t,this.ga,r.ga);return null===a?e.call(this):this.Aa?jn(r.ga.va,{ia:r,ha:a,ma:this,la:n}):jn(r.ga.va,{ia:r,ha:a})},o.getInheritedInstanceCount=function(){return Object.keys(xn).length},o.getLiveInheritedInstances=function(){var n,e=[];for(n in xn)xn.hasOwnProperty(n)&&e.push(xn[n]);return e},o.flushPendingDeletes=wn,o.setDelayFunction=function(n){vn=n,gn.length&&vn&&vn(wn)},Rn=o.UnboundTypeError=sn("UnboundTypeError"),o.count_emval_handles=function(){for(var n=0,e=5;e>i])},oa:null})},l:function(n,e,t,r,a,i,o,u,s,f,l,c,p){l=en(l),i=On(a,i),u&&(u=On(o,u)),f&&(f=On(s,f)),p=On(c,p);var h=on(l);Tn(h,function(){In("Cannot construct "+l+" due to unbound types",[r])}),hn([n,e,t],r?[r]:[],function(e){if(e=e[0],r)var t=e.ga,a=t.va;else a=bn.prototype;e=un(h,function(){if(Object.getPrototypeOf(this)!==o)throw new fn("Use 'new' to construct "+l);if(void 0===s.ra)throw new fn(l+" has no accessible constructor");var n=s.ra[arguments.length];if(void 0===n)throw new fn("Tried to invoke ctor of "+l+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(s.ra).toString()+") parameters instead!");return n.apply(this,arguments)});var o=Object.create(a,{constructor:{value:e}});e.prototype=o;var s=new Cn(l,e,o,p,t,i,u,f);t=new Wn(l,s,!0,!1),a=new Wn(l+"*",s,!1,!1);var c=new Wn(l+" const*",s,!1,!0);return En[n]={pointerType:a,Ja:c},Sn(h,e),[t,a,c]})},j:function(n,e,t,r,a,i){var o=Un(e,t);a=On(r,a),hn([],[n],function(n){var t="constructor "+(n=n[0]).name;if(void 0===n.ga.ra&&(n.ga.ra=[]),void 0!==n.ga.ra[e-1])throw new fn("Cannot register multiple constructors with identical number of parameters ("+(e-1)+") for class '"+n.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return n.ga.ra[e-1]=function(){In("Cannot construct "+n.name+" due to unbound types",o)},hn([],o,function(r){return n.ga.ra[e-1]=function(){arguments.length!==e-1&&ln(t+" called with "+arguments.length+" arguments, expected "+(e-1));var n=[],o=Array(e);o[0]=i;for(var u=1;u>>u}}var s=-1!=e.indexOf("unsigned");dn(n,{name:e,fromWireType:i,toWireType:function(n,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'+Gn(t)+'" to '+this.name);if(ta)throw new TypeError('Passing a number "'+Gn(t)+'" from JS side to C/C++ side to an argument of type "'+e+'", which is outside the valid range ['+r+", "+a+"]!");return s?t>>>0:0|t},argPackAdvance:8,readValueFromPointer:Xn(e,o,0!==r),oa:null})},e:function(n,e,t){function r(n){return n>>=2,new a(j.buffer,j[n+1],j[n])}var a=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];dn(n,{name:t=en(t),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{Oa:!0})},p:function(n,e){var t="std::string"===(e=en(e));dn(n,{name:e,fromWireType:function(n){var e=j[n>>2];if(t){var r=P[n+4+e],a=0;0!=r&&(a=r,P[n+4+e]=0);var i=n+4;for(r=0;r<=e;++r){var o=n+4+r;if(0==P[o]){if(i=A(i),void 0===u)var u=i;else u+=String.fromCharCode(0),u+=i;i=o+1}}0!=a&&(P[n+4+e]=a)}else{for(u=Array(e),r=0;r>2]=a,t&&r)T(e,P,i+4,a+1);else if(r)for(r=0;r>2],i=Array(t),o=n+4>>a,u=0;u>2]=o;for(var s=u+4>>a,f=0;fn?-1:0=o(u(new Date(n.getFullYear(),0,4)),n)?0>=o(e,n)?n.getFullYear()+1:n.getFullYear():n.getFullYear()-1}var f=x[r+40>>2];for(var l in r={Xa:x[r>>2],Wa:x[r+4>>2],Ba:x[r+8>>2],ta:x[r+12>>2],qa:x[r+16>>2],ja:x[r+20>>2],Ia:x[r+24>>2],Ca:x[r+28>>2],ib:x[r+32>>2],Va:x[r+36>>2],Ya:f?A(f):""},t=A(t),f={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"})t=t.replace(new RegExp(l,"g"),f[l]);var c="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),p="January February March April May June July August September October November December".split(" ");for(l in f={"%a":function(n){return c[n.Ia].substring(0,3)},"%A":function(n){return c[n.Ia]},"%b":function(n){return p[n.qa].substring(0,3)},"%B":function(n){return p[n.qa]},"%C":function(n){return i((n.ja+1900)/100|0,2)},"%d":function(n){return i(n.ta,2)},"%e":function(n){return a(n.ta,2," ")},"%g":function(n){return s(n).toString().substring(2)},"%G":function(n){return s(n)},"%H":function(n){return i(n.Ba,2)},"%I":function(n){return 0==(n=n.Ba)?n=12:12n.Ba?"AM":"PM"},"%S":function(n){return i(n.Xa,2)},"%t":function(){return"\t"},"%u":function(n){return new Date(n.ja+1900,n.qa+1,n.ta,0,0,0,0).getDay()||7},"%U":function(n){var e=new Date(n.ja+1900,0,1),t=0===e.getDay()?e:re(e,7-e.getDay());return 0>o(t,n=new Date(n.ja+1900,n.qa,n.ta))?i(Math.ceil((31-t.getDate()+(ne($n(n.getFullYear())?ee:te,n.getMonth()-1)-31)+n.getDate())/7),2):0===o(t,e)?"01":"00"},"%V":function(n){var e=u(new Date(n.ja+1900,0,4)),t=u(new Date(n.ja+1901,0,4)),r=re(new Date(n.ja+1900,0,1),n.Ca);return 0>o(r,e)?"53":0>=o(t,r)?"01":i(Math.ceil((e.getFullYear()o(t,n=new Date(n.ja+1900,n.qa,n.ta))?i(Math.ceil((31-t.getDate()+(ne($n(n.getFullYear())?ee:te,n.getMonth()-1)-31)+n.getDate())/7),2):0===o(t,e)?"01":"00"},"%y":function(n){return(n.ja+1900).toString().substring(2)},"%Y":function(n){return n.ja+1900},"%z":function(n){var e=0<=(n=n.Va);return n=Math.abs(n)/60,(e?"+":"-")+String("0000"+(n/60*100+n%60)).slice(-4)},"%Z":function(n){return n.Ya},"%%":function(){return"%"}})0<=t.indexOf(l)&&(t=t.replace(new RegExp(l,"g"),f[l](r)));return(l=function(n){var e=Array(C(n)+1);return T(n,e,0,e.length),e}(t)).length>e?0:(_.set(l,n),l.length-1)}(n,e,t,r)},u:Qn,a:35616},k);o.asm=oe;var ue=o.___getTypeName=function(){return o.asm.I.apply(null,arguments)},se=o._free=function(){return o.asm.J.apply(null,arguments)},fe=o._malloc=function(){return o.asm.K.apply(null,arguments)},le=o.globalCtors=function(){return o.asm.ca.apply(null,arguments)},ce=o.stackRestore=function(){return o.asm.da.apply(null,arguments)},pe=o.stackSave=function(){return o.asm.ea.apply(null,arguments)};function he(n){this.name="ExitStatus",this.message="Program terminated with exit("+n+")",this.status=n}function de(){function n(){if(!o.calledRun&&(o.calledRun=!0,!b)){if(Y||(Y=!0,R(I)),R(U),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;){var n=o.postRun.shift();B.unshift(n)}R(B)}}if(!(01?k(n.get_all(e)):n.get(e)||void 0}function C(n){var e=new b.StringVector;return n.forEach(function(n,t){if("string"!=typeof n)throw new Error("Element at index ".concat(t," is not a string"));e.push_back(n)}),e}function k(n){for(var e=[],t=0;t=0;r--){var a=t[r];"."===a?t.splice(r,1):".."===a?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!a;i--){var o=i>=0?arguments[i]:t.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(e=o+"/"+e,a="/"===o.charAt(0))}return(a?"/":"")+(e=n(r(e.split("/"),function(t){return!!t}),!a).join("/"))||"."},e.normalize=function(t){var i=e.isAbsolute(t),o="/"===a(t,-1);return(t=n(r(t.split("/"),function(t){return!!t}),!i).join("/"))||i||(t="."),t&&o&&(t+="/"),(i?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(r(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var a=r(t.split("/")),i=r(n.split("/")),o=Math.min(a.length,i.length),u=o,c=0;c=1;--i)if(47===(e=t.charCodeAt(i))){if(!a){r=i;break}}else a=!1;return-1===r?n?"/":".":n&&1===r?"/":t.slice(0,r)},e.basename=function(t,e){var n=function(t){"string"!=typeof t&&(t+="");var e,n=0,r=-1,a=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!a){n=e+1;break}}else-1===r&&(a=!1,r=e+1);return-1===r?"":t.slice(n,r)}(t);return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},e.extname=function(t){"string"!=typeof t&&(t+="");for(var e=-1,n=0,r=-1,a=!0,i=0,o=t.length-1;o>=0;--o){var u=t.charCodeAt(o);if(47!==u)-1===r&&(a=!1,r=o+1),46===u?-1===e?e=o:1!==i&&(i=1):-1!==e&&(i=-1);else if(!a){n=o+1;break}}return-1===e||-1===r||0===i||1===i&&e===r-1&&e===n+1?"":t.slice(e,r)};var a="b"==="ab".substr(-1)?function(t,e,n){return t.substr(e,n)}:function(t,e,n){return e<0&&(e=t.length+e),t.substr(e,n)}}).call(this,c)}),n=t(function(t,e){}),r={exports:{}},a=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",u=a.toStringTag||"@@toStringTag";function c(t,e,n,r){var a=e&&e.prototype instanceof d?e:d,i=Object.create(a.prototype),o=new x(r||[]);return i._invoke=function(t,e,n){var r=f;return function(a,i){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===a)throw i;return j()}for(n.method=a,n.arg=i;;){var o=n.delegate;if(o){var u=C(o,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var c=s(t,e,n);if("normal"===c.type){if(r=n.done?h:l,c.arg===y)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=h,n.method="throw",n.arg=c.arg)}}}(t,n,o),i}function s(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(r){return{type:"throw",arg:r}}}t.wrap=c;var f="suspendedStart",l="suspendedYield",p="executing",h="completed",y={};function d(){}function m(){}function v(){}var g={};g[i]=function(){return this};var w=Object.getPrototypeOf,b=w&&w(w(P([])));b&&b!==n&&r.call(b,i)&&(g=b);var E=v.prototype=d.prototype=Object.create(g);function T(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function A(t){var e;this._invoke=function(n,a){function i(){return new Promise(function(e,i){!function e(n,a,i,o){var u=s(t[n],t,a);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==typeof f&&r.call(f,"__await")?Promise.resolve(f.__await).then(function(t){e("next",t,i,o)},function(t){e("throw",t,i,o)}):Promise.resolve(f).then(function(t){c.value=t,i(c)},function(t){return e("throw",t,i,o)})}o(u.arg)}(n,a,e,i)})}return e=e?e.then(i,i):i()}}function C(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method))return y;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var a=s(r,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,y;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function P(t){if(t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function n(){for(;++a=0;--i){var o=this.tryEntries[i],u=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(c&&s){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var a=r.arg;k(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:P(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}(r.exports);try{regeneratorRuntime=a}catch(O){Function("r","regeneratorRuntime = r")(a)}var i,o,u=r=r.exports,c={},s=c={};function f(){throw new Error("setTimeout has not been defined")}function l(){throw new Error("clearTimeout has not been defined")}function p(t){if(i===setTimeout)return setTimeout(t,0);if((i===f||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(e){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:f}catch(t){i=f}try{o="function"==typeof clearTimeout?clearTimeout:l}catch(t){o=l}}();var h,y=[],d=!1,m=-1;function v(){d&&h&&(d=!1,h.length?y=h.concat(y):m=-1,y.length&&g())}function g(){if(!d){var t=p(v);d=!0;for(var e=y.length;e;){for(h=y,y=[];++m1)for(var n=1;n=n);)++r;if(16(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&e[t++])?n+=String.fromCharCode(a):(a-=65536,n+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else n+=String.fromCharCode(a)}t=n}}else t="";return t}function A(t,e,n,r){if(0=i&&(i=65536+((1023&i)<<10)|1023&t.charCodeAt(++a)),127>=i){if(n>=r)break;e[n++]=i}else{if(2047>=i){if(n+1>=r)break;e[n++]=192|i>>6}else{if(65535>=i){if(n+2>=r)break;e[n++]=224|i>>12}else{if(n+3>=r)break;e[n++]=240|i>>18,e[n++]=128|i>>12&63}e[n++]=128|i>>6&63}e[n++]=128|63&i}}e[n]=0}}function C(t){for(var e=0,n=0;n=r&&(r=65536+((1023&r)<<10)|1023&t.charCodeAt(++n)),127>=r?++e:e=2047>=r?e+2:65535>=r?e+3:e+4}return e}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var _,k,x,P,j,F,O,S,D,W=o.TOTAL_MEMORY||16777216;function R(t){for(;0W&&v("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+W+"! (TOTAL_STACK=5242880)"),_=o.buffer?o.buffer:"object"==typeof WebAssembly&&"function"==typeof WebAssembly.Memory?(w=new WebAssembly.Memory({initial:W/65536,maximum:W/65536})).buffer:new ArrayBuffer(W),o.HEAP8=k=new Int8Array(_),o.HEAP16=P=new Int16Array(_),o.HEAP32=F=new Int32Array(_),o.HEAPU8=x=new Uint8Array(_),o.HEAPU16=j=new Uint16Array(_),o.HEAPU32=O=new Uint32Array(_),o.HEAPF32=S=new Float32Array(_),o.HEAPF64=D=new Float64Array(_),F[8904]=5278528;var L=[],I=[],M=[],U=[],N=!1;function B(){var t=o.preRun.shift();L.unshift(t)}var Y=0,q=null,H=null;function V(){var t=z;return String.prototype.startsWith?t.startsWith("data:application/octet-stream;base64,"):0===t.indexOf("data:application/octet-stream;base64,")}o.preloadedImages={},o.preloadedAudios={};var z="anitomyscript.wasm";if(!V()){var G=z;z=o.locateFile?o.locateFile(G,d):d+G}function J(){try{if(o.wasmBinary)return new Uint8Array(o.wasmBinary);if(o.readBinary)return o.readBinary(z);throw"both async and sync fetching of the wasm failed"}catch(t){ye(t)}}function X(t){return o.___errno_location&&(F[o.___errno_location()>>2]=t),t}o.asm=function(t,e){return e.memory=w,e.table=new WebAssembly.Table({initial:509,maximum:509,element:"anyfunc"}),e.__memory_base=1024,e.__table_base=0,function(t){function e(t){o.asm=t.exports,Y--,o.monitorRunDependencies&&o.monitorRunDependencies(Y),0==Y&&(null!==q&&(clearInterval(q),q=null),H&&(t=H,H=null,t()))}function n(t){e(t.instance)}function r(t){(o.wasmBinary||!l&&!p||"function"!=typeof fetch?new Promise(function(t){t(J())}):fetch(z,{credentials:"same-origin"}).then(function(t){if(!t.ok)throw"failed to load wasm binary file at '"+z+"'";return t.arrayBuffer()}).catch(function(){return J()})).then(function(t){return WebAssembly.instantiate(t,a)}).then(t,function(t){v("failed to asynchronously prepare wasm: "+t),ye(t)})}var a={env:t,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:g};if(Y++,o.monitorRunDependencies&&o.monitorRunDependencies(Y),o.instantiateWasm)try{return o.instantiateWasm(a,e)}catch(i){return v("Module.instantiateWasm callback failed with error: "+i),!1}return o.wasmBinary||"function"!=typeof WebAssembly.instantiateStreaming||V()||"function"!=typeof fetch?r(n):WebAssembly.instantiateStreaming(fetch(z,{credentials:"same-origin"}),a).then(n,function(t){v("wasm streaming compile failed: "+t),v("falling back to ArrayBuffer instantiation"),r(n)}),{}}(e)},I.push({La:function(){se()}});var K=0;function Z(){return F[(K+=4)-4>>2]}var Q={};function $(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var tt=void 0;function et(t){for(var e="";x[t];)e+=tt[x[t++]];return e}var nt={},rt={},at={};function it(t){if(void 0===t)return"_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=e&&57>=e?"_"+t:t}function ot(t,e){return t=it(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function ut(t){var e=Error,n=ot(t,function(e){this.name=t,this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var ct=void 0;function st(t){throw new ct(t)}var ft=void 0;function lt(t){throw new ft(t)}function pt(t,e,n){function r(e){(e=n(e)).length!==t.length&<("Mismatched type converter count");for(var r=0;r>2])}var jt={};function Ft(t,e){return e.ia&&e.ha||lt("makeClassHandle requires ptr and ptrType"),!!e.ma!=!!e.la&<("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Object.create(t,{fa:{value:e}})}function Ot(t,e,n,r){this.name=t,this.ga=e,this.Ea=n,this.za=r,this.Aa=!1,this.sa=this.Ta=this.Sa=this.Ha=this.Ua=this.Qa=void 0,void 0!==e.na?this.toWireType=kt:(this.toWireType=r?_t:xt,this.oa=null)}function St(t,e,n){o.hasOwnProperty(t)||lt("Replacing nonexistant public symbol"),void 0!==o[t].ka&&void 0!==n?o[t].ka[n]=e:(o[t]=e,o[t].ya=n)}function Dt(t,e){if(t=et(t),void 0!==o["FUNCTION_TABLE_"+t])var n=o["FUNCTION_TABLE_"+t][e];else if("undefined"!=typeof FUNCTION_TABLE)n=FUNCTION_TABLE[e];else{void 0===(n=o["dynCall_"+t])&&void 0===(n=o["dynCall_"+t.replace(/f/g,"d")])&&st("No dynCall invoker for signature: "+t);for(var r=[],a=1;a>2)+r]);return n}function Mt(t){for(;t.length;){var e=t.pop();t.pop()(e)}}function Ut(t,e,n,r,a){var i=e.length;2>i&&st("argTypes array size mismatch! Must at least get return value and 'this' types!");var o=null!==e[1]&&null!==n,u=!1;for(n=1;n>1])};case 2:return function(t){return this.fromWireType((n?F:O)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function Vt(t,e){var n=rt[t];return void 0===n&&st(e+" has unknown type "+Rt(t)),n}function zt(t){if(null===t)return"null";var e=typeof t;return"object"===e||"array"===e||"function"===e?t.toString():""+t}function Gt(t,e){switch(e){case 2:return function(t){return this.fromWireType(S[t>>2])};case 3:return function(t){return this.fromWireType(D[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function Jt(t,e,n){switch(e){case 0:return n?function(t){return k[t]}:function(t){return x[t]};case 1:return n?function(t){return P[t>>1]}:function(t){return j[t>>1]};case 2:return n?function(t){return F[t>>2]}:function(t){return O[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}var Xt={};function Kt(){return Kt.pa||(Kt.pa=[]),Kt.pa.push(le()),Kt.pa.length-1}function Zt(){ye("OOM")}function Qt(t){return 0==t%4&&(0!=t%100||0==t%400)}function $t(t,e){for(var n=0,r=0;r<=e;n+=t[r++]);return n}var te=[31,29,31,30,31,30,31,31,30,31,30,31],ee=[31,28,31,30,31,30,31,31,30,31,30,31];function ne(t,e){for(t=new Date(t.getTime());0r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}for(var re=Array(256),ae=0;256>ae;++ae)re[ae]=String.fromCharCode(ae);tt=re,ct=o.BindingError=ut("BindingError"),ft=o.InternalError=ut("InternalError"),wt.prototype.isAliasOf=function(t){if(!(this instanceof wt&&t instanceof wt))return!1;var e=this.fa.ia.ga,n=this.fa.ha,r=t.fa.ia.ga;for(t=t.fa.ha;e.na;)n=e.xa(n),e=e.na;for(;r.na;)t=r.xa(t),r=r.na;return e===r&&n===t},wt.prototype.clone=function(){if(this.fa.ha||dt(this),this.fa.wa)return this.fa.count.value+=1,this;var t=Object.create(Object.getPrototypeOf(this),{fa:{value:yt(this.fa)}});return t.fa.count.value+=1,t.fa.ua=!1,t},wt.prototype.delete=function(){if(this.fa.ha||dt(this),this.fa.ua&&!this.fa.wa&&st("Object already scheduled for deletion"),--this.fa.count.value,0===this.fa.count.value){var t=this.fa;t.la?t.ma.sa(t.la):t.ia.ga.sa(t.ha)}this.fa.wa||(this.fa.la=void 0,this.fa.ha=void 0)},wt.prototype.isDeleted=function(){return!this.fa.ha},wt.prototype.deleteLater=function(){return this.fa.ha||dt(this),this.fa.ua&&!this.fa.wa&&st("Object already scheduled for deletion"),vt.push(this),1===vt.length&&mt&&mt(gt),this.fa.ua=!0,this},Ot.prototype.Na=function(t){return this.Ha&&(t=this.Ha(t)),t},Ot.prototype.Ga=function(t){this.sa&&this.sa(t)},Ot.prototype.argPackAdvance=8,Ot.prototype.readValueFromPointer=Pt,Ot.prototype.deleteObject=function(t){null!==t&&t.delete()},Ot.prototype.fromWireType=function(t){function e(){return this.Aa?Ft(this.ga.va,{ia:this.Qa,ha:n,ma:this,la:t}):Ft(this.ga.va,{ia:this,ha:t})}var n=this.Na(t);if(!n)return this.Ga(t),null;var r=function(t,e){for(void 0===e&&st("ptr should not be undefined");t.na;)e=t.xa(e),t=t.na;return jt[e]}(this.ga,n);if(void 0!==r)return 0===r.fa.count.value?(r.fa.ha=n,r.fa.la=t,r.clone()):(r=r.clone(),this.Ga(t),r);if(r=this.ga.Ma(n),!(r=bt[r]))return e.call(this);r=this.za?r.Ja:r.pointerType;var a=function t(e,n,r){return n===r?e:void 0===r.na?null:null===(e=t(e,n,r.na))?null:r.Ka(e)}(n,this.ga,r.ga);return null===a?e.call(this):this.Aa?Ft(r.ga.va,{ia:r,ha:a,ma:this,la:t}):Ft(r.ga.va,{ia:r,ha:a})},o.getInheritedInstanceCount=function(){return Object.keys(jt).length},o.getLiveInheritedInstances=function(){var t,e=[];for(t in jt)jt.hasOwnProperty(t)&&e.push(jt[t]);return e},o.flushPendingDeletes=gt,o.setDelayFunction=function(t){mt=t,vt.length&&mt&&mt(gt)},Wt=o.UnboundTypeError=ut("UnboundTypeError"),o.count_emval_handles=function(){for(var t=0,e=5;e>i])},oa:null})},l:function(t,e,n,r,a,i,o,u,c,s,f,l,p){f=et(f),i=Dt(a,i),u&&(u=Dt(o,u)),s&&(s=Dt(c,s)),p=Dt(l,p);var h=it(f);Tt(h,function(){Lt("Cannot construct "+f+" due to unbound types",[r])}),pt([t,e,n],r?[r]:[],function(e){if(e=e[0],r)var n=e.ga,a=n.va;else a=wt.prototype;e=ot(h,function(){if(Object.getPrototypeOf(this)!==o)throw new ct("Use 'new' to construct "+f);if(void 0===c.ra)throw new ct(f+" has no accessible constructor");var t=c.ra[arguments.length];if(void 0===t)throw new ct("Tried to invoke ctor of "+f+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(c.ra).toString()+") parameters instead!");return t.apply(this,arguments)});var o=Object.create(a,{constructor:{value:e}});e.prototype=o;var c=new At(f,e,o,p,n,i,u,s);n=new Ot(f,c,!0,!1),a=new Ot(f+"*",c,!1,!1);var l=new Ot(f+" const*",c,!1,!0);return bt[t]={pointerType:a,Ja:l},St(h,e),[n,a,l]})},j:function(t,e,n,r,a,i){var o=It(e,n);a=Dt(r,a),pt([],[t],function(t){var n="constructor "+(t=t[0]).name;if(void 0===t.ga.ra&&(t.ga.ra=[]),void 0!==t.ga.ra[e-1])throw new ct("Cannot register multiple constructors with identical number of parameters ("+(e-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.ga.ra[e-1]=function(){Lt("Cannot construct "+t.name+" due to unbound types",o)},pt([],o,function(r){return t.ga.ra[e-1]=function(){arguments.length!==e-1&&st(n+" called with "+arguments.length+" arguments, expected "+(e-1));var t=[],o=Array(e);o[0]=i;for(var u=1;u>>u}}var c=-1!=e.indexOf("unsigned");ht(t,{name:e,fromWireType:i,toWireType:function(t,n){if("number"!=typeof n&&"boolean"!=typeof n)throw new TypeError('Cannot convert "'+zt(n)+'" to '+this.name);if(na)throw new TypeError('Passing a number "'+zt(n)+'" from JS side to C/C++ side to an argument of type "'+e+'", which is outside the valid range ['+r+", "+a+"]!");return c?n>>>0:0|n},argPackAdvance:8,readValueFromPointer:Jt(e,o,0!==r),oa:null})},e:function(t,e,n){function r(t){return t>>=2,new a(O.buffer,O[t+1],O[t])}var a=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];ht(t,{name:n=et(n),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{Oa:!0})},p:function(t,e){var n="std::string"===(e=et(e));ht(t,{name:e,fromWireType:function(t){var e=O[t>>2];if(n){var r=x[t+4+e],a=0;0!=r&&(a=r,x[t+4+e]=0);var i=t+4;for(r=0;r<=e;++r){var o=t+4+r;if(0==x[o]){if(i=T(i),void 0===u)var u=i;else u+=String.fromCharCode(0),u+=i;i=o+1}}0!=a&&(x[t+4+e]=a)}else{for(u=Array(e),r=0;r>2]=a,n&&r)A(e,x,i+4,a+1);else if(r)for(r=0;r>2],i=Array(n),o=t+4>>a,u=0;u>2]=o;for(var c=u+4>>a,s=0;st?-1:0=o(u(new Date(t.getFullYear(),0,4)),t)?0>=o(e,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var s=F[r+40>>2];for(var f in r={Xa:F[r>>2],Wa:F[r+4>>2],Ba:F[r+8>>2],ta:F[r+12>>2],qa:F[r+16>>2],ja:F[r+20>>2],Ia:F[r+24>>2],Ca:F[r+28>>2],ib:F[r+32>>2],Va:F[r+36>>2],Ya:s?T(s):""},n=T(n),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"})n=n.replace(new RegExp(f,"g"),s[f]);var l="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),p="January February March April May June July August September October November December".split(" ");for(f in s={"%a":function(t){return l[t.Ia].substring(0,3)},"%A":function(t){return l[t.Ia]},"%b":function(t){return p[t.qa].substring(0,3)},"%B":function(t){return p[t.qa]},"%C":function(t){return i((t.ja+1900)/100|0,2)},"%d":function(t){return i(t.ta,2)},"%e":function(t){return a(t.ta,2," ")},"%g":function(t){return c(t).toString().substring(2)},"%G":function(t){return c(t)},"%H":function(t){return i(t.Ba,2)},"%I":function(t){return 0==(t=t.Ba)?t=12:12t.Ba?"AM":"PM"},"%S":function(t){return i(t.Xa,2)},"%t":function(){return"\t"},"%u":function(t){return new Date(t.ja+1900,t.qa+1,t.ta,0,0,0,0).getDay()||7},"%U":function(t){var e=new Date(t.ja+1900,0,1),n=0===e.getDay()?e:ne(e,7-e.getDay());return 0>o(n,t=new Date(t.ja+1900,t.qa,t.ta))?i(Math.ceil((31-n.getDate()+($t(Qt(t.getFullYear())?te:ee,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(n,e)?"01":"00"},"%V":function(t){var e=u(new Date(t.ja+1900,0,4)),n=u(new Date(t.ja+1901,0,4)),r=ne(new Date(t.ja+1900,0,1),t.Ca);return 0>o(r,e)?"53":0>=o(n,r)?"01":i(Math.ceil((e.getFullYear()o(n,t=new Date(t.ja+1900,t.qa,t.ta))?i(Math.ceil((31-n.getDate()+($t(Qt(t.getFullYear())?te:ee,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(n,e)?"01":"00"},"%y":function(t){return(t.ja+1900).toString().substring(2)},"%Y":function(t){return t.ja+1900},"%z":function(t){var e=0<=(t=t.Va);return t=Math.abs(t)/60,(e?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.Ya},"%%":function(){return"%"}})0<=n.indexOf(f)&&(n=n.replace(new RegExp(f,"g"),s[f](r)));return(f=function(t){var e=Array(C(t)+1);return A(t,e,0,e.length),e}(n)).length>e?0:(k.set(f,t),f.length-1)}(t,e,n,r)},u:Zt,a:35616},_);o.asm=ie;var oe=o.___getTypeName=function(){return o.asm.I.apply(null,arguments)},ue=o._free=function(){return o.asm.J.apply(null,arguments)},ce=o._malloc=function(){return o.asm.K.apply(null,arguments)},se=o.globalCtors=function(){return o.asm.ca.apply(null,arguments)},fe=o.stackRestore=function(){return o.asm.da.apply(null,arguments)},le=o.stackSave=function(){return o.asm.ea.apply(null,arguments)};function pe(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function he(){function t(){if(!o.calledRun&&(o.calledRun=!0,!b)){if(N||(N=!0,R(I)),R(M),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;){var t=o.postRun.shift();U.unshift(t)}R(U)}}if(!(01?F(t.get_all(e)):t.get(e)||void 0}function j(t){var e=new _.StringVector;return t.forEach(function(t,n){if("string"!=typeof t)throw new Error("Element at index ".concat(n," is not a string"));e.push_back(t)}),e}function F(t){for(var e=[],n=0;n