@movable/studio-framework 2.38.2 → 2.39.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../node_modules/core-js/library/modules/_defined.js","../../../node_modules/core-js/library/modules/_to-object.js","../../../node_modules/core-js/library/modules/_has.js","../../../node_modules/core-js/library/modules/_cof.js","../../../node_modules/core-js/library/modules/_iobject.js","../../../node_modules/core-js/library/modules/_to-iobject.js","../../../node_modules/core-js/library/modules/_to-integer.js","../../../node_modules/core-js/library/modules/_to-length.js","../../../node_modules/core-js/library/modules/_to-absolute-index.js","../../../node_modules/core-js/library/modules/_array-includes.js","../../../node_modules/core-js/library/modules/_core.js","../../../node_modules/core-js/library/modules/_global.js","../../../node_modules/core-js/library/modules/_library.js","../../../node_modules/core-js/library/modules/_shared.js","../../../node_modules/core-js/library/modules/_uid.js","../../../node_modules/core-js/library/modules/_shared-key.js","../../../node_modules/core-js/library/modules/_object-keys-internal.js","../../../node_modules/core-js/library/modules/_enum-bug-keys.js","../../../node_modules/core-js/library/modules/_object-keys.js","../../../node_modules/core-js/library/modules/_a-function.js","../../../node_modules/core-js/library/modules/_ctx.js","../../../node_modules/core-js/library/modules/_is-object.js","../../../node_modules/core-js/library/modules/_an-object.js","../../../node_modules/core-js/library/modules/_fails.js","../../../node_modules/core-js/library/modules/_descriptors.js","../../../node_modules/core-js/library/modules/_dom-create.js","../../../node_modules/core-js/library/modules/_ie8-dom-define.js","../../../node_modules/core-js/library/modules/_to-primitive.js","../../../node_modules/core-js/library/modules/_object-dp.js","../../../node_modules/core-js/library/modules/_property-desc.js","../../../node_modules/core-js/library/modules/_hide.js","../../../node_modules/core-js/library/modules/_export.js","../../../node_modules/core-js/library/modules/_object-sap.js","../../../node_modules/core-js/library/modules/es6.object.keys.js","../../../node_modules/core-js/library/fn/object/keys.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/keys.js","../../../node_modules/core-js/library/modules/_object-pie.js","../../../node_modules/core-js/library/modules/_object-to-array.js","../../../node_modules/core-js/library/modules/es7.object.entries.js","../../../node_modules/core-js/library/fn/object/entries.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/entries.js","../src/utils/polyfills.ts","../../../node_modules/core-js/library/modules/es6.object.define-property.js","../../../node_modules/core-js/library/fn/object/define-property.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","../../../node_modules/core-js/library/modules/_object-dps.js","../../../node_modules/core-js/library/modules/es6.object.define-properties.js","../../../node_modules/core-js/library/fn/object/define-properties.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js","../../../node_modules/core-js/library/modules/_object-gopn.js","../../../node_modules/core-js/library/modules/_object-gops.js","../../../node_modules/core-js/library/modules/_own-keys.js","../../../node_modules/core-js/library/modules/_object-gopd.js","../../../node_modules/core-js/library/modules/_create-property.js","../../../node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js","../../../node_modules/core-js/library/fn/object/get-own-property-descriptors.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js","../../../node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js","../../../node_modules/core-js/library/fn/object/get-own-property-descriptor.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js","../../../node_modules/core-js/library/modules/_redefine.js","../../../node_modules/core-js/library/modules/_meta.js","../../../node_modules/core-js/library/modules/_wks.js","../../../node_modules/core-js/library/modules/_set-to-string-tag.js","../../../node_modules/core-js/library/modules/_wks-ext.js","../../../node_modules/core-js/library/modules/_wks-define.js","../../../node_modules/core-js/library/modules/_enum-keys.js","../../../node_modules/core-js/library/modules/_is-array.js","../../../node_modules/core-js/library/modules/_html.js","../../../node_modules/core-js/library/modules/_object-create.js","../../../node_modules/core-js/library/modules/_object-gopn-ext.js","../../../node_modules/core-js/library/modules/es6.symbol.js","../../../node_modules/core-js/library/fn/object/get-own-property-symbols.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js","../../../node_modules/core-js/library/modules/_iter-step.js","../../../node_modules/core-js/library/modules/_iterators.js","../../../node_modules/core-js/library/modules/_iter-create.js","../../../node_modules/core-js/library/modules/_object-gpo.js","../../../node_modules/core-js/library/modules/_iter-define.js","../../../node_modules/core-js/library/modules/es6.array.iterator.js","../../../node_modules/core-js/library/modules/web.dom.iterable.js","../../../node_modules/core-js/library/modules/_string-at.js","../../../node_modules/core-js/library/modules/es6.string.iterator.js","../../../node_modules/core-js/library/modules/_classof.js","../../../node_modules/core-js/library/modules/core.get-iterator-method.js","../../../node_modules/core-js/library/modules/core.get-iterator.js","../../../node_modules/core-js/library/fn/get-iterator.js","../../../node_modules/@babel/runtime-corejs2/core-js/get-iterator.js","../../../node_modules/core-js/library/modules/es6.array.is-array.js","../../../node_modules/core-js/library/fn/array/is-array.js","../../../node_modules/@babel/runtime-corejs2/core-js/array/is-array.js","../../../node_modules/core-js/library/fn/symbol/iterator.js","../../../node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js","../../../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../../../node_modules/core-js/library/modules/es7.symbol.observable.js","../../../node_modules/core-js/library/fn/symbol/index.js","../../../node_modules/@babel/runtime-corejs2/core-js/symbol.js","../../../node_modules/core-js/library/modules/_iter-call.js","../../../node_modules/core-js/library/modules/_is-array-iter.js","../../../node_modules/core-js/library/modules/_iter-detect.js","../../../node_modules/core-js/library/modules/es6.array.from.js","../../../node_modules/core-js/library/fn/array/from.js","../../../node_modules/@babel/runtime-corejs2/core-js/array/from.js","../../../node_modules/core-js/library/modules/_invoke.js","../../../node_modules/core-js/library/modules/_bind.js","../../../node_modules/core-js/library/modules/es6.reflect.construct.js","../../../node_modules/core-js/library/fn/reflect/construct.js","../../../node_modules/@babel/runtime-corejs2/core-js/reflect/construct.js","../../../node_modules/core-js/library/modules/_set-proto.js","../../../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../../../node_modules/core-js/library/fn/object/set-prototype-of.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/set-prototype-of.js","../../../node_modules/@babel/runtime-corejs2/helpers/setPrototypeOf.js","../../../node_modules/@babel/runtime-corejs2/helpers/isNativeReflectConstruct.js","../../../node_modules/@babel/runtime-corejs2/helpers/construct.js","../../../node_modules/@babel/runtime-corejs2/helpers/arrayLikeToArray.js","../../../node_modules/@babel/runtime-corejs2/helpers/arrayWithoutHoles.js","../../../node_modules/core-js/library/modules/core.is-iterable.js","../../../node_modules/core-js/library/fn/is-iterable.js","../../../node_modules/@babel/runtime-corejs2/core-js/is-iterable.js","../../../node_modules/@babel/runtime-corejs2/helpers/iterableToArray.js","../../../node_modules/@babel/runtime-corejs2/helpers/unsupportedIterableToArray.js","../../../node_modules/@babel/runtime-corejs2/helpers/nonIterableSpread.js","../../../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js","../../../node_modules/core-js/library/modules/_an-instance.js","../../../node_modules/core-js/library/modules/_for-of.js","../../../node_modules/core-js/library/modules/_species-constructor.js","../../../node_modules/core-js/library/modules/_task.js","../../../node_modules/core-js/library/modules/_microtask.js","../../../node_modules/core-js/library/modules/_new-promise-capability.js","../../../node_modules/core-js/library/modules/_perform.js","../../../node_modules/core-js/library/modules/_user-agent.js","../../../node_modules/core-js/library/modules/_promise-resolve.js","../../../node_modules/core-js/library/modules/_redefine-all.js","../../../node_modules/core-js/library/modules/_set-species.js","../../../node_modules/core-js/library/modules/es6.promise.js","../../../node_modules/core-js/library/modules/es7.promise.finally.js","../../../node_modules/core-js/library/modules/es7.promise.try.js","../../../node_modules/core-js/library/fn/promise.js","../../../node_modules/@babel/runtime-corejs2/core-js/promise.js","../../../node_modules/@babel/runtime-corejs2/helpers/typeof.js","../../../node_modules/@babel/runtime-corejs2/helpers/arrayWithHoles.js","../../../node_modules/@babel/runtime-corejs2/helpers/iterableToArrayLimit.js","../../../node_modules/@babel/runtime-corejs2/helpers/nonIterableRest.js","../../../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js","../../../node_modules/regenerator-runtime/runtime.js","../../../node_modules/@babel/runtime-corejs2/regenerator/index.js","../../../node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js","../../../node_modules/core-js/library/fn/json/stringify.js","../../../node_modules/@babel/runtime-corejs2/core-js/json/stringify.js","../../../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js","../../../node_modules/@babel/runtime-corejs2/helpers/createClass.js","../../../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js","../../../node_modules/core-js/library/modules/_validate-collection.js","../../../node_modules/core-js/library/modules/_collection-strong.js","../../../node_modules/core-js/library/modules/_array-species-constructor.js","../../../node_modules/core-js/library/modules/_array-species-create.js","../../../node_modules/core-js/library/modules/_array-methods.js","../../../node_modules/core-js/library/modules/_collection.js","../../../node_modules/core-js/library/modules/es6.set.js","../../../node_modules/core-js/library/modules/_array-from-iterable.js","../../../node_modules/core-js/library/modules/_collection-to-json.js","../../../node_modules/core-js/library/modules/es7.set.to-json.js","../../../node_modules/core-js/library/modules/_set-collection-of.js","../../../node_modules/core-js/library/modules/es7.set.of.js","../../../node_modules/core-js/library/modules/_set-collection-from.js","../../../node_modules/core-js/library/modules/es7.set.from.js","../../../node_modules/core-js/library/fn/set.js","../../../node_modules/@babel/runtime-corejs2/core-js/set.js","../../../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js","../../../node_modules/core-js/library/modules/es6.object.create.js","../../../node_modules/core-js/library/fn/object/create.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/create.js","../../../node_modules/@babel/runtime-corejs2/helpers/inherits.js","../../../node_modules/@babel/runtime-corejs2/helpers/possibleConstructorReturn.js","../../../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../../../node_modules/core-js/library/fn/object/get-prototype-of.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/get-prototype-of.js","../../../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js","../../../node_modules/core-js/library/modules/es6.map.js","../../../node_modules/core-js/library/modules/es7.map.to-json.js","../../../node_modules/core-js/library/modules/es7.map.of.js","../../../node_modules/core-js/library/modules/es7.map.from.js","../../../node_modules/core-js/library/fn/map.js","../../../node_modules/@babel/runtime-corejs2/core-js/map.js","../src/utils/style-from-attributes.ts","../src/utils/class-name-from-attributes.ts","../src/utils/element-modifier-utils.ts","../src/components/StyledElement.tsx","../src/utils/try-invoke.ts","../src/utils/is-promise.ts","../src/utils/tag-utils.ts","../../../node_modules/core-js/library/modules/es6.date.now.js","../../../node_modules/core-js/library/fn/date/now.js","../../../node_modules/@babel/runtime-corejs2/core-js/date/now.js","../../../node_modules/@babel/runtime-corejs2/helpers/isNativeFunction.js","../../../node_modules/@babel/runtime-corejs2/helpers/wrapNativeSuper.js","../src/utils/errors.ts","../src/components/Tag.tsx","../src/components/Tags.tsx","../src/components/SizeContainer.tsx","../src/utils/resolver.ts","../../../node_modules/core-js/library/modules/es6.object.freeze.js","../../../node_modules/core-js/library/fn/object/freeze.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/freeze.js","../src/utils/async-computed/context-accessors.ts","../../../node_modules/core-js/library/modules/_object-assign.js","../../../node_modules/core-js/library/modules/_collection-weak.js","../../../node_modules/core-js/library/modules/es6.weak-map.js","../../../node_modules/core-js/library/modules/es7.weak-map.of.js","../../../node_modules/core-js/library/modules/es7.weak-map.from.js","../../../node_modules/core-js/library/fn/weak-map.js","../../../node_modules/@babel/runtime-corejs2/core-js/weak-map.js","../src/utils/async-computed/cache-map.ts","../src/utils/defer.ts","../src/utils/async-computed/compute-throttler.ts","../src/utils/parse-get-property-args.ts","../src/utils/async-computed/debug-event.ts","../src/utils/async-computed/property.ts","../src/utils/async-computed/property-registry.ts","../src/utils/async-computed.ts","../src/studio-elements/Shape.tsx","../../../node_modules/core-js/library/modules/es6.object.assign.js","../../../node_modules/core-js/library/fn/object/assign.js","../../../node_modules/@babel/runtime-corejs2/core-js/object/assign.js","../../../node_modules/@babel/runtime-corejs2/helpers/extends.js","../src/studio-elements/StudioTool.tsx","../src/utils/trim-text-overflow.ts","../../../node_modules/core-js/library/modules/_string-ws.js","../../../node_modules/core-js/library/modules/_string-trim.js","../../../node_modules/core-js/library/modules/_parse-float.js","../../../node_modules/core-js/library/modules/es6.parse-float.js","../../../node_modules/core-js/library/fn/parse-float.js","../../../node_modules/@babel/runtime-corejs2/core-js/parse-float.js","../src/utils/shrink-to-fit.ts","../../../node_modules/badwords-list/lib/regexp.js","../src/models/dynamic-property.ts","../src/utils/rich-text-structure.ts","../src/studio-elements/RichTextElement.tsx","../src/studio-elements/Image.tsx","../src/utils/styles-for-image.ts","../src/studio-elements/DynamicImage.tsx","../src/utils/bootstrap-app.ts","../src/components/App.tsx","../src/utils/app-defaults.ts","../src/properties/animation.ts","../../../node_modules/htm/dist/htm.module.js","../src/studio-elements/CustomTool.tsx","../src/utils/get-document-node.ts","../src/utils/clean-html.ts","../src/utils/add-browser-content.ts","../src/framework.tsx","../../../node_modules/@babel/runtime-corejs2/helpers/toArray.js","../src/utils/async-computed/macros.ts","../src/utils/console.ts","../src/index.tsx"],"sourcesContent":["// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = true;\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n","module.exports = require(\"core-js/library/fn/object/keys\");","exports.f = {}.propertyIsEnumerable;\n","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","module.exports = require(\"core-js/library/fn/object/entries\");","// Capturama needs a polyfill for Object.entries\nif (typeof Object.entries === 'undefined') {\n Object.entries = function entries<T>(obj: { [s: string]: T } | ArrayLike<T>): [string, T][] {\n const keys = Object.keys(obj);\n return keys.map((key: string): [string, T] => [key, obj[key]]);\n };\n}\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","module.exports = require(\"core-js/library/fn/object/define-property\");","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","require('../../modules/es6.object.define-properties');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperties(T, D) {\n return $Object.defineProperties(T, D);\n};\n","module.exports = require(\"core-js/library/fn/object/define-properties\");","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","module.exports = require(\"core-js/library/fn/object/get-own-property-descriptors\");","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","require('../../modules/es6.object.get-own-property-descriptor');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n return $Object.getOwnPropertyDescriptor(it, key);\n};\n","module.exports = require(\"core-js/library/fn/object/get-own-property-descriptor\");","module.exports = require('./_hide');\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","require('../../modules/es6.symbol');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertySymbols;\n","module.exports = require(\"core-js/library/fn/object/get-own-property-symbols\");","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n","module.exports = require(\"core-js/library/fn/get-iterator\");","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","require('../../modules/es6.array.is-array');\nmodule.exports = require('../../modules/_core').Array.isArray;\n","module.exports = require(\"core-js/library/fn/array/is-array\");","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","module.exports = require(\"core-js/library/fn/symbol/iterator\");","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","module.exports = require(\"core-js/library/fn/symbol\");","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","module.exports = require(\"core-js/library/fn/array/from\");","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","require('../../modules/es6.reflect.construct');\nmodule.exports = require('../../modules/_core').Reflect.construct;\n","module.exports = require(\"core-js/library/fn/reflect/construct\");","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","module.exports = require(\"core-js/library/fn/object/set-prototype-of\");","var _Object$setPrototypeOf = require(\"@babel/runtime-corejs2/core-js/object/set-prototype-of\");\n\nfunction _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = _Object$setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var _Reflect$construct = require(\"@babel/runtime-corejs2/core-js/reflect/construct\");\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !_Reflect$construct) return false;\n if (_Reflect$construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(_Reflect$construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;","var _Reflect$construct = require(\"@babel/runtime-corejs2/core-js/reflect/construct\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = _Reflect$construct;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var _Array$isArray = require(\"@babel/runtime-corejs2/core-js/array/is-array\");\n\nvar arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (_Array$isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n","module.exports = require(\"core-js/library/fn/is-iterable\");","var _Array$from = require(\"@babel/runtime-corejs2/core-js/array/from\");\n\nvar _isIterable = require(\"@babel/runtime-corejs2/core-js/is-iterable\");\n\nvar _Symbol = require(\"@babel/runtime-corejs2/core-js/symbol\");\n\nfunction _iterableToArray(iter) {\n if (typeof _Symbol !== \"undefined\" && _isIterable(Object(iter))) return _Array$from(iter);\n}\n\nmodule.exports = _iterableToArray;","var _Array$from = require(\"@babel/runtime-corejs2/core-js/array/from\");\n\nvar arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n","module.exports = require(\"core-js/library/fn/promise\");","var _Symbol$iterator = require(\"@babel/runtime-corejs2/core-js/symbol/iterator\");\n\nvar _Symbol = require(\"@babel/runtime-corejs2/core-js/symbol\");\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","var _Array$isArray = require(\"@babel/runtime-corejs2/core-js/array/is-array\");\n\nfunction _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","var _getIterator = require(\"@babel/runtime-corejs2/core-js/get-iterator\");\n\nvar _isIterable = require(\"@babel/runtime-corejs2/core-js/is-iterable\");\n\nvar _Symbol = require(\"@babel/runtime-corejs2/core-js/symbol\");\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof _Symbol === \"undefined\" || !_isIterable(Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"regenerator-runtime\");\n","var _Promise = require(\"@babel/runtime-corejs2/core-js/promise\");\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n _Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new _Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n","module.exports = require(\"core-js/library/fn/json/stringify\");","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","var _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n\n _Object$defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","var _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar meta = require('./_meta');\nvar fails = require('./_fails');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar setToStringTag = require('./_set-to-string-tag');\nvar dP = require('./_object-dp').f;\nvar each = require('./_array-methods')(0);\nvar DESCRIPTORS = require('./_descriptors');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME, '_c');\n target._c = new Base();\n if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {\n anInstance(this, C, KEY);\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n IS_WEAK || dP(C.prototype, 'size', {\n get: function () {\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nrequire('../modules/es7.set.to-json');\nrequire('../modules/es7.set.of');\nrequire('../modules/es7.set.from');\nmodule.exports = require('../modules/_core').Set;\n","module.exports = require(\"core-js/library/fn/set\");","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","module.exports = require(\"core-js/library/fn/object/create\");","var _Object$create = require(\"@babel/runtime-corejs2/core-js/object/create\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = _Object$create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","var _typeof = require(\"@babel/runtime-corejs2/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n","module.exports = require(\"core-js/library/fn/object/get-prototype-of\");","var _Object$getPrototypeOf = require(\"@babel/runtime-corejs2/core-js/object/get-prototype-of\");\n\nvar _Object$setPrototypeOf = require(\"@babel/runtime-corejs2/core-js/object/set-prototype-of\");\n\nfunction _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _Object$getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || _Object$getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nrequire('../modules/es7.map.to-json');\nrequire('../modules/es7.map.of');\nrequire('../modules/es7.map.from');\nmodule.exports = require('../modules/_core').Map;\n","module.exports = require(\"core-js/library/fn/map\");","import { CSSProperties } from 'react';\nimport { Tag } from '../models/tag';\n\nconst { entries } = Object;\n\nconst STYLE_WHITELIST = new Set([\n 'top',\n 'left',\n 'color',\n 'width',\n 'border',\n 'borderRadius',\n 'borderColor',\n 'borderStyle',\n 'borderWidth',\n 'boxSizing',\n 'boxShadow',\n 'height',\n 'marginTop',\n 'marginLeft',\n 'marginBottom',\n 'marginRight',\n 'zIndex',\n 'fontSize',\n 'position',\n 'textAlign',\n 'transform',\n 'textShadow',\n 'lineHeight',\n 'fontFamily',\n 'fontWeight',\n 'textTransform',\n 'letterSpacing',\n 'backgroundColor',\n 'backgroundImage',\n 'transformOrigin',\n 'opacity',\n 'overflow',\n 'display',\n 'flexDirection',\n 'justifyContent',\n 'whiteSpace'\n]);\n\nconst PROPERTY_TRANSFORMS = {\n transform: (value) => `rotate(${value}deg)`\n};\n\nconst TRANSFORMS_MAP = new Map(entries(PROPERTY_TRANSFORMS));\n\nfunction transformStyle(key, value) {\n const transform = TRANSFORMS_MAP.get(key);\n return transform ? transform(value) : value;\n}\n\nfunction styleFromAttributes(tag: Tag): CSSProperties {\n return entries(tag)\n .filter(([key]) => STYLE_WHITELIST.has(key))\n .map(([key, value]) => [key, transformStyle(key, value)])\n .reduce((result, [key, value]) => ({ ...result, [key]: value }), {});\n}\n\nexport function normalizeRichTextStyles(attributes: CSSProperties = {}): CSSProperties {\n if (attributes.fontFamily) {\n const value = attributes.fontFamily;\n attributes.fontFamily = /['\"]/.test(value) ? value : `\"${value}\"`;\n }\n\n return attributes;\n}\n\nexport default styleFromAttributes;\n","import { Tag } from '../models/tag';\n\nfunction classNameFromAttributes(tag: Tag): string {\n const { type, toolName, classNames: userClassName } = tag;\n const classNames = [];\n\n if (type) {\n classNames.push(`type-${type}`);\n }\n\n if (toolName) {\n classNames.push(`tool-${toolName}`);\n }\n\n if (userClassName) {\n classNames.push(userClassName);\n }\n\n return classNames.join(' ');\n}\n\nexport default classNameFromAttributes;\n","import Resolver from './resolver';\nimport { ModifierReference } from '../models/modifier';\nimport { AnyFunction } from '../../types';\n\nexport function resolveElementModifiers(\n appliedModifiers: ModifierReference[] = [],\n registryResolver: Resolver\n): AnyFunction[] | null {\n return appliedModifiers.map((appliedModifier) => {\n const modifierFunction = registryResolver.resolveElementModifierFunction(appliedModifier);\n\n if (!modifierFunction) {\n throw new Error(`Could not find function for modifier '${appliedModifier.name}'`);\n }\n\n return modifierFunction;\n });\n}\n\nexport function runModifiers(element: HTMLDivElement, fns: AnyFunction[]) {\n for (const fn of fns) {\n fn(element);\n }\n}\n","import React, { ReactNode } from 'react';\nimport { Tag } from '../models/tag';\nimport Resolver from '../utils/resolver';\nimport styleFromAttributes from '../utils/style-from-attributes';\nimport classNameFromAttributes from '../utils/class-name-from-attributes';\nimport { resolveElementModifiers, runModifiers } from '../utils/element-modifier-utils';\n\ninterface Props {\n tag: Tag;\n children: ReactNode;\n registryResolver: Resolver;\n}\n\nexport default class StyledElement extends React.Component<Props> {\n styleElementRef: HTMLDivElement;\n setStyleElementRef: (element: HTMLDivElement) => void;\n\n updateStyleElement(): void {\n const domNode = this.styleElementRef;\n if (domNode) {\n const { tag, registryResolver } = this.props;\n const elementModifierFunctions = resolveElementModifiers(\n tag?.appliedElementModifiers || [],\n registryResolver\n );\n runModifiers(domNode, elementModifierFunctions);\n }\n }\n\n constructor(props) {\n super(props);\n\n this.setStyleElementRef = (element) => {\n this.styleElementRef = element;\n };\n }\n\n componentDidMount() {\n this.updateStyleElement();\n }\n\n render() {\n const { tag, children } = this.props;\n\n const style = styleFromAttributes(tag);\n const className = classNameFromAttributes(tag);\n\n return (\n <div className={className} style={style} ref={this.setStyleElementRef}>\n {children}\n </div>\n );\n }\n}\n","function tryInvoke(obj: any, prop: string, ...args: any[]) {\n if (typeof obj[prop] === 'function') {\n return obj[prop](...args);\n }\n}\n\nexport default tryInvoke;\n","export default function isPromise<T>(maybePromise: any): maybePromise is Promise<T> {\n return maybePromise && typeof maybePromise.then === 'function';\n}\n","import { DynamicProperty } from '../models/dynamic-property';\nimport { StudioToolType } from '../studio-elements/StudioTool';\nimport { Tag } from '../models/tag';\nimport AsyncComputed from './async-computed';\nimport Resolver from './resolver';\nimport tryIvoke from './try-invoke';\nimport isPromise from './is-promise';\n\nexport function errorForMissingProp(prop: DynamicProperty) {\n const path = prop.propertyPath;\n return `Your tool tried get state for '${path}', but it is not available.\n (Should it be returned from 'static dynamicProperties()'?`;\n}\n\nexport function getComponentForTag(\n tag: Tag,\n registryResolver: Resolver\n): {\n StudioTool: StudioToolType;\n properties: DynamicProperty[];\n} {\n const { type, toolName } = tag;\n\n const StudioTool =\n registryResolver.resolveComponent(toolName) || registryResolver.resolveComponent(type);\n\n if (!StudioTool) {\n throw new Error(`Could not find component for type '${type}' or tool '${toolName}'`);\n }\n\n const properties = tryIvoke(StudioTool, 'dynamicProperties', tag) || [];\n\n return { StudioTool, properties };\n}\n\nexport function getUnresolvedPropsCatch<T>(\n propertyResolver: AsyncComputed,\n properties: DynamicProperty[]\n): Promise<T>[] {\n return properties\n .map((dynamicProp) => {\n const { propertyGroupKey, propertyPath, context, propertyValue } = dynamicProp;\n\n if (propertyValue) {\n return false;\n }\n\n try {\n return propertyResolver.getProperty(propertyGroupKey, propertyPath, context);\n } catch (e) {\n return;\n }\n })\n .filter((prop) => isPromise(prop))\n .map((promise: Promise<T>) =>\n promise.catch(() => {\n return;\n })\n ) as Promise<T>[];\n}\n\nexport function assertDynamicPropertyResolved(\n propertyResolver: AsyncComputed,\n requestedProp: DynamicProperty\n): never | void {\n const { propertyPath, propertyGroupKey, context } = requestedProp;\n\n if (!propertyResolver.hasPropertyState(propertyGroupKey, propertyPath, context)) {\n throw new Error(errorForMissingProp(requestedProp));\n }\n}\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","require('../../modules/es6.date.now');\nmodule.exports = require('../../modules/_core').Date.now;\n","module.exports = require(\"core-js/library/fn/date/now\");","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;","var _Object$create = require(\"@babel/runtime-corejs2/core-js/object/create\");\n\nvar _Map = require(\"@babel/runtime-corejs2/core-js/map\");\n\nvar getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof _Map === \"function\" ? new _Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = _Object$create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","import { DynamicProperty } from '../models/dynamic-property';\nimport { Canvas } from '../models/canvas';\nimport { Tag } from '../models/tag';\n\nlet ID = 0;\ntype ErrorType = 'BaseStudioError' | 'MissingData' | 'FallbackWarning';\ntype SourceType = 'tag' | 'dynamic-clickthrough' | 'canvas-condition' | 'tag-condition';\n\nexport class BaseStudioError extends Error {\n errorType: ErrorType;\n tag?: Tag;\n sourceType?: SourceType;\n sourceError?: Error;\n sourceDynamicProperty?: DynamicProperty;\n entryDynamicProperty?: DynamicProperty;\n canvas?: Canvas;\n data?: unknown;\n status?: string;\n uuid?: string;\n\n setTag(tag: Tag) {\n if (!this.tag) {\n this.tag = tag;\n }\n return this;\n }\n\n setSourceDynamicProperty(dynamicProperty: DynamicProperty) {\n if (!this.sourceDynamicProperty) {\n this.sourceDynamicProperty = { ...dynamicProperty };\n }\n return this;\n }\n\n setEntryDynamicProperty(dynamicProperty: DynamicProperty) {\n this.entryDynamicProperty = { ...dynamicProperty };\n return this;\n }\n\n setCanvas(canvas: Canvas) {\n if (!this.canvas) {\n this.canvas = canvas;\n }\n\n return this;\n }\n\n setStack(stack: string) {\n this.stack = stack;\n\n return this;\n }\n\n setSourceType(sourceType: SourceType) {\n if (!this.sourceType) {\n this.sourceType = sourceType;\n }\n return this;\n }\n\n setData(data: unknown) {\n if (!this.data) {\n this.data = data;\n }\n return this;\n }\n\n setStatus(status: string) {\n if (!this.status) {\n this.status = status;\n }\n return this;\n }\n\n setSourceError(sourceError: Error) {\n if (!this.sourceError) {\n this.sourceError = sourceError;\n }\n\n return this;\n }\n\n setErrorType(errorType: ErrorType) {\n this.errorType = errorType;\n\n return this;\n }\n\n setUuid(uuid?: string, forcePreserveUuid?: boolean) {\n if (forcePreserveUuid) {\n this.uuid = uuid;\n }\n\n if (!this.uuid) {\n this.uuid = `${Date.now()}-${++ID}`;\n }\n\n return this;\n }\n\n constructor(message: string, sourceError?: Error, errorType?: ErrorType) {\n super(message);\n if (sourceError) {\n this.sourceError = sourceError;\n }\n\n this.setUuid();\n this.errorType = errorType || 'BaseStudioError';\n }\n\n clone(message: string) {\n const clonedError = new BaseStudioError(message)\n .setErrorType(this.errorType)\n .setTag(this.tag)\n .setSourceDynamicProperty(this.sourceDynamicProperty)\n .setEntryDynamicProperty(this.entryDynamicProperty)\n .setCanvas(this.canvas)\n .setStack(this.stack)\n .setSourceType(this.sourceType)\n .setData(this.data)\n .setStatus(this.status)\n .setUuid(this.uuid, true);\n\n return clonedError;\n }\n}\n\nexport function StudioErrorWrapper(error: Error | BaseStudioError | undefined, message?: string) {\n if (!error) {\n error = new Error('Unknown Error');\n }\n\n const wrappedMessage = message ? `${message} > ${error.message}` : error.message;\n\n if (!(error instanceof BaseStudioError)) {\n const newError = new BaseStudioError(wrappedMessage, error);\n //stack can only be overwritten after creation of error\n newError.setStack(error.stack);\n\n return newError;\n }\n\n return error.clone(wrappedMessage);\n}\n\nexport class StudioError extends BaseStudioError {\n constructor(dynamicProperty: DynamicProperty, message?: string) {\n super(message);\n this.setSourceDynamicProperty(dynamicProperty);\n }\n}\n","import React from 'react';\nimport { Tag } from '../models/tag';\nimport { Canvas } from '../models/canvas';\nimport { DynamicProperty } from '../models/dynamic-property';\nimport Resolver from '../utils/resolver';\nimport AsyncComputed, { StateTuple } from '../utils/async-computed';\nimport { StudioToolType } from '../studio-elements/StudioTool';\nimport { OnPendingPromise } from './App';\nimport {\n getComponentForTag,\n getUnresolvedPropsCatch,\n assertDynamicPropertyResolved\n} from '../utils/tag-utils';\nimport { BaseStudioError, StudioErrorWrapper } from '../../src/utils/errors';\n\ninterface TagComponentProps {\n tag: Tag;\n canvas: Canvas;\n registryResolver: Resolver;\n propertyResolver: AsyncComputed;\n onPendingPromise: OnPendingPromise<any>;\n}\n\ninterface TagComponentState {\n StudioTool: StudioToolType;\n readyToRender: boolean;\n}\n\nfunction getStateTuple<T>(\n prop: DynamicProperty<T> | undefined,\n resolver: AsyncComputed\n): StateTuple<T> {\n if (!prop) {\n return [null, null];\n }\n\n if (prop.propertyValue) {\n return [prop.propertyValue, null];\n }\n\n const { propertyPath, context, propertyGroupKey = false } = prop;\n\n return resolver.getPropertyStateTuple(propertyGroupKey, propertyPath, context);\n}\n\nexport default class TagComponent extends React.Component<TagComponentProps, TagComponentState> {\n state: Readonly<TagComponentState> = {\n StudioTool: null,\n readyToRender: false\n };\n\n static getDerivedStateFromProps(props): TagComponentState {\n const { tag, registryResolver, onPendingPromise, propertyResolver } = props;\n // TODO: Can this be memoized?\n const { properties, StudioTool } = getComponentForTag(tag, registryResolver);\n\n // Determine if any of the \"props\" are promises\n const promiseProps = getUnresolvedPropsCatch(propertyResolver, properties);\n\n // If there are promises-to-resolve, let the App know.\n onPendingPromise(promiseProps);\n\n const readyToRender = promiseProps.length === 0;\n\n return { StudioTool, readyToRender };\n }\n\n getPropertyState(prop: DynamicProperty) {\n const { propertyResolver } = this.props;\n if (prop.propertyValue) {\n return prop.propertyValue;\n }\n\n assertDynamicPropertyResolved(propertyResolver, prop);\n\n const { propertyPath, context, propertyGroupKey = false } = prop;\n\n return propertyResolver.getPropertyState(propertyGroupKey, propertyPath, context);\n }\n\n getPropertyWithFallback<T>(prop: DynamicProperty | undefined, fallback?: T) {\n const { tag, canvas, propertyResolver } = this.props;\n const [result, error] = getStateTuple(prop, propertyResolver);\n\n const passedFallback = arguments.length >= 2;\n const propertyFallback = prop && prop.propertyFallback;\n\n if (result !== null && typeof result !== 'undefined' && result !== '') return result;\n\n if (propertyFallback) {\n const warning = error\n ? StudioErrorWrapper(error, 'Fallback Warning')\n : new BaseStudioError('Fallback Warning');\n\n const consoleMessage = warning\n .setErrorType('FallbackWarning')\n .setTag(tag)\n .setCanvas(canvas)\n .setSourceType('tag')\n .setSourceDynamicProperty(prop)\n .setEntryDynamicProperty(prop);\n\n console.warn(consoleMessage);\n return propertyFallback;\n }\n\n if (passedFallback) return fallback;\n if (error) {\n throw StudioErrorWrapper(error).setTag(tag).setCanvas(canvas).setSourceType('tag');\n }\n\n throw new BaseStudioError('Missing Data')\n .setErrorType('MissingData')\n .setTag(tag)\n .setCanvas(canvas)\n .setSourceType('tag')\n .setSourceDynamicProperty(prop)\n .setEntryDynamicProperty(prop);\n }\n\n constructor(props) {\n super(props);\n this.getPropertyState = this.getPropertyState.bind(this);\n this.getPropertyWithFallback = this.getPropertyWithFallback.bind(this);\n }\n\n componentDidCatch(error) {\n const newError = StudioErrorWrapper(error).setTag(this.props.tag).setSourceType('tag');\n throw newError;\n }\n\n render() {\n const { tag } = this.props;\n const { StudioTool, readyToRender } = this.state;\n\n if (!readyToRender) {\n return null;\n }\n\n return (\n <StudioTool\n tag={tag}\n getPropertyState={this.getPropertyState}\n getPropertyWithFallback={this.getPropertyWithFallback}\n />\n );\n }\n}\n","import React from 'react';\nimport StyledElement from './StyledElement';\nimport TagComponent from './Tag';\nimport { Tag } from '../models/tag';\nimport AsyncComputed from '../utils/async-computed';\nimport Resolver from '../utils/resolver';\nimport { OnPendingPromise } from './App';\nimport { Canvas } from '../models/canvas';\n\ninterface TagsComponentProps {\n tags: Tag[];\n registryResolver: Resolver;\n propertyResolver: AsyncComputed;\n onPendingPromise: OnPendingPromise<any>;\n canvas: Canvas;\n}\n\nexport default class Tags extends React.Component<TagsComponentProps> {\n render() {\n const { registryResolver, propertyResolver, onPendingPromise, tags, canvas } = this.props;\n\n return tags.map((tag, index) => {\n const { subtags } = tag;\n return (\n <StyledElement key={index} tag={tag} registryResolver={registryResolver}>\n {subtags ? (\n <Tags\n tags={subtags}\n canvas={canvas}\n registryResolver={registryResolver}\n propertyResolver={propertyResolver}\n onPendingPromise={onPendingPromise}\n />\n ) : (\n <TagComponent\n tag={tag}\n canvas={canvas}\n registryResolver={registryResolver}\n propertyResolver={propertyResolver}\n onPendingPromise={onPendingPromise}\n />\n )}\n </StyledElement>\n );\n });\n }\n}\n","import React, { ReactNode } from 'react';\nimport Resolver from '../utils/resolver';\nimport { resolveElementModifiers, runModifiers } from '../utils/element-modifier-utils';\nimport { Canvas } from '../models/canvas';\n\ninterface Props {\n dimensions: { width: number; height: number };\n children: ReactNode;\n registryResolver: Resolver;\n canvas: Canvas;\n}\n\nexport default class SizeContainer extends React.Component<Props> {\n containerElementRef: HTMLDivElement;\n setContainerElementRef: (element: HTMLDivElement) => void;\n\n updateContainer(): void {\n const domNode = this.containerElementRef;\n\n if (domNode) {\n const { canvas, registryResolver } = this.props;\n const elementModifierFunctions = resolveElementModifiers(\n canvas?.appliedElementModifiers || [],\n registryResolver\n );\n runModifiers(domNode, elementModifierFunctions);\n }\n }\n\n constructor(props) {\n super(props);\n\n this.setContainerElementRef = (element) => {\n this.containerElementRef = element;\n };\n }\n\n componentDidMount() {\n this.updateContainer();\n }\n\n render() {\n const {\n dimensions: { width = 400, height = 300 },\n children\n } = this.props;\n\n return (\n <div\n id=\"mi_size_container\"\n style={{ width, height, position: 'relative' }}\n ref={this.setContainerElementRef}\n >\n {children}\n </div>\n );\n }\n}\n","import { StudioToolType } from '../studio-elements/StudioTool';\nimport { ModifierReference } from '../models/modifier';\nimport { AnyFunction } from '../../types';\n\nexport default class Resolver {\n private componentContainer: Map<string, StudioToolType> = new Map();\n private elementModifierContainer: Map<string, AnyFunction> = new Map();\n private propertyModifierContainer: Map<string, AnyFunction> = new Map();\n\n registerComponent(path: string, registryItem: StudioToolType): void {\n this.componentContainer.set(path, registryItem);\n }\n\n resolveComponent(path: string): StudioToolType {\n return this.componentContainer.get(path);\n }\n\n registerElementModifierFunction(reference: ModifierReference, registryItem: AnyFunction): void {\n const path = createPathKey(reference);\n this.elementModifierContainer.set(path, registryItem);\n }\n\n resolveElementModifierFunction(reference: ModifierReference): AnyFunction {\n const path = createPathKey(reference);\n\n return this.elementModifierContainer.get(path);\n }\n\n registerPropertyModifierFunction(reference: ModifierReference, registryItem: AnyFunction): void {\n const path = createPathKey(reference);\n this.propertyModifierContainer.set(path, registryItem);\n }\n\n resolvePropertyModifierFunction(reference: ModifierReference): AnyFunction {\n const path = createPathKey(reference);\n\n return this.propertyModifierContainer.get(path);\n }\n}\n\nfunction createPathKey(reference: ModifierReference): string {\n const { name, propertyGroupKey } = reference;\n return propertyGroupKey ? `${propertyGroupKey}::${name}` : name;\n}\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","require('../../modules/es6.object.freeze');\nmodule.exports = require('../../modules/_core').Object.freeze;\n","module.exports = require(\"core-js/library/fn/object/freeze\");","import { Context } from '../../../types';\n\nconst { entries, freeze, create, defineProperty } = Object;\n\ntype AccessedKeyCallback = (key: string) => void;\n\nexport default function contextAccessor(context: Context, cb: AccessedKeyCallback): Context {\n const wrappedContext = create(null);\n\n for (const [key, value] of entries(context)) {\n defineProperty(wrappedContext, key, {\n enumerable: true,\n get() {\n cb(key);\n return value;\n }\n });\n }\n\n return freeze(wrappedContext);\n}\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\nrequire('./_set-collection-of')('WeakMap');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\nrequire('./_set-collection-from')('WeakMap');\n","require('../modules/es6.object.to-string');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es7.weak-map.of');\nrequire('../modules/es7.weak-map.from');\nmodule.exports = require('../modules/_core').WeakMap;\n","module.exports = require(\"core-js/library/fn/weak-map\");","import { Context } from '../../../types';\n\nconst ERROR_KEY = Symbol('error');\nconst TEMP_STORAGE = Symbol('temporary-key');\n\ntype ErrorCache = { [ERROR_KEY]: Error };\ntype CacheValue<T> = T | ErrorCache;\n\nfunction isError(t: unknown): t is ErrorCache {\n return t && typeof t === 'object' && ERROR_KEY in t;\n}\n\nexport default class CacheMap<T> {\n public contextKeys = new Set<string>();\n\n private cache: Map<string | symbol, CacheValue<T>> = new Map();\n private reverseContext: Map<string, Context> = new Map();\n private keyCache: WeakMap<Context, string> = new WeakMap();\n private acceptingKeys = true;\n private tempContext: Context;\n\n public get(context: Context): T {\n const result = this.cache.get(this.cacheKeyFor(context));\n\n if (isError(result)) {\n throw result[ERROR_KEY];\n }\n\n return result;\n }\n\n public has(context: Context): boolean {\n return this.cache.has(this.cacheKeyFor(context));\n }\n\n public delete(context: Context): void {\n this.cache.delete(this.cacheKeyFor(context));\n }\n\n *[Symbol.iterator]() {\n for (const [key, value] of this.cache) {\n if (typeof key === 'string') {\n const context = this.reverseContext.get(key);\n yield [context, value];\n }\n }\n }\n\n public addContextKey(key: string) {\n if (this.acceptingKeys) {\n this.contextKeys.add(key);\n }\n }\n\n public freezeContext() {\n this.acceptingKeys = false;\n\n if (this.cache.has(TEMP_STORAGE)) {\n const value = this.cache.get(TEMP_STORAGE);\n const context = this.tempContext;\n\n this.cache.delete(TEMP_STORAGE);\n this.cache.set(this.cacheKeyFor(context), value);\n }\n }\n\n public set(context: Context, value: T): void {\n this.cache.set(this.cacheKeyFor(context), value);\n }\n\n public setError(context: Context, error: Error): void {\n this.cache.set(this.cacheKeyFor(context), { [ERROR_KEY]: error });\n }\n\n private cacheKeyFor(context: Context): string | symbol {\n if (this.acceptingKeys) {\n this.tempContext = context;\n return TEMP_STORAGE;\n }\n\n if (this.keyCache.has(context)) {\n return this.keyCache.get(context);\n }\n\n const parts = [];\n const reverseObject = {};\n\n for (const key of this.contextKeys) {\n const value = context[key];\n parts.push(`${key}=${value}`);\n reverseObject[key] = value;\n }\n\n const result = parts.join(';');\n\n this.keyCache.set(context, result);\n this.reverseContext.set(result, reverseObject);\n\n return result;\n }\n}\n","type Deferred<T> = {\n promise: Promise<T>;\n resolve: (val?: T) => Promise<T>;\n reject: (err?: Error) => Promise<T>;\n};\n\nexport default function defer<T>(): Deferred<T> {\n let resolve;\n let reject;\n\n const promise = new Promise<T>((innerResolve, innerReject) => {\n resolve = innerResolve;\n reject = innerReject;\n });\n\n return { promise, resolve, reject };\n}\n","import isPromise from '../is-promise';\nimport defer from '../defer';\n\ntype ComputeResult<T> = T | Promise<T>;\ntype ComputeFn<T> = () => ComputeResult<T>;\ntype QueueTuple<T> = [(val: ComputeResult<T>) => Promise<T>, (e: Error) => void, ComputeFn<T>];\n\nexport default class ComputeThrottler<T> {\n private queue: QueueTuple<T>[] = [];\n private hasSuccessfullyComputed = false;\n private isPending = false;\n private afterFirst: () => void;\n\n constructor(afterFirst: () => void) {\n this.afterFirst = afterFirst;\n }\n\n private performFirstCompute(compute: ComputeFn<T>): ComputeResult<T> {\n this.isPending = true;\n\n let result;\n\n try {\n result = compute();\n } catch (e) {\n this.isPending = false;\n this.tryNextInQueue();\n throw e;\n }\n\n if (isPromise(result)) {\n (result as Promise<T>).then(\n () => {\n this.isPending = false;\n this.hasSuccessfullyComputed = true;\n this.afterFirst();\n this.flushQueue();\n },\n () => {\n // If it failed, then process the next in the queue (if any)\n this.isPending = false;\n this.tryNextInQueue();\n }\n );\n } else {\n this.isPending = false;\n this.hasSuccessfullyComputed = true;\n this.afterFirst();\n }\n\n return result;\n }\n\n private flushQueue() {\n const { queue } = this;\n\n // Clear the queue.\n this.queue = [];\n\n for (const [resolve, reject, compute] of queue) {\n try {\n const result = compute();\n resolve(result);\n } catch (e) {\n reject(e);\n }\n }\n }\n\n private tryNextInQueue(): void {\n const next = this.queue.shift();\n\n if (next) {\n const [resolve, reject, compute] = next;\n\n try {\n const result = this.performFirstCompute(compute);\n resolve(result);\n } catch (e) {\n reject(e);\n }\n }\n }\n\n queueCallback(compute: ComputeFn<T>) {\n // If we have successfully computed, this is a pass-through\n if (this.hasSuccessfullyComputed) {\n return compute();\n }\n\n // If we're not pending, this is the \"first\" to go.\n if (!this.isPending) {\n return this.performFirstCompute(compute);\n }\n\n // If wee are pending, then we should create a promise\n // that will return a future resolvable and add it to the queue.\n const { resolve, reject, promise } = defer<T>();\n\n this.queue.push([resolve, reject, compute]);\n\n return promise;\n }\n}\n","import {\n GetPropertyArgs,\n GetPropertyProxyArgs,\n SetPropertyArgs,\n Grouping,\n GetProxyHandler\n} from '../../types';\n\nexport function parseGetPropertyArgs<T>(args: GetPropertyArgs<T>): [Grouping, string, T] {\n const [arg1, arg2, arg3] = args;\n if (typeof arg2 === 'string') {\n return [arg1, arg2, arg3];\n } else if (typeof arg1 === 'string') {\n return [false, arg1, arg2];\n } else {\n return [false, '', arg3];\n }\n}\n\nexport function parseGetPropertyProxyArgs<T>(\n args: GetPropertyProxyArgs<T>\n): [Grouping, string, T, GetProxyHandler<T>] {\n let callback = null;\n\n if (typeof args[args.length - 1] === 'function') {\n callback = args.pop();\n }\n\n if (!callback) {\n callback = (_, error) => {\n if (error) {\n throw error;\n }\n };\n }\n\n const [arg1, arg2, arg3] = args;\n\n if (typeof arg2 === 'string' && typeof arg3 !== 'function') {\n return [arg1, arg2, arg3, callback];\n } else if (typeof arg1 === 'string' && typeof arg2 !== 'function' && typeof arg2 !== 'string') {\n return [false, arg1, arg2, callback];\n } else if (typeof arg3 !== 'function') {\n return [false, '', arg3, callback];\n }\n}\n\nexport function parseSetPropertyArgs<T>(args: SetPropertyArgs<T>): [Grouping, string, T] {\n if (args.length === 2) {\n const [arg1, arg2] = args;\n return [false, arg1, arg2];\n } else {\n return args;\n }\n}\n","import { DynamicProperty } from '../../models/dynamic-property';\n\nexport enum DebugType {\n cacheRead = 'cache-read',\n propertyRequest = 'property-request',\n resolve = 'resolve',\n await = 'await',\n error = 'error',\n override = 'override'\n}\n\nexport interface DebugEvent {\n makeChildEvent(type: DebugType, dynamicProperty?: DynamicProperty): DebugEvent;\n setValue(value: unknown): void;\n setError(value: Error): void;\n}\n\nclass InertDebugEvent implements DebugEvent {\n makeChildEvent(): DebugEvent {\n return this;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setValue() {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setError() {}\n}\n\nexport class ActiveDebugEvent implements DebugEvent {\n public type: DebugType;\n public dynamicProperty: DynamicProperty;\n public value: unknown = null;\n public error: Error;\n public childEvents: ActiveDebugEvent[] = [];\n\n constructor(type: DebugType, dynamicProperty: DynamicProperty | null) {\n this.type = type;\n this.dynamicProperty = dynamicProperty;\n }\n\n makeChildEvent(type: DebugType, prop?: DynamicProperty): ActiveDebugEvent {\n const event = new ActiveDebugEvent(type, prop || this.dynamicProperty);\n\n this.childEvents.push(event);\n\n return event;\n }\n\n setValue(value: unknown) {\n this.value = value;\n }\n\n setError(err: Error) {\n this.error = err;\n }\n}\n\nexport function createEvent(type: DebugType, prop: DynamicProperty) {\n return new ActiveDebugEvent(type, prop);\n}\n\nexport function createInertEvent() {\n return new InertDebugEvent();\n}\n","import contextAccessor from './context-accessors';\nimport CacheMap from './cache-map';\nimport AsyncComputed from '../async-computed';\nimport ComputeThrottler from './compute-throttler';\nimport isPromise from '../is-promise';\nimport {\n GetPropertyArgs,\n GetProperty,\n ComputeFn,\n OverrideFn,\n Context,\n PropertyDump,\n ComputeArgs,\n Grouping\n} from '../../../types';\nimport { parseGetPropertyProxyArgs } from '../parse-get-property-args';\nimport { DebugEvent, DebugType } from './debug-event';\nimport { DynamicProperty } from '../../models/dynamic-property';\nimport { BaseStudioError, StudioErrorWrapper } from '../errors';\n\nfunction deprecateGetContext(key: string): void {\n console.warn(\n `DEPRECATED: No longer need to use 'getContext(${key})'. You can use 'context.${key}' instead.`\n );\n}\n\nclass PromiseException<R> {\n promise: Promise<R>;\n\n constructor(promise) {\n this.promise = promise;\n }\n}\n\nconst DEFAULT_OVERRIDE: OverrideFn = (value) => value;\ntype MaybePromise<T> = T | Promise<T>;\n\nexport default class Property<R> {\n public computeFn: ComputeFn<R>;\n public propertyKey: string;\n public grouping: Grouping;\n\n protected dependentProperties: Set<Property<any>> = new Set();\n private firstCompute = new ComputeThrottler<R>(() => this.finalizeCache());\n\n private memoizeCache: CacheMap<MaybePromise<R>> = new CacheMap();\n private computed: AsyncComputed;\n private overrideFn: OverrideFn;\n\n constructor(\n computeFn: ComputeFn<R>,\n computed: AsyncComputed,\n grouping: Grouping,\n propertyKey: string,\n overrideFn: OverrideFn = DEFAULT_OVERRIDE\n ) {\n this.computed = computed;\n this.computeFn = computeFn as ComputeFn<R>;\n this.grouping = grouping;\n this.propertyKey = propertyKey;\n this.overrideFn = overrideFn;\n }\n\n public copy(): Property<R> {\n const { computed, computeFn, propertyKey, grouping, overrideFn } = this;\n return new Property<R>(computeFn, computed, grouping, propertyKey, overrideFn);\n }\n\n public set override(overrideFn: OverrideFn) {\n this.overrideFn = overrideFn;\n }\n\n public get override(): OverrideFn {\n return this.overrideFn;\n }\n\n public get dependencies(): Set<Property<any>> {\n return this.dependentProperties;\n }\n\n public getCacheFor(context: Context): MaybePromise<R> {\n if (this.memoizeCache) {\n return this.memoizeCache.get(context);\n }\n }\n\n public hasCacheFor(context: Context): boolean {\n return this.memoizeCache && this.memoizeCache.has(context);\n }\n\n public dependsOn(property: Property<unknown>): boolean {\n return this.dependentProperties.has(property);\n }\n\n public dumpProperty(): PropertyDump[] {\n const result: PropertyDump[] = [];\n const propertyPath = this.propertyKey;\n const dependsOn = Array.from(this.dependentProperties).map((prop) => prop.propertyKey);\n\n const base = {\n propertyPath,\n dependsOn,\n context: {}\n };\n\n if (this.memoizeCache) {\n for (const [context, value] of this.memoizeCache) {\n result.push({\n ...base,\n context,\n value,\n wasUsed: true\n });\n }\n }\n\n // This means that this property hasn't been read.\n if (result.length === 0) {\n result.push({\n ...base,\n wasUsed: false\n });\n }\n\n return result;\n }\n\n private finalizeCache(): void {\n for (const property of this.dependentProperties) {\n for (const key of property.memoizeCache.contextKeys) {\n this.memoizeCache.addContextKey(key);\n }\n }\n\n this.memoizeCache.freezeContext();\n }\n\n /** When you see this `setProperty` in a Package or App:\n app.setProperty('FOO', ({ getProperty, context }) => {\n const { bazIndex } = context;\n \tconst bar = getProperty('BAR');\n \treturn bar.baz[bazIndex];\n });\n ... the seemingly magical `getProperty` function that is passed in\n is the one that gets constructed and returned from `getPropertyProxy`\n ie. every property rolls it's own `getProperty` function using the context\n it requires\n\n */\n\n private getPropertyProxy(context: Context, requestEvent: DebugEvent): GetProperty {\n return (...args: GetPropertyArgs<Context>): GetProperty => {\n const [grouping, key, extraContext = {}, callback] = parseGetPropertyProxyArgs(args);\n\n const propertyGroupKey = grouping || this.grouping;\n\n const property = this.computed.getPropertyInstance(propertyGroupKey, key);\n\n if (!property) {\n return null;\n }\n\n this.dependentProperties.add(property);\n\n const fullContext = { ...context, ...extraContext };\n\n const prop: DynamicProperty = {\n propertyGroupKey: propertyGroupKey,\n propertyPath: key,\n context: fullContext\n };\n\n const childEvent = requestEvent.makeChildEvent(DebugType.propertyRequest, prop);\n\n let result;\n let error;\n\n try {\n result = property.compute(fullContext, childEvent);\n } catch (e) {\n error = e;\n }\n\n if (isPromise(result)) {\n throw new PromiseException(result);\n }\n\n try {\n if (error) {\n callback(null, error);\n return;\n } else {\n callback(result, null);\n return result;\n }\n } catch (e) {\n const wrappedError = StudioErrorWrapper(e).setSourceDynamicProperty(prop);\n throw wrappedError;\n }\n };\n }\n\n private generateComputeArgs(passedContext: Context = {}, requestEvent: DebugEvent): ComputeArgs {\n const context = contextAccessor(passedContext, (key) => this.memoizeCache.addContextKey(key));\n const getProperty = this.getPropertyProxy(passedContext, requestEvent);\n const propertyPath = this.propertyKey;\n\n const getContext = (key) => {\n deprecateGetContext(key);\n return context[key];\n };\n\n return { context, getContext, getProperty, propertyPath };\n }\n\n public compute(context: Context = {}, event: DebugEvent): MaybePromise<R> {\n // Letting the first compute finish means we can collect\n // all the context keys we need\n return this.firstCompute.queueCallback(() => this.cachedCompute(context, event));\n }\n\n private overrideResult(result: R, context: Context, event: DebugEvent) {\n const overrideFn = this.overrideFn;\n const overwrittenResult = overrideFn(result, context);\n\n if (overrideFn !== DEFAULT_OVERRIDE) {\n const overrideEvent = event.makeChildEvent(DebugType.override);\n overrideEvent.setValue(result);\n }\n\n return overwrittenResult;\n }\n\n private handleComputeError(\n error: PromiseException<R> | BaseStudioError,\n context: Context,\n event: DebugEvent\n ): MaybePromise<R> {\n if (error instanceof PromiseException) {\n return this.yieldPromiseException(error, context, event);\n }\n\n const dynamicProperty = {\n propertyPath: this.propertyKey,\n propertyGroupKey: this.grouping,\n context\n };\n\n const wrappedError = StudioErrorWrapper(error)\n .setSourceDynamicProperty(dynamicProperty)\n .setEntryDynamicProperty(dynamicProperty);\n\n this.memoizeCache.setError(context, wrappedError);\n\n event.makeChildEvent(DebugType.error);\n event.setError(wrappedError);\n\n throw wrappedError;\n }\n\n private async resolvePromiseResult(promise: Promise<R>, context: Context, event: DebugEvent) {\n try {\n const result = await promise;\n\n event.makeChildEvent(DebugType.resolve);\n\n const overwrittenResult = this.overrideResult(result, context, event);\n\n this.memoizeCache.set(context, overwrittenResult);\n\n event.setValue(overwrittenResult);\n\n return overwrittenResult;\n } catch (error) {\n return this.handleComputeError(error, context, event);\n }\n }\n\n private async yieldPromiseException(\n exception: PromiseException<R>,\n context: Context,\n event: DebugEvent\n ) {\n try {\n event.makeChildEvent(DebugType.await);\n await exception.promise;\n\n return this.trySyncCompute(context, event);\n } catch (error) {\n return this.handleComputeError(error, context, event);\n }\n }\n\n private trySyncCompute(context: Context, event: DebugEvent): MaybePromise<R> {\n try {\n const computeArgs = this.generateComputeArgs(context, event);\n const result = this.computeFn(computeArgs);\n\n if (isPromise(result)) {\n event.makeChildEvent(DebugType.await);\n return this.resolvePromiseResult(result, context, event);\n } else {\n event.makeChildEvent(DebugType.resolve);\n\n const overwrittenResult = this.overrideResult(result, context, event);\n\n this.memoizeCache.set(context, overwrittenResult);\n\n event.setValue(overwrittenResult);\n\n return overwrittenResult;\n }\n } catch (error) {\n return this.handleComputeError(error, context, event);\n }\n }\n\n private cachedCompute(context: Context, event: DebugEvent): MaybePromise<R> {\n // If memoize cache is not set up, compute compute and set up the cache.\n if (this.memoizeCache.has(context)) {\n event.makeChildEvent(DebugType.cacheRead);\n return this.memoizeCache.get(context);\n }\n // Immediately cache the response (it wil be re-written when finalized if it's a promise).\n const result = this.trySyncCompute(context, event);\n\n this.memoizeCache.set(context, result);\n\n return result;\n }\n}\n","import { Grouping } from '../../../types/index';\n\nfunction generateGroupingKey(grouping: Grouping, propertyPath: string): string {\n return grouping === false ? propertyPath : `${grouping}::${propertyPath}`;\n}\n\nfunction getPartsFromGroupingKey(groupingKey: string): [Grouping, string] {\n if (groupingKey.includes('::')) {\n const [grouping, propertyPath] = groupingKey.split('::');\n return [grouping, propertyPath];\n } else {\n return [false, groupingKey];\n }\n}\n\nexport default class GroupedRegistry<T> {\n private fallbackMap = new Map<string, T>();\n\n private globalMap = new Map<string, T>();\n\n private groupingMap = new Map<string, T>();\n\n public get(grouping: Grouping, path: string, allowFallback = true): T | undefined {\n const groupingKey = generateGroupingKey(grouping, path);\n\n if (grouping && this.groupingMap.has(groupingKey)) {\n return this.groupingMap.get(groupingKey);\n } else if (this.globalMap.has(path)) {\n return this.globalMap.get(path);\n }\n\n if (allowFallback) {\n return this.fallbackMap.get(path);\n }\n }\n\n public set(grouping: Grouping, propertyPath: string, value: T) {\n this.fallbackMap.set(propertyPath, value);\n\n if (grouping) {\n const groupingKey = generateGroupingKey(grouping, propertyPath);\n this.groupingMap.set(groupingKey, value);\n } else {\n this.globalMap.set(propertyPath, value);\n }\n }\n\n public has(grouping: Grouping, path: string) {\n return grouping\n ? this.groupingMap.has(generateGroupingKey(grouping, path))\n : this.globalMap.has(path);\n }\n\n public *entries(): Generator<[Grouping, string, T]> {\n for (const [key, value] of this.groupingMap) {\n const [grouping, propertyPath] = getPartsFromGroupingKey(key);\n yield [grouping, propertyPath, value];\n }\n\n for (const [key, value] of this.globalMap) {\n const [grouping, propertyPath] = getPartsFromGroupingKey(key);\n yield [grouping, propertyPath, value];\n }\n\n for (const [key, value] of this.fallbackMap) {\n const [grouping, propertyPath] = getPartsFromGroupingKey(key);\n yield [grouping, propertyPath, value];\n }\n }\n\n public *values(): Generator<T> {\n for (const [, value] of this.groupingMap) {\n yield value;\n }\n\n for (const [, value] of this.globalMap) {\n yield value;\n }\n }\n}\n","import Property from './async-computed/property';\nimport { parseGetPropertyArgs, parseSetPropertyArgs } from './parse-get-property-args';\nimport GroupedRegistry from './async-computed/property-registry';\nimport {\n DebugType,\n ActiveDebugEvent,\n createEvent,\n createInertEvent\n} from './async-computed/debug-event';\nimport {\n GetPropertyArgs,\n SetPropertyArgs,\n ComputeFn,\n OverrideFn,\n PropertyDump,\n Context,\n Grouping\n} from '../../types';\n\nconst { entries } = Object;\n\ntype GlobObject<T> = {\n value: T | ComputeFn<T>;\n regex: RegExp;\n};\n\nexport type StateTuple<T> = [T | null, Error | null];\n\nfunction isComputeFn<T>(fn: ComputeFn<T> | T): fn is ComputeFn<T> {\n return typeof fn === 'function';\n}\n\nexport default class AsyncComputed {\n private propertyRegistry = new GroupedRegistry<Property<unknown>>();\n private propertyOverridesBuffer = new GroupedRegistry<OverrideFn>();\n private globProperties = new GroupedRegistry<GlobObject<unknown>>();\n private debugEnabled = false;\n private propertyDebugEventsTree: ActiveDebugEvent[] = [];\n\n public enableDebugMode(): void {\n this.debugEnabled = true;\n }\n\n public setProperty<T>(...args: SetPropertyArgs<T | ComputeFn<T>>): void {\n const [grouping, path, value] = parseSetPropertyArgs(args);\n\n if (path.includes('*')) {\n const regex = new RegExp('^' + path.replace('*', '[^*]+'));\n this.globProperties.set(grouping, path, { regex, value });\n } else {\n const newProp = this.generatePropertyFromPath(grouping, path, value);\n this.propertyRegistry.set(grouping, path, newProp);\n }\n }\n\n public setProperties(object: { [path: string]: any }, prefix?: string) {\n entries(object).forEach(([path, value]) => {\n const fullPath = prefix ? `${prefix}.${path}` : path;\n this.setProperty(fullPath, value);\n });\n }\n\n public dumpState(): PropertyDump[] {\n let result = [];\n\n for (const prop of this.propertyRegistry.values()) {\n result = [...result, ...prop.dumpProperty()];\n }\n\n return result;\n }\n\n public get propertyDebugEvents(): ActiveDebugEvent[] {\n return this.propertyDebugEventsTree;\n }\n\n public getPropertyInstance(grouping: Grouping, path: string): Property<any> {\n // If we're trying to access a property that might match one of the glob\n // properties, (ie: \"dataSource.*\" when path is \"dataSource.foo\"), then we\n // should generate that property before attempting to fetch it.\n if (!this.propertyRegistry.has(grouping, path)) {\n this.generateFromGlob(grouping, path);\n }\n\n return this.propertyRegistry.get(grouping, path);\n }\n\n public overrideProperty(...args: GetPropertyArgs<OverrideFn>): void {\n const [grouping, path, fn] = parseGetPropertyArgs(args);\n const prop = this.getPropertyInstance(grouping, path);\n\n if (prop) {\n prop.override = fn;\n this.resetDependencies(prop);\n this.resetProperty(prop);\n } else {\n // The property may not have been defined yet.\n // This may be obsolete behavior, but to keep backwards compat,\n // we should keep this around.\n this.propertyOverridesBuffer.set(grouping, path, fn);\n }\n }\n\n public hasPropertyState(...args: GetPropertyArgs<Context>): boolean {\n const [grouping, path, context = {}] = parseGetPropertyArgs(args);\n const property = this.getPropertyInstance(grouping, path);\n\n if (!property) {\n return true;\n }\n\n return property.hasCacheFor(context);\n }\n\n public getPropertyState<T>(...args: GetPropertyArgs<Context>): T {\n const [grouping, path, context = {}] = parseGetPropertyArgs(args);\n const property = this.getPropertyInstance(grouping, path);\n\n if (!property) {\n return null;\n }\n\n return property.getCacheFor(context);\n }\n\n public getPropertyStateTuple<T>(...args: GetPropertyArgs<Context>): StateTuple<T> {\n try {\n const result = this.getPropertyState<T>(...args);\n return [result, null];\n } catch (e) {\n return [null, e];\n }\n }\n\n public getProperty<T>(...args: GetPropertyArgs<Context>): T | Promise<T> {\n const [grouping, path, context = {}] = parseGetPropertyArgs(args);\n const property = this.getPropertyInstance(grouping, path);\n\n if (!property) {\n return null;\n }\n\n let requestEvent;\n\n if (this.debugEnabled) {\n requestEvent = createEvent(DebugType.propertyRequest, {\n propertyGroupKey: property.grouping, // make sure we're using the property's actual grouping\n propertyPath: path,\n context: context\n });\n\n this.propertyDebugEventsTree.push(requestEvent);\n } else {\n requestEvent = createInertEvent();\n }\n\n return property.compute(context, requestEvent);\n }\n\n public async getPropertyTuple<T>(...args: GetPropertyArgs<Context>): Promise<StateTuple<T>> {\n try {\n const result = await this.getProperty<T>(...args);\n return [result, null];\n } catch (e) {\n return [null, e];\n }\n }\n\n private generateFromGlob(grouping: Grouping, path: string): void {\n for (const val of this.globProperties.entries()) {\n const [globGrouping, , { regex, value }] = val;\n const groupingMatches = grouping === false || grouping === globGrouping;\n\n if (regex.test(path) && groupingMatches) {\n const property = this.generatePropertyFromPath(globGrouping, path, value);\n this.propertyRegistry.set(grouping, path, property);\n break;\n }\n }\n }\n\n private generatePropertyFromPath<T>(\n currentGrouping: Grouping,\n path: string,\n value: T | ComputeFn<T>\n ): Property<T> {\n const callback: ComputeFn<T> = isComputeFn(value) ? value : () => value;\n const previousProperty = this.propertyRegistry.get(currentGrouping, path, false);\n\n if (previousProperty) {\n this.resetDependencies(previousProperty);\n }\n\n // The property override for the new property is one of three things:\n // 1. The value for the existing property that is being replaced.\n // 2. The override set before this property was set\n // 3. The identity function so no override takes places\n //\n // FWIW: it's not clear whether #2 actually happens, but this is kept\n // to maintain backwards compatibility.\n const override = previousProperty\n ? previousProperty.override\n : this.propertyOverridesBuffer.has(currentGrouping, path)\n ? this.propertyOverridesBuffer.get(currentGrouping, path)\n : undefined;\n\n return new Property(callback, this, currentGrouping, path, override);\n }\n\n private resetProperty(property: Property<unknown>) {\n const { grouping, propertyKey } = property;\n this.propertyRegistry.set(grouping, propertyKey, property.copy());\n }\n\n private resetDependencies(property: Property<unknown>): void {\n for (const prop of this.findAllDependencies(property)) {\n this.resetProperty(prop);\n }\n }\n\n private findAllDependencies(initialProperty: Property<unknown>): Set<Property<unknown>> {\n const toInvalidate = new Set<Property<unknown>>();\n const stack = [initialProperty];\n\n while (stack.length > 0) {\n const currentProperty = stack.shift();\n\n for (const property of this.propertyRegistry.values()) {\n const notAlreadySeen = !toInvalidate.has(property);\n const isDependent = property.dependsOn(currentProperty);\n\n if (notAlreadySeen && isDependent) {\n stack.unshift(property);\n toInvalidate.add(property);\n }\n }\n }\n\n return toInvalidate;\n }\n\n public isDependencyCycleDetected(propertyRegistry: GroupedRegistry<Property<unknown>>): boolean {\n const propsToInspect = [...propertyRegistry.values()];\n const propsInspected = new Set<Property<unknown>>();\n const propsCompleted = new Set<Property<unknown>>();\n\n while (propsToInspect.length) {\n const currentProperty = propsToInspect.pop();\n\n if (this.detectCycle(currentProperty, propertyRegistry, propsInspected, propsCompleted)) {\n return true;\n }\n }\n return false;\n }\n\n private detectCycle(\n currentProperty: Property<unknown>,\n propertyRegistry: GroupedRegistry<Property<unknown>>,\n propsInspected: Set<Property<unknown>>,\n propsCompleted: Set<Property<unknown>>\n ): boolean {\n if (!propsCompleted.has(currentProperty)) {\n propsInspected.add(currentProperty);\n propsCompleted.add(currentProperty);\n\n for (const prop of currentProperty.dependencies) {\n if (\n !propsCompleted.has(prop) &&\n this.detectCycle(prop, propertyRegistry, propsInspected, propsCompleted)\n ) {\n return true;\n }\n if (propsInspected.has(prop)) {\n return true;\n }\n }\n }\n\n propsInspected.delete(currentProperty);\n\n return false;\n }\n}\n","import React, { FunctionComponent } from 'react';\nimport { StudioToolProps } from './StudioTool';\n\nconst ShapeTag: FunctionComponent<StudioToolProps> = () => <div />;\n\nexport default ShapeTag;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","module.exports = require(\"core-js/library/fn/object/assign\");","var _Object$assign = require(\"@babel/runtime-corejs2/core-js/object/assign\");\n\nfunction _extends() {\n module.exports = _extends = _Object$assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","import React from 'react';\nimport { Tag } from '../models/tag';\nimport {\n DynamicProperty,\n GetPropertyState,\n GetPropertyWithFallback\n} from '../models/dynamic-property';\n\nexport interface StudioToolProps<T = unknown> {\n tag: Tag;\n getPropertyState?: GetPropertyState;\n getPropertyWithFallback?: GetPropertyWithFallback<T>;\n}\n\nexport type StudioToolType = React.ComponentType<StudioToolProps>;\n\nexport default class StudioTool<T = StudioToolProps> extends React.Component<T> {\n // TODO: We need to be able to extend StudioTool and create a new call signature for dynamicProperties\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static dynamicProperties(tag: Tag): DynamicProperty[] {\n return [];\n }\n}\n","export default function trimTextOverflow(element: HTMLElement): void {\n const parentElement = element.parentElement;\n const parentBox = parentElement.getBoundingClientRect();\n // It fits already; no need to resize.\n if (!overflowsParent(element, parentBox)) {\n return;\n }\n const truncatableElement = findOverlappingElement(element, parentBox);\n\n truncateText(truncatableElement, parentBox);\n}\n\nfunction addEllipsis(text: string): string {\n return text.replace(/\\s*$/, '...');\n}\n\nfunction truncateText(element: HTMLElement, parentBox: ClientRect): void {\n let currentText = element.innerText;\n let endPos = currentText.length;\n\n // Remove all the sibilings after this one.\n while (element.nextElementSibling) {\n element.nextElementSibling.remove();\n }\n\n // Remove all the parent's subsequent siblings.\n while (element.parentElement.nextElementSibling) {\n element.parentElement.nextElementSibling.remove();\n }\n\n while (endPos > 0 && overflowsParent(element, parentBox)) {\n endPos = currentText.lastIndexOf(' ');\n currentText = currentText.substr(0, endPos);\n\n if (currentText === '') {\n const previousElement = findPreviousElement(element);\n if (!previousElement) {\n return;\n }\n\n previousElement.innerText = addEllipsis(previousElement.innerText);\n\n return truncateText(previousElement, parentBox);\n }\n\n element.innerText = addEllipsis(currentText);\n }\n\n // If the ellipsis is still outside the thing, remove that node; and truncate the next previous sibiling\n // Also, remove all the subsequent sibilings.\n}\n\nfunction findPreviousElement(element: HTMLElement): HTMLElement | null {\n const previousSibling = element.previousSibling;\n const parentPreviousSibling = element.parentElement.previousElementSibling;\n\n return (previousSibling ||\n (parentPreviousSibling && parentPreviousSibling.lastElementChild)) as HTMLElement;\n}\n\nfunction findOverlappingElement(element: HTMLElement, parentBox: ClientRect): HTMLElement {\n const children = Array.from(element.children) as HTMLElement[];\n\n for (const child of children) {\n if (overflowsParent(child, parentBox)) {\n return findOverlappingElement(child, parentBox);\n }\n }\n\n // if no child is found to overlap, return self.\n return element;\n}\n\nfunction overflowsParent(element: HTMLElement, parentBox: ClientRect): boolean {\n const selfBox = element.getBoundingClientRect();\n const isOutside = !(\n selfBox.left >= parentBox.left &&\n selfBox.right <= parentBox.right &&\n selfBox.bottom <= parentBox.bottom &&\n element.scrollHeight <= parentBox.height &&\n element.scrollWidth <= parentBox.width\n );\n return isOutside;\n}\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","require('../modules/es6.parse-float');\nmodule.exports = require('../modules/_core').parseFloat;\n","module.exports = require(\"core-js/library/fn/parse-float\");","import { StaticRichText, ParagraphOp, Op } from '../models/rich-text';\n\nconst { min } = Math;\n\nexport function convertToEms(insertProperties: StaticRichText, baseFontSize: number) {\n return insertProperties.map((prop) => {\n const insertFontSize = (prop.attributes && prop.attributes.fontSize) || baseFontSize;\n const ratioToBase = parseFloat(insertFontSize.toString()) / baseFontSize;\n const fontSize = `${ratioToBase}em`;\n const attributes = {\n ...prop.attributes,\n fontSize\n };\n\n return { ...prop, attributes };\n });\n}\n\nexport function shrinkToFit(\n element: HTMLElement,\n richTextStructure: ParagraphOp[],\n baseFontSize: number,\n minFontSize: number\n): boolean {\n const { parentElement } = element;\n const parentBox = parentElement.getBoundingClientRect();\n\n // It fits already; no need to resize.\n if (!overflowsParent(parentBox, element)) {\n return true;\n }\n\n const smallestFontRatio: number = richTextStructure.reduce((smallest, op) => {\n smallest = min(smallest, getFontRatio(op));\n\n if (op.spans) {\n for (const span of op.spans) {\n smallest = min(smallest, getFontRatio(span));\n }\n }\n\n return smallest;\n }, 1);\n\n const didFit = resizeToFit(baseFontSize - 1, element, parentBox, minFontSize, smallestFontRatio);\n\n if (!didFit) {\n // Reset the parent's font size\n element.style.fontSize = `${baseFontSize}px`;\n }\n\n return didFit;\n}\n\nfunction resizeToFit(\n currentFontSize: number,\n selfElement: HTMLElement,\n parentBox: ClientRect,\n minimumFontSize: number,\n smallestRatio: number\n): boolean {\n const cannotReduceAnymore = smallestRatio * currentFontSize <= minimumFontSize;\n\n if (currentFontSize <= minimumFontSize || cannotReduceAnymore) {\n // Text is too big, so we cannot \"shrink to fit\" anymore\n return false;\n }\n\n selfElement.style.fontSize = `${currentFontSize}px`;\n\n // Re-run if still outside of parent container\n if (overflowsParent(parentBox, selfElement)) {\n // truncate if min font size reached\n const nextFontSize = currentFontSize - 1;\n return resizeToFit(nextFontSize, selfElement, parentBox, minimumFontSize, smallestRatio);\n }\n\n return true;\n}\n\nfunction overflowsParent(parentBox: ClientRect, selfElement: HTMLElement): boolean {\n const range = document.createRange();\n range.selectNode(selfElement);\n const selfBox = range.getBoundingClientRect();\n\n range.detach();\n\n return !(\n selfBox.left >= parentBox.left &&\n selfBox.right <= parentBox.right &&\n selfBox.bottom <= parentBox.bottom\n );\n}\n\nfunction getFontRatio(op: ParagraphOp | Op<unknown>): number {\n const fontSize = op.attributes && op.attributes.fontSize;\n return fontSize ? stripUnits(fontSize.toString(), 'em') : 1;\n}\n\nfunction stripUnits(str: string, unit: string): number {\n return parseFloat(str.replace(unit, ''));\n}\n","module.exports = /\\b(4r5e|5h1t|5hit|a55|anal|anus|ar5e|arrse|arse|ass|ass-fucker|asses|assfucker|assfukka|asshole|assholes|asswhole|a_s_s|b!tch|b00bs|b17ch|b1tch|ballbag|balls|ballsack|bastard|beastial|beastiality|bellend|bestial|bestiality|bi\\+ch|biatch|bitch|bitcher|bitchers|bitches|bitchin|bitching|bloody|blow job|blowjob|blowjobs|boiolas|bollock|bollok|boner|boob|boobs|booobs|boooobs|booooobs|booooooobs|breasts|buceta|bugger|bum|bunny fucker|butt|butthole|buttmuch|buttplug|c0ck|c0cksucker|carpet muncher|cawk|chink|cipa|cl1t|clit|clitoris|clits|cnut|cock|cock-sucker|cockface|cockhead|cockmunch|cockmuncher|cocks|cocksuck|cocksucked|cocksucker|cocksucking|cocksucks|cocksuka|cocksukka|cok|cokmuncher|coksucka|coon|cox|crap|cum|cummer|cumming|cums|cumshot|cunilingus|cunillingus|cunnilingus|cunt|cuntlick|cuntlicker|cuntlicking|cunts|cyalis|cyberfuc|cyberfuck|cyberfucked|cyberfucker|cyberfuckers|cyberfucking|d1ck|damn|dick|dickhead|dildo|dildos|dink|dinks|dirsa|dlck|dog-fucker|doggin|dogging|donkeyribber|doosh|duche|dyke|ejaculate|ejaculated|ejaculates|ejaculating|ejaculatings|ejaculation|ejakulate|f u c k|f u c k e r|f4nny|fag|fagging|faggitt|faggot|faggs|fagot|fagots|fags|fanny|fannyflaps|fannyfucker|fanyy|fatass|fcuk|fcuker|fcuking|feck|fecker|felching|fellate|fellatio|fingerfuck|fingerfucked|fingerfucker|fingerfuckers|fingerfucking|fingerfucks|fistfuck|fistfucked|fistfucker|fistfuckers|fistfucking|fistfuckings|fistfucks|flange|fook|fooker|fuck|fucka|fucked|fucker|fuckers|fuckhead|fuckheads|fuckin|fucking|fuckings|fuckingshitmotherfucker|fuckme|fucks|fuckwhit|fuckwit|fudge packer|fudgepacker|fuk|fuker|fukker|fukkin|fuks|fukwhit|fukwit|fux|fux0r|f_u_c_k|gangbang|gangbanged|gangbangs|gaylord|gaysex|goatse|God|god-dam|god-damned|goddamn|goddamned|hardcoresex|hell|heshe|hoar|hoare|hoer|homo|hore|horniest|horny|hotsex|jack-off|jackoff|jap|jerk-off|jism|jiz|jizm|jizz|kawk|knob|knobead|knobed|knobend|knobhead|knobjocky|knobjokey|kock|kondum|kondums|kum|kummer|kumming|kums|kunilingus|l3i\\+ch|l3itch|labia|lust|lusting|m0f0|m0fo|m45terbate|ma5terb8|ma5terbate|masochist|master-bate|masterb8|masterbat*|masterbat3|masterbate|masterbation|masterbations|masturbate|mo-fo|mof0|mofo|mothafuck|mothafucka|mothafuckas|mothafuckaz|mothafucked|mothafucker|mothafuckers|mothafuckin|mothafucking|mothafuckings|mothafucks|mother fucker|motherfuck|motherfucked|motherfucker|motherfuckers|motherfuckin|motherfucking|motherfuckings|motherfuckka|motherfucks|muff|mutha|muthafecker|muthafuckker|muther|mutherfucker|n1gga|n1gger|nazi|nigg3r|nigg4h|nigga|niggah|niggas|niggaz|nigger|niggers|nob|nob jokey|nobhead|nobjocky|nobjokey|numbnuts|nutsack|orgasim|orgasims|orgasm|orgasms|p0rn|pawn|pecker|penis|penisfucker|phonesex|phuck|phuk|phuked|phuking|phukked|phukking|phuks|phuq|pigfucker|pimpis|piss|pissed|pisser|pissers|pisses|pissflaps|pissin|pissing|pissoff|poop|porn|porno|pornography|pornos|prick|pricks|pron|pube|pusse|pussi|pussies|pussy|pussys|rectum|retard|rimjaw|rimming|s hit|s.o.b.|sadist|schlong|screwing|scroat|scrote|scrotum|semen|sex|sh!\\+|sh!t|sh1t|shag|shagger|shaggin|shagging|shemale|shi\\+|shit|shitdick|shite|shited|shitey|shitfuck|shitfull|shithead|shiting|shitings|shits|shitted|shitter|shitters|shitting|shittings|shitty|skank|slut|sluts|smegma|smut|snatch|son-of-a-bitch|spac|spunk|s_h_i_t|t1tt1e5|t1tties|teets|teez|testical|testicle|tit|titfuck|tits|titt|tittie5|tittiefucker|titties|tittyfuck|tittywank|titwank|tosser|turd|tw4t|twat|twathead|twatty|twunt|twunter|v14gra|v1gra|vagina|viagra|vulva|w00se|wang|wank|wanker|wanky|whoar|whore|willies|willy|xrated|xxx)\\b/gi;","import { Grouping } from '../../types/index';\n\nexport type PropertyPath = string;\nexport type PropertyFallback = string;\nexport type PropertyValue = string;\n\nexport interface DynamicPropertyContext {\n [propName: string]: any;\n}\n\nexport interface GetPropertyState {\n (property: DynamicProperty): any | never;\n}\n\nexport interface GetPropertyWithFallback<T = string> {\n (property: DynamicProperty, fallback?: unknown): T;\n}\n\nexport interface DynamicProperty<T = string> {\n readonly propertyPath: PropertyPath;\n readonly propertyGroupKey?: Grouping;\n readonly propertyValue?: T;\n readonly propertyFallback?: T;\n readonly context?: DynamicPropertyContext;\n readonly variableName?: string;\n}\n\nexport function isDynamicProperty(prop: DynamicProperty | any): prop is DynamicProperty {\n return prop && (prop as DynamicProperty).propertyPath !== undefined;\n}\n\nexport default function makeDynamicProperty(\n propertyPath: string,\n context: DynamicPropertyContext = null\n): DynamicProperty {\n const dynamicProperty: any = { propertyPath };\n\n if (context) {\n dynamicProperty.context = context;\n }\n\n return dynamicProperty as DynamicProperty;\n}\n","import badWordRegex from 'badwords-list/lib/regexp';\nimport makeDynamicProp, {\n DynamicProperty,\n GetPropertyWithFallback\n} from '../models/dynamic-property';\nimport { RichText, StaticRichText, Op, DynamicInsert, ParagraphOp } from '../models/rich-text';\nimport { BaseStudioError } from './errors';\n\nconst BAD_WORDS_PROPERTY = makeDynamicProp('options.filter_bad_words');\nconst DEFAULT_P_STYLES = { margin: 0, padding: 0 };\nconst { min } = Math;\n\nexport function makeRenderStructure(ops: StaticRichText, fitToOneLine): ParagraphOp[] {\n const paragraphs = [];\n const opsAttrs = [];\n let spanBuffer = [];\n let forceFlush = false;\n\n function flushParagraph(pAttrs = {}) {\n if (fitToOneLine && !forceFlush) {\n opsAttrs.push(pAttrs);\n } else {\n const styles = forceFlush ? opsAttrs[0] : pAttrs;\n const attributes = { ...DEFAULT_P_STYLES, ...styles };\n\n paragraphs.push({ attributes, spans: spanBuffer });\n spanBuffer = [];\n }\n }\n\n ops.forEach((op) => {\n const { attributes, insert } = op;\n if (insert.match(/^\\n*$/) && insert !== '') {\n insert.match(/\\n/g).forEach(() => {\n flushParagraph(attributes);\n });\n } else {\n spanBuffer.push(op);\n }\n });\n\n if (spanBuffer.length) {\n if (fitToOneLine) {\n forceFlush = true;\n }\n\n flushParagraph(forceFlush);\n }\n return paragraphs;\n}\n\nfunction getTokenValue(prop: DynamicProperty, getProp: GetPropertyWithFallback): string {\n const text = String(getProp(prop));\n\n if (getProp(BAD_WORDS_PROPERTY, false) && text.match(badWordRegex)) {\n throw new BaseStudioError('bad word found')\n .setEntryDynamicProperty(prop)\n .setSourceDynamicProperty(prop);\n }\n\n return text;\n}\n\nexport function replaceDynamicTokens(\n ops: RichText,\n getProp: GetPropertyWithFallback\n): StaticRichText {\n return ops.map((op) => {\n const prop = (op as Op<DynamicInsert>).insert.dynamicProperty;\n\n if (prop) {\n return {\n ...op,\n insert: getTokenValue(prop, getProp)\n } as Op<string>;\n }\n\n return op as Op<string>;\n });\n}\n\nexport function getDynamicTokens(ops: RichText): DynamicProperty[] {\n const resOps = ops\n .map((op) => op.insert as DynamicInsert)\n .filter((insert) => insert.dynamicProperty)\n .map((insert) => insert.dynamicProperty);\n\n if (resOps.length > 0) {\n resOps.push(BAD_WORDS_PROPERTY);\n }\n\n return resOps;\n}\n\nexport function getMinFontSize(ops: StaticRichText, defaultSize: number): number {\n return ops.reduce((curMin, op) => {\n const fontSize = op.attributes && op.attributes.fontSize;\n\n if (fontSize) {\n return min(curMin, parseFloat(fontSize.toString()));\n }\n\n return curMin;\n }, defaultSize);\n}\n","import React, { FunctionComponent, RefObject } from 'react';\nimport { Op, ParagraphOp } from '../models/rich-text';\nimport { Tag } from '../models/tag';\nimport StudioTool, { StudioToolProps } from './StudioTool';\nimport trimTextOverflow from '../utils/trim-text-overflow';\nimport { convertToEms, shrinkToFit } from '../utils/shrink-to-fit';\nimport {\n makeRenderStructure,\n replaceDynamicTokens,\n getDynamicTokens,\n getMinFontSize\n} from '../utils/rich-text-structure';\nimport { normalizeRichTextStyles } from '../utils/style-from-attributes';\nimport { BaseStudioError, StudioErrorWrapper } from '../utils/errors';\n\ninterface RichTextState {\n ops: ParagraphOp[];\n baseFontSize: number;\n}\n\nconst RichTextSpan: FunctionComponent<Op<string>> = ({ attributes, insert, fitToOneLine }) => {\n const whiteSpace = fitToOneLine ? 'nowrap' : 'pre-wrap';\n return <span style={{ ...normalizeRichTextStyles(attributes), whiteSpace }}>{insert}</span>;\n};\n\nconst isNewLine = ({ insert }) => insert === '';\nconst haveSpans = (spans) => spans.length;\nconst mapSpans = (spans, fitToOneLine) =>\n spans.map((span, n) =>\n isNewLine(span) ? (\n <br key={n} />\n ) : (\n <RichTextSpan key={n} {...span} fitToOneLine={fitToOneLine} />\n )\n );\n\nexport default class RichTextElement extends StudioTool<StudioToolProps<string>> {\n private lastRichText: RichTextState;\n\n state = { didOverflow: false };\n\n elementRef: RefObject<HTMLDivElement> = React.createRef();\n\n static dynamicProperties(tag: Tag) {\n return getDynamicTokens(tag.richText);\n }\n\n componentDidMount() {\n this.processOverflow();\n }\n\n processOverflow(): void {\n const { tag } = this.props;\n if (tag.truncateText) {\n trimTextOverflow(this.elementRef.current);\n }\n\n if (tag.autoresize || tag.fitToOneLine) {\n const { ops, baseFontSize } = this.lastRichText;\n const minFontsize = tag.minimumFontSize || 12;\n const rtElement = this.elementRef.current;\n\n const didFit = shrinkToFit(rtElement, ops, baseFontSize, minFontsize);\n\n this.setState({ didOverflow: !didFit });\n }\n }\n\n get richTextStructure(): RichTextState {\n const { tag, getPropertyWithFallback } = this.props;\n const { fallbackRichText, richText, fontSize = 16 } = tag;\n\n try {\n if (this.state.didOverflow) {\n throw new BaseStudioError('Text could not shrink to fit').setTag(tag);\n }\n\n const replacedStructure = replaceDynamicTokens(richText, getPropertyWithFallback);\n const { fitToOneLine } = this.props.tag;\n\n const baseFontSize = getMinFontSize(replacedStructure, fontSize);\n const emStructure = convertToEms(replacedStructure, baseFontSize);\n const ops = makeRenderStructure(emStructure, fitToOneLine);\n\n return { ops, baseFontSize };\n } catch (e) {\n if (fallbackRichText) {\n console.warn(StudioErrorWrapper(e).setTag(tag));\n\n const baseFontSize = getMinFontSize(fallbackRichText, fontSize);\n const emStructure = convertToEms(fallbackRichText, baseFontSize);\n const ops = makeRenderStructure(emStructure, false);\n\n return { ops, baseFontSize };\n }\n\n throw e;\n }\n }\n\n render() {\n const { richTextStructure } = this;\n const { ops, baseFontSize } = richTextStructure;\n const { fitToOneLine = false } = this.props.tag;\n\n this.lastRichText = richTextStructure;\n\n const style = { fontSize: baseFontSize } as React.CSSProperties;\n\n return (\n <div className=\"rich-text-element\" ref={this.elementRef} style={style}>\n {ops.map(({ attributes, spans }, i) => (\n <p style={{ ...attributes }} key={i}>\n {haveSpans(spans) ? mapSpans(spans, fitToOneLine) : <br />}\n </p>\n ))}\n </div>\n );\n }\n}\n","import React, { CSSProperties } from 'react';\nimport CD from 'cropduster';\n\nexport default function ImageTag({ tag }) {\n const { imageUrl, toolProperties } = tag;\n const altText = toolProperties ? toolProperties.altText : '';\n\n if (!imageUrl) {\n throw new Error('Could not render image as no URL was provided');\n }\n\n const isDataURL = imageUrl.match(/^data:/);\n if (!isDataURL) {\n CD.waitForAsset(imageUrl);\n }\n\n const styles: CSSProperties = {\n height: '100%',\n width: '100%',\n position: 'absolute',\n left: '0',\n top: '0'\n };\n\n return <img src={imageUrl} style={styles} alt={altText} className=\"studio-image\" />;\n}\n","import { CSSProperties } from 'react';\n\ntype CropStyles = 'stretched' | 'contained' | 'cropped';\n\nconst CROPPING_OPTIONS: { [key: string]: CSSProperties } = {\n stretched: { backgroundSize: '100% 100%' },\n contained: { backgroundSize: 'contain' },\n cropped: { backgroundSize: 'cover' }\n};\n\nconst BASE_STYLES: CSSProperties = {\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'left top',\n height: '100%',\n width: '100%',\n position: 'relative'\n};\n\n// This is a temporary workaround to an issue with Capturama where\n// a background-image does not get recognized as an in-flight image.\nexport const HIDDEN_IMAGE_STYLE: CSSProperties = {\n height: 0,\n width: 0,\n position: 'absolute',\n opacity: 0\n};\n\nexport default function stylesForImage(imageUrl: string, cropStyle: CropStyles): CSSProperties {\n const cropStyles = CROPPING_OPTIONS[cropStyle];\n\n return {\n background: `url(\"${imageUrl}\")`,\n ...BASE_STYLES,\n ...cropStyles\n };\n}\n","import React from 'react';\nimport CD from 'cropduster';\nimport StudioTool, { StudioToolProps } from './StudioTool';\nimport stylesForImage, { HIDDEN_IMAGE_STYLE } from '../utils/styles-for-image';\n\nexport default class DynamicImageTag extends StudioTool<StudioToolProps<string>> {\n static dynamicProperties(tag) {\n const { dynamicProperty, dynamicAltText } = tag;\n return [dynamicProperty, dynamicAltText].filter((d) => !!d);\n }\n\n render() {\n const {\n tag: { dynamicProperty, isCropped, dynamicAltText },\n getPropertyWithFallback\n } = this.props;\n\n const src = getPropertyWithFallback(dynamicProperty);\n const altText = getPropertyWithFallback(dynamicAltText, '');\n\n const isDataURL = src.match(/^data:/);\n if (!isDataURL) {\n CD.waitForAsset(src);\n }\n\n const styleType = isCropped ? 'cropped' : 'contained';\n const styles = stylesForImage(src, styleType);\n\n return (\n <>\n <div className=\"studio-dynamic-image\" role=\"image\" aria-label={altText} style={styles} />\n <img\n alt=\"hidden\"\n aria-hidden=\"true\"\n className=\"studio-hidden-dynamic-image\"\n src={src}\n style={HIDDEN_IMAGE_STYLE}\n />\n </>\n );\n }\n}\n","import Shape from '../studio-elements/Shape';\nimport RichTextElement from '../studio-elements/RichTextElement';\nimport Image from '../studio-elements/Image';\nimport DynamicImage from '../studio-elements/DynamicImage';\nimport Resolver from './resolver';\n\nexport default (resolver: Resolver) => {\n resolver.registerComponent('text', RichTextElement);\n resolver.registerComponent('richText', RichTextElement);\n resolver.registerComponent('rectangle', Shape);\n resolver.registerComponent('staticPic', Image);\n resolver.registerComponent('image', DynamicImage);\n};\n","import React from 'react';\nimport Tags from './Tags';\nimport SizeContainer from './SizeContainer';\nimport Resolver from '../utils/resolver';\nimport AsyncComputed from '../utils/async-computed';\nimport bootstrapApp from '../utils/bootstrap-app';\nimport tryInvoke from '../utils/try-invoke';\nimport { Tag } from '../models/tag';\nimport { Canvas } from '../models/canvas';\n\ninterface AppProps {\n tags: Tag[];\n dimensions?: { width: number; height: number };\n asyncComputed?: AsyncComputed;\n resolver?: Resolver;\n onComplete?: () => any;\n onError?: (err: Error) => any;\n clickthroughURL?: string;\n canvas: Canvas;\n}\n\ninterface AppState {\n registryResolver: Resolver;\n propertyResolver: AsyncComputed;\n}\n\nexport type OnPendingPromise<T> = (promises: Promise<T>[]) => void;\n\nexport default class App extends React.Component<AppProps, AppState> {\n private dimensionsDefault = { width: 400, height: 300 };\n private pendingProperties = new Set();\n private onPendingPromise: OnPendingPromise<any> = (promises) => {\n for (const promise of promises) {\n this.pendingProperties.add(promise);\n }\n };\n\n constructor(props) {\n super(props);\n\n const { asyncComputed, resolver } = props;\n const registryResolver = resolver || new Resolver();\n const propertyResolver = asyncComputed || new AsyncComputed();\n\n this.state = { registryResolver, propertyResolver };\n\n bootstrapApp(registryResolver);\n }\n\n async updateWhenSettled() {\n // Have a way of determining if the property resolver \"is settled\"\n if (this.pendingProperties.size === 0) {\n return tryInvoke(this.props, 'onComplete');\n }\n\n try {\n const promises = Array.from(this.pendingProperties);\n\n await Promise.all(promises);\n\n this.pendingProperties = new Set();\n this.forceUpdate();\n } catch (err) {\n this.componentDidCatch(err);\n }\n }\n\n async updateWhenSettledNext() {\n // Wait for the current render loop to finish in case there is an error.\n await Promise.resolve();\n await this.updateWhenSettled();\n }\n\n componentDidMount() {\n this.updateWhenSettledNext();\n }\n\n componentDidUpdate() {\n this.updateWhenSettledNext();\n }\n\n componentDidCatch(err) {\n tryInvoke(this.props, 'onError', err);\n }\n\n render() {\n const {\n state: { registryResolver, propertyResolver },\n props: { tags, clickthroughURL, dimensions, canvas }\n } = this;\n\n const container = (\n <SizeContainer\n dimensions={dimensions || this.dimensionsDefault}\n registryResolver={registryResolver}\n canvas={canvas}\n >\n <Tags\n tags={tags || []}\n canvas={canvas}\n registryResolver={registryResolver}\n propertyResolver={propertyResolver}\n onPendingPromise={this.onPendingPromise}\n />\n </SizeContainer>\n );\n\n if (clickthroughURL) {\n return (\n <a id=\"mi_dynamic_link\" href={clickthroughURL} rel=\"noopener noreferrer\" target=\"_parent\">\n {container}\n </a>\n );\n } else {\n return container;\n }\n }\n}\n","import { Tag } from '../models/tag';\nimport { CustomProperty } from '../models/custom-property';\nimport { ModifiedProperty } from '../models/modified-property';\nimport { CustomTool } from '../models/custom-tool';\nimport { Canvas } from '../models/canvas';\nimport { Options, QueryParams } from '../models/options';\nimport { NamespacedOption } from '../models/namespaced-option';\nimport CD from 'cropduster';\n\nexport interface AppArgs {\n queryParams?: QueryParams;\n canvases?: Canvas[];\n\n customProps?: CustomProperty[];\n customTools?: CustomTool[];\n\n modifiedProps?: ModifiedProperty[];\n\n options?: Options;\n namespacedOptions?: NamespacedOption[];\n}\n\nfunction parseCanvases(parsed) {\n const { canvases } = parsed;\n return {\n canvases,\n customProps: (parsed.customProps as CustomProperty[]) || [],\n customTools: (parsed.customTools as CustomTool[]) || [],\n modifiedProps: (parsed.modifiedProps as ModifiedProperty[]) || []\n };\n}\n\nfunction parseBasic(parsed) {\n return Array.isArray(parsed.tags)\n ? {\n canvases: [\n {\n name: '',\n label: '',\n conditionalDynamicProperty: undefined,\n tags: parsed.tags as Tag[]\n }\n ],\n customProps: (parsed.customProps as CustomProperty[]) || [],\n customTools: (parsed.customTools as CustomTool[]) || [],\n modifiedProps: (parsed.modifiedProps as ModifiedProperty[]) || []\n }\n : {\n canvases: [\n {\n name: '',\n label: '',\n conditionalDynamicProperty: undefined,\n tags: parsed as Tag[]\n }\n ],\n customProps: [],\n customTools: [],\n modifiedProps: []\n };\n}\n\nfunction parseAttributes({ innerText }) {\n const parsed = JSON.parse(innerText);\n const hasCanvases = Array.isArray(parsed.canvases);\n\n return hasCanvases ? parseCanvases(parsed) : parseBasic(parsed);\n}\n\nexport default function setupAppDefaults(): AppArgs {\n const MI = (window as any).MI || {};\n const { options = { width: 500, height: 500 }, namespacedOptions = [] } = MI;\n const queryParams = CD.params();\n const attributes = document.querySelector('.mi-attributes') as HTMLElement;\n\n const { canvases, customProps, customTools, modifiedProps } =\n attributes && attributes.innerText\n ? parseAttributes(attributes)\n : {\n canvases: [\n {\n name: '',\n label: '',\n conditionalDynamicProperty: undefined,\n tags: [] as Tag[]\n }\n ],\n customProps: [] as CustomProperty[],\n customTools: [] as CustomTool[],\n modifiedProps: [] as ModifiedProperty[]\n };\n return {\n canvases,\n customProps,\n customTools,\n modifiedProps,\n options,\n queryParams,\n namespacedOptions\n };\n}\n","export default function animation(app) {\n app.setProperty('animation.isAnimated', ({ getProperty }) => {\n return getProperty('options.animated');\n });\n\n app.setProperty('animation.interval', ({ getProperty }) => {\n return getProperty('options.animation_interval');\n });\n\n app.setProperty('animation.length', ({ getProperty }) => {\n return getProperty('options.animation_length');\n });\n\n app.setProperty('animation.totalFrames', ({ getProperty }) => {\n const length = getProperty('animation.length');\n const interval = getProperty('animation.interval');\n\n if (interval < 1) {\n throw new Error('Your animation interval must be greater than 0');\n }\n\n const frames = Math.floor(length / interval);\n return Math.max(1, frames);\n });\n\n app.setProperty('animation.currentFrame', 1);\n\n app.setProperty('animation.percentComplete', ({ getProperty }) => {\n const isAnimated = getProperty('animation.isAnimated');\n if (!isAnimated) return 1;\n\n const totalFrames = getProperty('animation.totalFrames');\n const currentFrame = getProperty('animation.currentFrame');\n return (currentFrame - 1) / (totalFrames - 1);\n });\n\n app.setProperty('animation.functionName', ({ getProperty }) => {\n const fn = getProperty('options.animation_function');\n return fn.replace(/\\(.+$/, '');\n });\n}\n","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import React from 'react';\nimport StudioTool, { StudioToolProps } from './StudioTool';\nimport htm from 'htm';\nimport CD from 'cropduster';\n\nconst html = htm.bind(React.createElement);\n\nexport default function makeCustomTool(toolData) {\n return class CustomTool extends StudioTool<StudioToolProps<unknown>> {\n static dynamicProperties() {\n return toolData.propertyInputs || [];\n }\n\n render() {\n const { getPropertyWithFallback, tag } = this.props;\n const { code, propertyInputs = [] } = toolData;\n const propertyNames = propertyInputs.map((input) => input.variableName);\n const Tool = new Function(...propertyNames, 'html', 'CD', 'tag', code);\n const values = propertyInputs.map((prop) => getPropertyWithFallback(prop));\n return Tool(...values, html, CD, tag);\n }\n };\n}\n","function isDocument(node: Node): node is Document {\n return node.nodeType === Node.DOCUMENT_NODE;\n}\n\nexport default function getDocumentNode(node: Node): Document {\n if (node.parentNode !== null) {\n return getDocumentNode(node.parentNode);\n }\n\n if (isDocument(node)) {\n return node;\n }\n\n throw new Error('Could not find document.');\n}\n","import getDocumentNode from './get-document-node';\n\nconst BASE_STYLE = 'margin: 0px;';\n\nexport default function cleanHTML(element: Node): void {\n const doc = getDocumentNode(element);\n\n const body = doc.body;\n const html = doc.children[0];\n\n const analytics: HTMLElement = doc.querySelector('#mi-data');\n const analyticsLength = analytics ? (analytics.getAttribute('data-mi-data') || '').length : 0;\n const imageRedirect: HTMLElement = doc.querySelector('#mi-redirect-image');\n\n const newBody = doc.createElement('body');\n\n newBody.style.cssText = BASE_STYLE;\n newBody.appendChild(element);\n\n if (analyticsLength > 250) {\n analytics.setAttribute('data-mi-data', '{}');\n console.log(\n 'extraData trying to be set exceeds 250 characters, setting extraData to be empty to avoid breaking crops'\n );\n }\n\n if (analytics) {\n analytics.style.display = 'none';\n newBody.appendChild(analytics);\n }\n\n if (imageRedirect) {\n imageRedirect.style.display = 'none';\n newBody.appendChild(imageRedirect);\n }\n\n html.replaceChild(newBody, body);\n\n const scripts = doc.querySelectorAll('script');\n\n for (let index = 0; index < scripts.length; index++) {\n scripts[index].remove();\n }\n}\n\nexport { BASE_STYLE };\n","import getDocumentNode from './get-document-node';\n\nexport function pingUrlCode(doc = document) {\n const linkTag = document.querySelector('#mi_dynamic_link');\n const url = doc.location\n .toString()\n .replace(/(\\.html)(\\?|#|$)/, (_, __, postfix) => `/t${postfix}`);\n\n if (linkTag) {\n linkTag.setAttribute('ping', url);\n }\n}\n\nexport default function addBrowserContent(baseElement: HTMLElement) {\n const rootNode = getDocumentNode(baseElement);\n const script = rootNode.createElement('script');\n\n script.setAttribute('type', 'text/x-mi-browser');\n script.text = `(${pingUrlCode.toString()})();`;\n\n rootNode.body.appendChild(script);\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport CD from 'cropduster';\nimport App from './components/App';\nimport AsyncComputed, { StateTuple } from './utils/async-computed';\nimport Registry from './utils/resolver';\nimport setupAppDefaults, { AppArgs } from './utils/app-defaults';\nimport { Options } from './models/options';\nimport { Tag } from './models/tag';\nimport { Canvas } from './models/canvas';\nimport { CustomProperty } from './models/custom-property';\nimport { CustomTool } from './models/custom-tool';\nimport setupAnimation from './properties/animation';\nimport makeCustomTool from './studio-elements/CustomTool';\nimport cleanHTML from './utils/clean-html';\nimport addBrowserContent from './utils/add-browser-content';\nimport { AnyFunction, GetPropertyArgs, Context, Grouping } from '../types';\nimport { NamespacedOption } from './models/namespaced-option';\nimport { isDynamicProperty } from './models/dynamic-property';\nimport { ModifiedProperty } from './models/modified-property';\nimport { StudioErrorWrapper } from './utils/errors';\n\nexport default class StudioFramework {\n private currentGrouping: Grouping = false;\n private asyncComputed = new AsyncComputed();\n private resolver = new Registry();\n private canvases: Canvas[];\n private customProps: CustomProperty[];\n private customTools: CustomTool[];\n private modifiedProps: ModifiedProperty[];\n private appComponent: App;\n private options: Options;\n private namespacedOptions: NamespacedOption[];\n public debug = {\n CD,\n getAllProperties: () => this.asyncComputed.dumpState(),\n getPropertyEvents: () => this.asyncComputed.propertyDebugEvents,\n logProperties: () => {\n const state = this.asyncComputed.dumpState();\n console.warn(\n '`app.debug.logProperties()` is deprecated. Please use `app.debug.logPropertyTree()`'\n );\n console.log(JSON.stringify(state, null, 2));\n },\n enableDebugMode: () => {\n this.asyncComputed.enableDebugMode();\n },\n logPropertyTree: () => {\n const events = this.asyncComputed.propertyDebugEvents;\n console.log(JSON.stringify(events, null, 2));\n }\n };\n\n constructor(opts: AppArgs = setupAppDefaults()) {\n const {\n canvases = [],\n customProps = [],\n customTools = [],\n modifiedProps = [],\n options = {\n height: 300,\n width: 400\n },\n namespacedOptions = [],\n queryParams = {}\n } = opts;\n\n this.options = options;\n this.namespacedOptions = namespacedOptions;\n this.customProps = customProps;\n this.customTools = customTools;\n this.modifiedProps = modifiedProps;\n this.canvases = canvases;\n\n this.setProperties(queryParams);\n this.setProperties(queryParams, 'params');\n\n this.setProperty('options', () => {\n console.warn('Do not use options directly');\n return options;\n });\n\n this.setProperty('params', () => {\n console.warn('Do not use params directly');\n return queryParams;\n });\n\n setupAnimation(this);\n\n this.setup();\n\n this.setupOptions();\n\n this.setupNamespacedOptions();\n\n this.setupCustomTools();\n\n this.setupCustomProps();\n\n this.setupModifiedProps();\n }\n\n private triggerRerender() {\n if (this.appComponent) {\n this.appComponent.forceUpdate();\n }\n }\n\n private async resolveConditionalDynamicProperty(\n model: Canvas | Tag\n ): Promise<StateTuple<boolean>> {\n const { conditionalDynamicProperty } = model;\n\n if (!conditionalDynamicProperty) return [true, null];\n\n const { propertyGroupKey = '', propertyPath = '', context = {} } = conditionalDynamicProperty;\n return this.getPropertyTuple(propertyGroupKey, propertyPath, context);\n }\n\n private async getCurrentCanvas(): Promise<Canvas> {\n if (!this.canvases.length) return null;\n\n const { canvases } = this;\n for (const canvas of canvases) {\n const [result, error] = await this.resolveConditionalDynamicProperty(canvas);\n\n if (result) return canvas;\n if (error) {\n const wrappedError = StudioErrorWrapper(\n error,\n `Skipped ${canvas.label} because conditional dynamic property threw an error`\n )\n .setCanvas(canvas)\n .setSourceType('canvas-condition');\n\n console.warn(wrappedError);\n }\n }\n return canvases[canvases.length - 1];\n }\n\n setProperty(key: string, value: any) {\n this.asyncComputed.setProperty(this.currentGrouping, key, value);\n this.triggerRerender();\n }\n\n setProperties(obj: { [key: string]: any }, namespace?: string) {\n Object.entries(obj).forEach(([path, value]) => {\n const fullPath = namespace ? `${namespace}.${path}` : path;\n this.setProperty(fullPath, value);\n });\n }\n\n overrideProperty(key: string, overrideFn: (val?: any) => any) {\n this.asyncComputed.overrideProperty(key, overrideFn);\n this.triggerRerender();\n }\n\n getProperty(...args: GetPropertyArgs<Context>): any {\n return this.asyncComputed.getProperty(...args);\n }\n\n getPropertyTuple<T>(...args: GetPropertyArgs<Context>) {\n return this.asyncComputed.getPropertyTuple<T>(...args);\n }\n\n setGrouping(grouping: string, groupInitializationFunction: () => void) {\n this.currentGrouping = grouping;\n groupInitializationFunction();\n this.currentGrouping = false;\n }\n\n registerTool(name: string, tool) {\n this.resolver.registerComponent(name, tool);\n this.triggerRerender();\n }\n\n registerElementModifier(name: string, fn: AnyFunction) {\n const propertyGroupKey = this.currentGrouping;\n this.resolver.registerElementModifierFunction({ name, propertyGroupKey }, fn);\n this.triggerRerender();\n }\n\n registerPropertyModifier(name: string, fn: AnyFunction) {\n const propertyGroupKey = this.currentGrouping;\n this.resolver.registerPropertyModifierFunction({ name, propertyGroupKey }, fn);\n this.triggerRerender();\n }\n\n // eslint-disable-next-line\n setup(): void {}\n\n // eslint-disable-next-line\n private async getCurrentTags(tags: Tag[], canvas): Promise<Tag[]> {\n const filteredTags = [];\n for (const tag of tags) {\n const [result, error] = await this.resolveConditionalDynamicProperty(tag);\n if (result) {\n filteredTags.push(tag);\n }\n if (error) {\n const wrappedError = StudioErrorWrapper(\n error,\n `Skipped ${\n tag.label || tag.displayName\n } because conditional dynamic property threw an error`\n )\n .setSourceType('tag-condition')\n .setSourceDynamicProperty(tag.conditionalDynamicProperty)\n .setEntryDynamicProperty(tag.conditionalDynamicProperty)\n .setTag(tag)\n .setCanvas(canvas);\n\n console.warn(wrappedError);\n }\n }\n\n return this.setupTags(filteredTags);\n }\n\n setupTags(tags: Tag[]): Tag[] {\n return tags;\n }\n\n // eslint-disable-next-line\n async clickthrough(currentCanvas: Canvas): Promise<string | null> {\n let { clickthrough_dynamic_property } = this.options;\n\n if (currentCanvas?.clickthroughDynamicProperty) {\n clickthrough_dynamic_property = currentCanvas.clickthroughDynamicProperty;\n }\n\n if (clickthrough_dynamic_property) {\n const { context, propertyPath, propertyValue } = clickthrough_dynamic_property;\n\n if (propertyValue) return propertyValue;\n const [result, error] = await this.getPropertyTuple<string>(propertyPath, context);\n\n if (error) {\n throw StudioErrorWrapper(error)\n .setSourceType('dynamic-clickthrough')\n .setCanvas(currentCanvas);\n }\n\n return result;\n }\n\n return null;\n }\n\n analyticsData(): Record<string, any> | Promise<Record<string, any> | null> {\n return null;\n }\n\n async handleClickthrough(currentCanvas: Canvas): Promise<string | null> {\n const clickthrough = await this.clickthrough(currentCanvas);\n\n if (clickthrough) {\n return clickthrough;\n }\n }\n\n async handleAnalyticsData(): Promise<void> {\n const analyticsData = await this.analyticsData();\n\n if (!analyticsData) {\n return;\n }\n\n if (typeof analyticsData !== 'object') {\n throw new Error('The result of `analyticsData` must be an object');\n }\n\n CD.setExtraData(analyticsData);\n }\n\n renderApp(targetElement, clickthroughURL, tags, dimensions, canvas): Promise<void> {\n return new Promise((resolve, reject) => {\n ReactDOM.render(\n <App\n asyncComputed={this.asyncComputed}\n clickthroughURL={clickthroughURL}\n resolver={this.resolver}\n dimensions={dimensions}\n tags={tags}\n canvas={canvas}\n onComplete={resolve}\n onError={reject}\n ref={(App) => {\n this.appComponent = App;\n }}\n />,\n targetElement\n );\n });\n }\n\n setupAnimation(): void {\n const animationFunction: string = this.getProperty('animation.functionName') as string;\n let currentFrame: number = this.getProperty('animation.currentFrame') as number;\n\n window[animationFunction] = () => {\n currentFrame += 1;\n this.setProperty('animation.currentFrame', currentFrame);\n };\n }\n\n setupCustomTools(): void {\n this.customTools.map((tool) => {\n if (!tool.name) {\n throw new Error('Attempted to setup a Custom Tool without a name.');\n }\n this.registerTool(tool.name, makeCustomTool(tool));\n });\n }\n\n setupOptions(): void {\n for (const [key, value] of Object.entries(this.options)) {\n if (value && isDynamicProperty(value)) {\n const { propertyGroupKey, propertyPath, propertyValue, context } = value;\n\n if (propertyGroupKey === 'static') {\n this.setProperty(`options.${key}`, propertyValue);\n\n this.setProperty(key, propertyValue);\n } else {\n this.setProperty(`options.${key}`, ({ getProperty }) => {\n return getProperty(propertyGroupKey, propertyPath, context);\n });\n\n this.setProperty(key, ({ getProperty }) => {\n return getProperty(propertyGroupKey, propertyPath, context);\n });\n }\n } else {\n this.setProperty(`options.${key}`, value);\n\n this.setProperty(key, value);\n }\n }\n }\n\n setupNamespacedOptions(): void {\n this.namespacedOptions.map((option) => {\n const { propertyGroupKey, fields } = option;\n\n const initializationFunction = () => {\n fields.map((field) => {\n const { fieldName, value } = field;\n\n if (value && isDynamicProperty(value)) {\n const { propertyGroupKey, propertyPath, propertyValue, context } = value;\n\n if (propertyGroupKey === 'static') {\n this.setProperty(`options.${fieldName}`, propertyValue);\n } else {\n this.setProperty(`options.${fieldName}`, ({ getProperty }) => {\n return getProperty(propertyGroupKey, propertyPath, context);\n });\n }\n } else {\n this.setProperty(`options.${fieldName}`, value);\n }\n });\n };\n\n this.setGrouping(propertyGroupKey, initializationFunction);\n });\n }\n\n setupCustomProps(): void {\n this.customProps.map((customProp) => {\n const { name, code, context_options: contextInputs = [] } = customProp;\n let { propertyInputs } = customProp;\n\n if (!propertyInputs) {\n propertyInputs = [];\n }\n\n const customPropInputs = propertyInputs.map((input) => input.variableName);\n const contextOptionsNames = contextInputs.map((input) => input.name);\n let callback;\n\n try {\n callback = new Function(...customPropInputs, ...contextOptionsNames, 'getProperty', code);\n } catch (error) {\n const errorMessage = `${error}`;\n console.warn(\n `Custom property has an error: \\n\n name: ${name} \\n\n code: ${code} \\n\n error: ${errorMessage}`\n );\n callback = () => {\n throw new Error(errorMessage);\n };\n }\n\n this.setProperty(name, ({ getProperty, context }) => {\n const values = propertyInputs.map((dp) =>\n getProperty(dp.propertyGroupKey, dp.propertyPath, dp.context)\n );\n\n const contextValues = contextInputs.map((input) => context[input.name]);\n return callback(...values, ...contextValues, getProperty);\n });\n });\n }\n\n setupModifiedProps(): void {\n this.modifiedProps.map((modifiedProp) => {\n const { name, appliedPropertyModifier, propertyInputs } = modifiedProp;\n\n const modifierFn = this.resolver.resolvePropertyModifierFunction(appliedPropertyModifier);\n\n if (!modifierFn) {\n throw new Error(\n `Could not resolve modifier: ${appliedPropertyModifier.name} in ${appliedPropertyModifier.propertyGroupKey}`\n );\n }\n\n this.setProperty(name, ({ getProperty }) => {\n const modifierArgs = propertyInputs.reduce(\n (\n previousValue: { [key: string]: unknown },\n { propertyGroupKey, propertyPath, context, variableName, propertyValue }\n ) => {\n const value = propertyValue || getProperty(propertyGroupKey, propertyPath, context);\n\n return { ...previousValue, [variableName]: value };\n },\n {}\n );\n\n return modifierFn(modifierArgs);\n });\n });\n }\n\n handleRenderError(e: Error): void {\n console.error(e);\n\n CD.throwError(e);\n throw e;\n }\n\n async render(targetElement): Promise<void> {\n let currentCanvas;\n try {\n CD.pause();\n currentCanvas = await this.getCurrentCanvas();\n const clickthroughURL = await this.handleClickthrough(currentCanvas);\n const canvasTags = currentCanvas?.tags || [];\n const tags = await this.getCurrentTags(canvasTags, currentCanvas);\n const height = currentCanvas.height || this.options.height;\n const width = currentCanvas.width || this.options.width;\n\n const renderPromise = this.renderApp(\n targetElement,\n clickthroughURL,\n tags,\n { height, width },\n currentCanvas\n );\n\n const analyticsDataPromise = this.handleAnalyticsData();\n\n await Promise.all([renderPromise, analyticsDataPromise]);\n\n if (this.getProperty('animation.isAnimated')) {\n this.setupAnimation();\n }\n\n cleanHTML(targetElement);\n addBrowserContent(targetElement);\n\n CD.resume();\n } catch (e) {\n const wrappedError = StudioErrorWrapper(e).setCanvas(currentCanvas);\n this.handleRenderError(wrappedError);\n }\n }\n}\n","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\n\nmodule.exports = _toArray;","import { ComputeFn } from '../../../types';\n\nfunction resolvePath(object, pathParts) {\n return pathParts.reduce((currentObj, path) => {\n if (!currentObj) {\n return currentObj;\n }\n\n return currentObj[path];\n }, object);\n}\n\ntype PathArg = string | [string, string];\n\nfunction getPathArgs(path: PathArg): [string, string[]] {\n if (Array.isArray(path)) {\n const [basePath, restPath] = path;\n return [basePath, restPath.split('.')];\n } else {\n const [basePath, ...restPath] = path.split('.');\n return [basePath, restPath];\n }\n}\n\nexport function computedPath<T>(path: PathArg, callback?: (a: T) => T): ComputeFn<T> {\n const [dependentProperty, pathParts] = getPathArgs(path);\n\n return ({ getProperty }) => {\n const data = getProperty(dependentProperty);\n const resolvedValue = resolvePath(data, pathParts);\n\n if (callback) {\n return callback(resolvedValue);\n }\n\n return resolvedValue;\n };\n}\n","import { AnyFunction } from '../../types';\n\ndeclare global {\n interface Window {\n console: Console;\n }\n}\n\ninterface MICapture {\n captureAppLog?: AnyFunction;\n}\n\ndeclare const MICapture: MICapture;\n\ninterface Message {\n consoleMethod: string;\n\n // Optional: The file that generated the log\n file?: string;\n\n // Optional: The line number from the log\n lineNumber?: number | undefined;\n}\n\ninterface ConsoleMessage extends Message {\n consoleMethod: string;\n values: unknown[];\n}\n\nenum LogTypes {\n error = 'error',\n warn = 'warn',\n info = 'info',\n log = 'info',\n debug = 'debug',\n assert = 'error',\n group = 'info',\n groupCollapsed = 'info',\n groupEnd = 'info',\n time = 'info',\n timeEnd = 'info',\n timeLog = 'info',\n count = 'info',\n countReset = 'info',\n dir = 'info',\n dirxml = 'info',\n profile = 'info',\n profileEnd = 'info',\n table = 'info',\n timeStamp = 'info',\n trace = 'info'\n}\n\nenum LogLevels {\n error = 1,\n warn,\n info,\n debug\n}\n\nexport enum ConsoleMethods {\n error = 'error',\n warn = 'warn',\n info = 'info',\n log = 'log',\n debug = 'debug',\n assert = 'assert',\n group = 'group',\n groupCollapsed = 'group',\n groupEnd = 'group',\n time = 'time',\n timeEnd = 'timeEnd',\n timeLog = 'timeLog',\n count = 'count',\n countReset = 'countReset',\n dir = 'dir',\n dirxml = 'dirxml',\n profile = 'profile',\n profileEnd = 'profileEnd',\n table = 'table',\n timeStamp = 'timeStamp',\n trace = 'trace'\n}\n\nexport default class Console {\n private selectedLogLevel = 'debug';\n static originalConsole = console;\n console = Console.originalConsole;\n\n static install() {\n // eslint-disable-next-line\n (<any>window).console = new Console();\n }\n\n static uninstall() {\n // eslint-disable-next-line\n (<any>window).console = this.originalConsole;\n }\n\n get logLevel() {\n return this.selectedLogLevel;\n }\n\n set logLevel(selectedLogLevel: string) {\n if (LogLevels[selectedLogLevel]) {\n this.selectedLogLevel = selectedLogLevel;\n } else {\n this.console.warn(\n `${selectedLogLevel} is not a valid log level. You can set the log level to one of the following levels: error, warn, info, debug`\n );\n }\n }\n\n validateType(consoleMethod: string) {\n const messageLogType = LogTypes[consoleMethod];\n return LogLevels[this.selectedLogLevel] >= LogLevels[messageLogType];\n }\n\n _log(message: ConsoleMessage) {\n const { consoleMethod, values } = message;\n\n if (this.validateType(consoleMethod)) {\n if (MICapture && MICapture.captureAppLog) {\n MICapture.captureAppLog({ consoleMethod, values });\n }\n }\n }\n\n //unless we enumerate these values, some error properties will be hidden\n private enumerateValues(args) {\n for (const arg of args) {\n if (arg instanceof Error) {\n Object.defineProperties(arg, {\n message: { enumerable: true },\n name: { enumerable: true },\n columnNumber: { enumerable: true },\n fileName: { enumerable: true },\n lineNumber: { enumerable: true },\n stack: { enumerable: true }\n });\n }\n }\n }\n\n setBehavior(methodName, ...args) {\n this.enumerateValues(args);\n this._log({ consoleMethod: methodName, values: args });\n this.console[methodName](...args);\n }\n\n log(...args) {\n this.setBehavior(ConsoleMethods.log, ...args);\n }\n\n error(...args) {\n const err = new Error();\n this.enumerateValues(args);\n MICapture.captureAppLog({\n consoleMethod: 'error',\n stack: err.stack,\n values: args\n });\n this.console.error(...args);\n }\n\n warn(...args) {\n this.setBehavior(ConsoleMethods.warn, ...args);\n }\n\n info(...args) {\n this.setBehavior(ConsoleMethods.info, ...args);\n }\n\n debug(...args) {\n this.setBehavior(ConsoleMethods.debug, ...args);\n }\n\n assert(...args) {\n this.setBehavior(ConsoleMethods.assert, ...args);\n }\n\n group(...args) {\n this.setBehavior(ConsoleMethods.group, ...args);\n }\n\n groupCollapsed(...args) {\n this.setBehavior(ConsoleMethods.groupCollapsed, ...args);\n }\n\n groupEnd(...args) {\n this.setBehavior(ConsoleMethods.groupEnd, ...args);\n }\n\n time(...args) {\n this.setBehavior(ConsoleMethods.time, ...args);\n }\n\n timeEnd(...args) {\n this.setBehavior(ConsoleMethods.timeEnd, ...args);\n }\n\n timeLog(...args) {\n this.setBehavior(ConsoleMethods.timeLog, ...args);\n }\n\n count(...args) {\n this.setBehavior(ConsoleMethods.count, ...args);\n }\n\n countReset(...args) {\n this.setBehavior(ConsoleMethods.countReset, ...args);\n }\n\n dir(...args) {\n this.setBehavior(ConsoleMethods.dir, ...args);\n }\n\n dirxml(...args) {\n this.setBehavior(ConsoleMethods.dirxml, ...args);\n }\n\n profile(...args) {\n this.setBehavior(ConsoleMethods.profile, ...args);\n }\n\n profileEnd(...args) {\n this.setBehavior(ConsoleMethods.profileEnd, ...args);\n }\n\n table(...args) {\n this.setBehavior(ConsoleMethods.table, ...args);\n }\n\n timeStamp(...args) {\n this.setBehavior(ConsoleMethods.timeStamp, ...args);\n }\n\n trace(...args) {\n this.setBehavior(ConsoleMethods.trace, ...args);\n }\n}\n","import './utils/polyfills';\nimport StudioFramework from './framework';\nimport App from './components/App';\nimport StudioTool from './studio-elements/StudioTool';\nimport makeDynamicProperty from './models/dynamic-property';\nimport { computedPath } from './utils/async-computed/macros';\nimport Console from './utils/console';\nimport { StudioError } from './utils/errors';\nimport { AnyFunction } from '../types';\n\ndeclare global {\n interface Window {\n MICapture: MICapture;\n }\n}\ninterface MICapture {\n captureAppLog?: AnyFunction;\n}\n\nif (window.MICapture && window.MICapture.captureAppLog) {\n Console.install();\n}\n\nexport { StudioTool, makeDynamicProperty, computedPath, StudioError, App };\n\nexport default StudioFramework;\n"],"names":["defined","cof","IObject","toInteger","min","toIObject","toLength","toAbsoluteIndex","global","core","require$$0","uid","require$$1","has","$keys","enumBugKeys","aFunction","isObject","document","require$$2","anObject","toPrimitive","IE8_DOM_DEFINE","dP","createDesc","ctx","hide","$export","fails","toObject","getKeys","DESCRIPTORS","Object","entries","obj","keys","_Object$keys","map","key","$Object","Reflect","gOPN","gOPS","pIE","$defineProperty","gOPD","ownKeys","createProperty","defineProperty","wksExt","IE_PROTO","PROTOTYPE","dPs","toString","$GOPD","$DP","gOPNExt","wks","isEnum","shared","$GOPS","$fails","_create","enumKeys","$getOwnPropertyDescriptor","redefine","require$$3","wksDefine","isArray","require$$4","setToStringTag","create","descriptor","ObjectProto","$iterCreate","getPrototypeOf","Iterators","step","TAG","ITERATOR","classof","get","getIterFn","isArrayIter","call","invoke","bind","_Object$setPrototypeOf","_Reflect$construct","setPrototypeOf","_Array$isArray","_Symbol","_isIterable","_Array$from","cel","html","process","Promise","newPromiseCapability","SPECIES","TypeError","isNode","newPromiseCapabilityModule","USE_NATIVE","userAgent","perform","anInstance","speciesConstructor","require$$5","require$$6","LIBRARY","promiseResolve","require$$7","forOf","_Symbol$iterator","_getIterator","undefined","_Promise","$JSON","_Object$defineProperty","redefineAll","validate","$iterDefine","setSpecies","asc","meta","strong","from","_Object$create","_typeof","$getPrototypeOf","_Object$getPrototypeOf","STYLE_WHITELIST","PROPERTY_TRANSFORMS","transform","value","TRANSFORMS_MAP","transformStyle","styleFromAttributes","tag","filter","reduce","result","normalizeRichTextStyles","attributes","fontFamily","test","classNameFromAttributes","type","toolName","userClassName","classNames","push","join","resolveElementModifiers","appliedModifiers","registryResolver","appliedModifier","modifierFunction","resolveElementModifierFunction","Error","name","runModifiers","element","fns","fn","StyledElement","domNode","styleElementRef","props","elementModifierFunctions","appliedElementModifiers","setStyleElementRef","updateStyleElement","children","style","className","React","Component","tryInvoke","prop","args","isPromise","maybePromise","then","errorForMissingProp","path","propertyPath","getComponentForTag","StudioTool","resolveComponent","properties","tryIvoke","getUnresolvedPropsCatch","propertyResolver","dynamicProp","propertyGroupKey","context","propertyValue","getProperty","e","promise","assertDynamicPropertyResolved","requestedProp","hasPropertyState","_Map","construct","ID","BaseStudioError","dynamicProperty","sourceDynamicProperty","entryDynamicProperty","canvas","stack","sourceType","data","status","sourceError","errorType","uuid","forcePreserveUuid","_Date$now","message","setUuid","clonedError","setErrorType","setTag","setSourceDynamicProperty","setEntryDynamicProperty","setCanvas","setStack","setSourceType","setData","setStatus","StudioErrorWrapper","error","wrappedMessage","newError","clone","StudioError","getStateTuple","resolver","getPropertyStateTuple","TagComponent","getPropertyState","fallback","passedFallback","arguments","length","propertyFallback","warning","consoleMessage","console","warn","onPendingPromise","promiseProps","readyToRender","getPropertyWithFallback","state","Tags","tags","index","subtags","SizeContainer","containerElementRef","setContainerElementRef","updateContainer","dimensions","width","height","position","Resolver","registryItem","componentContainer","set","reference","createPathKey","elementModifierContainer","propertyModifierContainer","freeze","contextAccessor","cb","wrappedContext","enumerable","createArrayMethod","id","$has","weak","assign","ERROR_KEY","TEMP_STORAGE","isError","t","CacheMap","cache","cacheKeyFor","reverseContext","acceptingKeys","contextKeys","add","tempContext","keyCache","parts","reverseObject","defer","resolve","reject","innerResolve","innerReject","ComputeThrottler","afterFirst","compute","isPending","tryNextInQueue","hasSuccessfullyComputed","flushQueue","queue","next","shift","performFirstCompute","parseGetPropertyArgs","arg1","arg2","arg3","parseGetPropertyProxyArgs","callback","pop","_","parseSetPropertyArgs","DebugType","InertDebugEvent","ActiveDebugEvent","event","childEvents","err","createEvent","createInertEvent","deprecateGetContext","PromiseException","DEFAULT_OVERRIDE","Property","computeFn","computed","grouping","propertyKey","overrideFn","finalizeCache","memoizeCache","property","dependentProperties","dependsOn","base","wasUsed","addContextKey","freezeContext","requestEvent","extraContext","getPropertyInstance","fullContext","childEvent","makeChildEvent","propertyRequest","wrappedError","passedContext","getPropertyProxy","getContext","firstCompute","queueCallback","cachedCompute","overwrittenResult","overrideEvent","override","setValue","yieldPromiseException","setError","overrideResult","handleComputeError","exception","trySyncCompute","computeArgs","generateComputeArgs","resolvePromiseResult","cacheRead","generateGroupingKey","getPartsFromGroupingKey","groupingKey","includes","split","GroupedRegistry","allowFallback","groupingMap","globalMap","fallbackMap","isComputeFn","AsyncComputed","debugEnabled","regex","RegExp","replace","globProperties","newProp","generatePropertyFromPath","propertyRegistry","object","prefix","forEach","fullPath","setProperty","values","dumpProperty","generateFromGlob","resetDependencies","resetProperty","propertyOverridesBuffer","hasCacheFor","getCacheFor","propertyDebugEventsTree","val","globGrouping","groupingMatches","currentGrouping","previousProperty","copy","findAllDependencies","initialProperty","toInvalidate","currentProperty","notAlreadySeen","isDependent","unshift","propsToInspect","propsInspected","propsCompleted","detectCycle","dependencies","ShapeTag","_Object$assign","trimTextOverflow","parentElement","parentBox","getBoundingClientRect","overflowsParent","truncatableElement","findOverlappingElement","truncateText","addEllipsis","text","currentText","innerText","endPos","nextElementSibling","remove","lastIndexOf","substr","previousElement","findPreviousElement","previousSibling","parentPreviousSibling","previousElementSibling","lastElementChild","child","selfBox","isOutside","left","right","bottom","scrollHeight","scrollWidth","spaces","$parseFloat","Math","convertToEms","insertProperties","baseFontSize","insertFontSize","fontSize","ratioToBase","_parseFloat","shrinkToFit","richTextStructure","minFontSize","smallestFontRatio","smallest","op","getFontRatio","spans","span","didFit","resizeToFit","currentFontSize","selfElement","minimumFontSize","smallestRatio","cannotReduceAnymore","nextFontSize","range","createRange","selectNode","detach","stripUnits","str","unit","isDynamicProperty","makeDynamicProperty","BAD_WORDS_PROPERTY","makeDynamicProp","DEFAULT_P_STYLES","margin","padding","makeRenderStructure","ops","fitToOneLine","paragraphs","opsAttrs","spanBuffer","forceFlush","flushParagraph","pAttrs","styles","insert","match","getTokenValue","getProp","String","badWordRegex","replaceDynamicTokens","getDynamicTokens","resOps","getMinFontSize","defaultSize","curMin","RichTextSpan","whiteSpace","isNewLine","haveSpans","mapSpans","n","RichTextElement","didOverflow","createRef","processOverflow","elementRef","current","autoresize","lastRichText","minFontsize","rtElement","setState","i","fallbackRichText","richText","replacedStructure","emStructure","ImageTag","imageUrl","toolProperties","altText","isDataURL","CD","waitForAsset","top","CROPPING_OPTIONS","stretched","backgroundSize","contained","cropped","BASE_STYLES","backgroundRepeat","backgroundPosition","HIDDEN_IMAGE_STYLE","opacity","stylesForImage","cropStyle","cropStyles","background","DynamicImageTag","isCropped","dynamicAltText","src","styleType","d","registerComponent","Shape","Image","DynamicImage","App","promises","pendingProperties","asyncComputed","bootstrapApp","size","all","forceUpdate","componentDidCatch","updateWhenSettled","updateWhenSettledNext","clickthroughURL","container","dimensionsDefault","parseCanvases","parsed","canvases","customProps","customTools","modifiedProps","parseBasic","label","conditionalDynamicProperty","parseAttributes","JSON","parse","hasCanvases","setupAppDefaults","MI","window","options","namespacedOptions","queryParams","params","querySelector","animation","app","interval","frames","floor","max","isAnimated","totalFrames","currentFrame","htm","createElement","makeCustomTool","toolData","code","propertyInputs","propertyNames","input","variableName","Tool","Function","isDocument","node","nodeType","Node","DOCUMENT_NODE","getDocumentNode","parentNode","BASE_STYLE","cleanHTML","doc","body","analytics","analyticsLength","getAttribute","imageRedirect","newBody","cssText","appendChild","setAttribute","log","display","replaceChild","scripts","querySelectorAll","pingUrlCode","linkTag","url","location","__","postfix","addBrowserContent","baseElement","rootNode","script","StudioFramework","opts","Registry","getAllProperties","dumpState","getPropertyEvents","propertyDebugEvents","logProperties","_JSON$stringify","enableDebugMode","logPropertyTree","events","setProperties","setupAnimation","setup","setupOptions","setupNamespacedOptions","setupCustomTools","setupCustomProps","setupModifiedProps","appComponent","model","getPropertyTuple","resolveConditionalDynamicProperty","triggerRerender","namespace","overrideProperty","groupInitializationFunction","tool","registerElementModifierFunction","registerPropertyModifierFunction","filteredTags","displayName","setupTags","currentCanvas","clickthrough_dynamic_property","clickthroughDynamicProperty","clickthrough","analyticsData","setExtraData","targetElement","ReactDOM","render","animationFunction","registerTool","_Object$entries","option","fields","initializationFunction","field","fieldName","setGrouping","customProp","context_options","contextInputs","customPropInputs","contextOptionsNames","errorMessage","dp","contextValues","modifiedProp","appliedPropertyModifier","modifierFn","resolvePropertyModifierFunction","modifierArgs","previousValue","throwError","pause","getCurrentCanvas","handleClickthrough","canvasTags","getCurrentTags","renderPromise","renderApp","analyticsDataPromise","handleAnalyticsData","resume","handleRenderError","resolvePath","pathParts","currentObj","getPathArgs","basePath","restPath","computedPath","dependentProperty","resolvedValue","LogTypes","LogLevels","ConsoleMethods","Console","originalConsole","consoleMethod","messageLogType","selectedLogLevel","validateType","MICapture","captureAppLog","arg","columnNumber","fileName","lineNumber","methodName","enumerateValues","_log","setBehavior","info","debug","assert","group","groupCollapsed","groupEnd","time","timeEnd","timeLog","count","countReset","dir","dirxml","profile","profileEnd","table","timeStamp","trace","install"],"mappings":"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C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;ACKrrC,IAAM/S,IAAI,GAAGshB,GAAG,CAAC/hB,IAAJ,CAAS2F,KAAK,CAACqc,aAAf,CAAb;AAEe,SAASC,cAAT,CAAwBC,QAAxB,EAAkC;AAC/C;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,+BAKW;AAAA,0BACkC,KAAK/c,KADvC;AAAA,YACCwF,uBADD,eACCA,uBADD;AAAA,YAC0BtH,GAD1B,eAC0BA,GAD1B;AAAA,YAEC8e,IAFD,GAE+BD,QAF/B,CAECC,IAFD;AAAA,oCAE+BD,QAF/B,CAEOE,cAFP;AAAA,YAEOA,cAFP,sCAEwB,EAFxB;AAGP,YAAMC,aAAa,GAAGD,cAAc,CAACrlB,GAAf,CAAmB,UAACulB,KAAD;AAAA,iBAAWA,KAAK,CAACC,YAAjB;AAAA,SAAnB,CAAtB;;AACA,YAAMC,IAAI,eAAOC,QAAP,oBAAmBJ,aAAnB,UAAkC,MAAlC,EAA0C,IAA1C,EAAgD,KAAhD,EAAuDF,IAAvD,GAAV;;AACA,YAAMjO,MAAM,GAAGkO,cAAc,CAACrlB,GAAf,CAAmB,UAAC+I,IAAD;AAAA,iBAAU6E,uBAAuB,CAAC7E,IAAD,CAAjC;AAAA,SAAnB,CAAf;AACA,eAAO0c,IAAI,MAAJ,2BAAQtO,MAAR,UAAgBzT,IAAhB,EAAsB+c,EAAtB,EAA0Bna,GAA1B,GAAP;AACD;AAZH;AAAA;AAAA,0CAC6B;AACzB,eAAO6e,QAAQ,CAACE,cAAT,IAA2B,EAAlC;AACD;AAHH;;AAAA;AAAA,IAAgC7b,UAAhC;AAcD;;ACtBD,SAASmc,UAAT,CAAoBC,IAApB,EAAkD;AAChD,SAAOA,IAAI,CAACC,QAAL,KAAkBC,IAAI,CAACC,aAA9B;AACD;;AAEc,SAASC,eAAT,CAAyBJ,IAAzB,EAA+C;AAC5D,MAAIA,IAAI,CAACK,UAAL,KAAoB,IAAxB,EAA8B;AAC5B,WAAOD,eAAe,CAACJ,IAAI,CAACK,UAAN,CAAtB;AACD;;AAED,MAAIN,UAAU,CAACC,IAAD,CAAd,EAAsB;AACpB,WAAOA,IAAP;AACD;;AAED,QAAM,IAAIje,KAAJ,CAAU,0BAAV,CAAN;AACD;;ACZD,IAAMue,UAAU,GAAG,cAAnB;AAEe,SAASC,SAAT,CAAmBre,OAAnB,EAAwC;AACrD,MAAMse,GAAG,GAAGJ,eAAe,CAACle,OAAD,CAA3B;AAEA,MAAMue,IAAI,GAAGD,GAAG,CAACC,IAAjB;AACA,MAAM3iB,IAAI,GAAG0iB,GAAG,CAAC3d,QAAJ,CAAa,CAAb,CAAb;AAEA,MAAM6d,SAAsB,GAAGF,GAAG,CAAC9B,aAAJ,CAAkB,UAAlB,CAA/B;AACA,MAAMiC,eAAe,GAAGD,SAAS,GAAG,CAACA,SAAS,CAACE,YAAV,CAAuB,cAAvB,KAA0C,EAA3C,EAA+CrZ,MAAlD,GAA2D,CAA5F;AACA,MAAMsZ,aAA0B,GAAGL,GAAG,CAAC9B,aAAJ,CAAkB,oBAAlB,CAAnC;AAEA,MAAMoC,OAAO,GAAGN,GAAG,CAACnB,aAAJ,CAAkB,MAAlB,CAAhB;AAEAyB,EAAAA,OAAO,CAAChe,KAAR,CAAcie,OAAd,GAAwBT,UAAxB;AACAQ,EAAAA,OAAO,CAACE,WAAR,CAAoB9e,OAApB;;AAEA,MAAIye,eAAe,GAAG,GAAtB,EAA2B;AACzBD,IAAAA,SAAS,CAACO,YAAV,CAAuB,cAAvB,EAAuC,IAAvC;AACAtZ,IAAAA,OAAO,CAACuZ,GAAR,CACE,0GADF;AAGD;;AAED,MAAIR,SAAJ,EAAe;AACbA,IAAAA,SAAS,CAAC5d,KAAV,CAAgBqe,OAAhB,GAA0B,MAA1B;AACAL,IAAAA,OAAO,CAACE,WAAR,CAAoBN,SAApB;AACD;;AAED,MAAIG,aAAJ,EAAmB;AACjBA,IAAAA,aAAa,CAAC/d,KAAd,CAAoBqe,OAApB,GAA8B,MAA9B;AACAL,IAAAA,OAAO,CAACE,WAAR,CAAoBH,aAApB;AACD;;AAED/iB,EAAAA,IAAI,CAACsjB,YAAL,CAAkBN,OAAlB,EAA2BL,IAA3B;AAEA,MAAMY,OAAO,GAAGb,GAAG,CAACc,gBAAJ,CAAqB,QAArB,CAAhB;;AAEA,OAAK,IAAIlZ,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAGiZ,OAAO,CAAC9Z,MAApC,EAA4Ca,KAAK,EAAjD,EAAqD;AACnDiZ,IAAAA,OAAO,CAACjZ,KAAD,CAAP,CAAe8L,MAAf;AACD;AACF;;ACzCM,SAASqN,WAAT,GAAqC;AAAA,MAAhBf,GAAgB,uEAAVvnB,QAAU;AAC1C,MAAMuoB,OAAO,GAAGvoB,QAAQ,CAACylB,aAAT,CAAuB,kBAAvB,CAAhB;AACA,MAAM+C,GAAG,GAAGjB,GAAG,CAACkB,QAAJ,CACTtmB,QADS,GAETyV,OAFS,CAED,kBAFC,EAEmB,UAACvE,CAAD,EAAIqV,EAAJ,EAAQC,OAAR;AAAA,uBAAyBA,OAAzB;AAAA,GAFnB,CAAZ;;AAIA,MAAIJ,OAAJ,EAAa;AACXA,IAAAA,OAAO,CAACP,YAAR,CAAqB,MAArB,EAA6BQ,GAA7B;AACD;AACF;AAEc,SAASI,iBAAT,CAA2BC,WAA3B,EAAqD;AAClE,MAAMC,QAAQ,GAAG3B,eAAe,CAAC0B,WAAD,CAAhC;AACA,MAAME,MAAM,GAAGD,QAAQ,CAAC1C,aAAT,CAAuB,QAAvB,CAAf;AAEA2C,EAAAA,MAAM,CAACf,YAAP,CAAoB,MAApB,EAA4B,mBAA5B;AACAe,EAAAA,MAAM,CAACnO,IAAP,cAAkB0N,WAAW,CAACnmB,QAAZ,EAAlB;AAEA2mB,EAAAA,QAAQ,CAACtB,IAAT,CAAcO,WAAd,CAA0BgB,MAA1B;AACD;;;;;;;;;;;;ICCoBC;AA+BnB,6BAAgD;AAAA;;AAAA,QAApCC,IAAoC,uEAApB/D,gBAAgB,EAAI;;AAAA;;AAAA,8CA9BZ,KA8BY;;AAAA,4CA7BxB,IAAI1N,aAAJ,EA6BwB;;AAAA,uCA5B7B,IAAI0R,QAAJ,EA4B6B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,oCApBjC;AACbtH,MAAAA,EAAE,EAAFA,EADa;AAEbuH,MAAAA,gBAAgB,EAAE;AAAA,eAAM,KAAI,CAACzF,aAAL,CAAmB0F,SAAnB,EAAN;AAAA,OAFL;AAGbC,MAAAA,iBAAiB,EAAE;AAAA,eAAM,KAAI,CAAC3F,aAAL,CAAmB4F,mBAAzB;AAAA,OAHN;AAIbC,MAAAA,aAAa,EAAE,yBAAM;AACnB,YAAMva,KAAK,GAAG,KAAI,CAAC0U,aAAL,CAAmB0F,SAAnB,EAAd;;AACA1a,QAAAA,OAAO,CAACC,IAAR,CACE,qFADF;AAGAD,QAAAA,OAAO,CAACuZ,GAAR,CAAYuB,YAAexa,KAAf,EAAsB,IAAtB,EAA4B,CAA5B,CAAZ;AACD,OAVY;AAWbya,MAAAA,eAAe,EAAE,2BAAM;AACrB,QAAA,KAAI,CAAC/F,aAAL,CAAmB+F,eAAnB;AACD,OAbY;AAcbC,MAAAA,eAAe,EAAE,2BAAM;AACrB,YAAMC,MAAM,GAAG,KAAI,CAACjG,aAAL,CAAmB4F,mBAAlC;AACA5a,QAAAA,OAAO,CAACuZ,GAAR,CAAYuB,YAAeG,MAAf,EAAuB,IAAvB,EAA6B,CAA7B,CAAZ;AACD;AAjBY,KAoBiC;;AAAA,yBAY1CV,IAZ0C,CAE5C1E,QAF4C;AAAA,QAE5CA,QAF4C,+BAEjC,EAFiC;AAAA,4BAY1C0E,IAZ0C,CAG5CzE,WAH4C;AAAA,QAG5CA,WAH4C,kCAG9B,EAH8B;AAAA,4BAY1CyE,IAZ0C,CAI5CxE,WAJ4C;AAAA,QAI5CA,WAJ4C,kCAI9B,EAJ8B;AAAA,8BAY1CwE,IAZ0C,CAK5CvE,aAL4C;AAAA,QAK5CA,aAL4C,oCAK5B,EAL4B;AAAA,wBAY1CuE,IAZ0C,CAM5C5D,OAN4C;AAAA,QAM5CA,OAN4C,8BAMlC;AACR1V,MAAAA,MAAM,EAAE,GADA;AAERD,MAAAA,KAAK,EAAE;AAFC,KANkC;AAAA,gCAY1CuZ,IAZ0C,CAU5C3D,iBAV4C;AAAA,QAU5CA,iBAV4C,sCAUxB,EAVwB;AAAA,4BAY1C2D,IAZ0C,CAW5C1D,WAX4C;AAAA,QAW5CA,WAX4C,kCAW9B,EAX8B;AAc9C,SAAKF,OAAL,GAAeA,OAAf;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKd,WAAL,GAAmBA,WAAnB;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKH,QAAL,GAAgBA,QAAhB;AAEA,SAAKqF,aAAL,CAAmBrE,WAAnB;AACA,SAAKqE,aAAL,CAAmBrE,WAAnB,EAAgC,QAAhC;AAEA,SAAKlN,WAAL,CAAiB,SAAjB,EAA4B,YAAM;AAChC3J,MAAAA,OAAO,CAACC,IAAR,CAAa,6BAAb;AACA,aAAO0W,OAAP;AACD,KAHD;AAKA,SAAKhN,WAAL,CAAiB,QAAjB,EAA2B,YAAM;AAC/B3J,MAAAA,OAAO,CAACC,IAAR,CAAa,4BAAb;AACA,aAAO4W,WAAP;AACD,KAHD;AAKAsE,IAAAA,SAAc,CAAC,IAAD,CAAd;AAEA,SAAKC,KAAL;AAEA,SAAKC,YAAL;AAEA,SAAKC,sBAAL;AAEA,SAAKC,gBAAL;AAEA,SAAKC,gBAAL;AAEA,SAAKC,kBAAL;AACD;;;;sCAEyB;AACxB,UAAI,KAAKC,YAAT,EAAuB;AACrB,aAAKA,YAAL,CAAkBtG,WAAlB;AACD;AACF;;;;gHAGCuG;;;;;;;AAEQxF,gBAAAA,6BAA+BwF,MAA/BxF;;oBAEHA;;;;;iDAAmC,CAAC,IAAD,EAAO,IAAP;;;wCAE2BA,2BAA3D3Z,kBAAAA,sDAAmB,qDAAwC2Z,2BAApCpa,cAAAA,mDAAe,sDAAqBoa,2BAAjB1Z,SAAAA,8CAAU;iDACrD,KAAKmf,gBAAL,CAAsBpf,gBAAtB,EAAwCT,YAAxC,EAAsDU,OAAtD;;;;;;;;;;;;;;;;;;;;;;;;;;oBAIF,KAAKoZ,QAAL,CAAcjW;;;;;kDAAe;;;AAE1BiW,gBAAAA,WAAa,KAAbA;yDACaA;;;;;;;;;;;AAAVrY,gBAAAA;;uBACqB,KAAKqe,iCAAL,CAAuCre,MAAvC;;;;;AAAvBtE,gBAAAA;AAAQ6F,gBAAAA;;qBAEX7F;;;;;kDAAesE;;;AACnB,oBAAIuB,KAAJ,EAAW;AACH+H,kBAAAA,YADG,GACYhI,kBAAkB,CACrCC,KADqC,oBAE1BvB,MAAM,CAAC0Y,KAFmB,0DAAlB,CAIlBzX,SAJkB,CAIRjB,MAJQ,EAKlBmB,aALkB,CAKJ,kBALI,CADZ;AAQTqB,kBAAAA,OAAO,CAACC,IAAR,CAAa6G,YAAb;AACD;;;;;;;;;;;;;;;;;;;;;;;;kDAEI+O,QAAQ,CAACA,QAAQ,CAACjW,MAAT,GAAkB,CAAnB;;;;;;;;;;;;;;;;;;gCAGLlN,KAAaiG,OAAY;AACnC,WAAKqc,aAAL,CAAmBrL,WAAnB,CAA+B,KAAKa,eAApC,EAAqD9X,GAArD,EAA0DiG,KAA1D;AACA,WAAKmjB,eAAL;AACD;;;kCAEaxpB,KAA6BypB,WAAoB;AAAA;;AAC7D,gBAAezpB,GAAf,EAAoBmX,OAApB,CAA4B,gBAAmB;AAAA;AAAA,YAAjB3N,IAAiB;AAAA,YAAXnD,KAAW;;AAC7C,YAAM+Q,QAAQ,GAAGqS,SAAS,aAAMA,SAAN,cAAmBjgB,IAAnB,IAA4BA,IAAtD;;AACA,QAAA,MAAI,CAAC6N,WAAL,CAAiBD,QAAjB,EAA2B/Q,KAA3B;AACD,OAHD;AAID;;;qCAEgBjG,KAAamT,YAAgC;AAC5D,WAAKmP,aAAL,CAAmBgH,gBAAnB,CAAoCtpB,GAApC,EAAyCmT,UAAzC;AACA,WAAKiW,eAAL;AACD;;;kCAEmD;AAAA;;AAClD,aAAO,4BAAK9G,aAAL,EAAmBrY,WAAnB,sCAAP;AACD;;;uCAEsD;AAAA;;AACrD,aAAO,6BAAKqY,aAAL,EAAmB4G,gBAAnB,uCAAP;AACD;;;gCAEWjW,UAAkBsW,6BAAyC;AACrE,WAAKzR,eAAL,GAAuB7E,QAAvB;AACAsW,MAAAA,2BAA2B;AAC3B,WAAKzR,eAAL,GAAuB,KAAvB;AACD;;;iCAEYnQ,MAAc6hB,MAAM;AAC/B,WAAK7c,QAAL,CAAcoV,iBAAd,CAAgCpa,IAAhC,EAAsC6hB,IAAtC;AACA,WAAKJ,eAAL;AACD;;;4CAEuBzhB,MAAcI,IAAiB;AACrD,UAAM+B,gBAAgB,GAAG,KAAKgO,eAA9B;AACA,WAAKnL,QAAL,CAAc8c,+BAAd,CAA8C;AAAE9hB,QAAAA,IAAI,EAAJA,IAAF;AAAQmC,QAAAA,gBAAgB,EAAhBA;AAAR,OAA9C,EAA0E/B,EAA1E;AACA,WAAKqhB,eAAL;AACD;;;6CAEwBzhB,MAAcI,IAAiB;AACtD,UAAM+B,gBAAgB,GAAG,KAAKgO,eAA9B;AACA,WAAKnL,QAAL,CAAc+c,gCAAd,CAA+C;AAAE/hB,QAAAA,IAAI,EAAJA,IAAF;AAAQmC,QAAAA,gBAAgB,EAAhBA;AAAR,OAA/C,EAA2E/B,EAA3E;AACA,WAAKqhB,eAAL;AACD;;;;4BAGa;;;;;8FAGetb,MAAahD;;;;;;;AAClC6e,gBAAAA,eAAe;0DACH7b;;;;;;;;;;;AAAPzH,gBAAAA;;uBACqB,KAAK8iB,iCAAL,CAAuC9iB,GAAvC;;;;;AAAvBG,gBAAAA;AAAQ6F,gBAAAA;;AACf,oBAAI7F,MAAJ,EAAY;AACVmjB,kBAAAA,YAAY,CAACziB,IAAb,CAAkBb,GAAlB;AACD;;AACD,oBAAIgG,KAAJ,EAAW;AACH+H,kBAAAA,YADG,GACYhI,kBAAkB,CACrCC,KADqC,oBAGnChG,GAAG,CAACmd,KAAJ,IAAand,GAAG,CAACujB,WAHkB,0DAAlB,CAMlB3d,aANkB,CAMJ,eANI,EAOlBJ,wBAPkB,CAOOxF,GAAG,CAACod,0BAPX,EAQlB3X,uBARkB,CAQMzF,GAAG,CAACod,0BARV,EASlB7X,MATkB,CASXvF,GATW,EAUlB0F,SAVkB,CAURjB,MAVQ,CADZ;AAaTwC,kBAAAA,OAAO,CAACC,IAAR,CAAa6G,YAAb;AACD;;;;;;;;;;;;;;;;;;;;;;;;kDAGI,KAAKyV,SAAL,CAAeF,YAAf;;;;;;;;;;;;;;;;;;8BAGC7b,MAAoB;AAC5B,aAAOA,IAAP;AACD;;;;;4FAGkBgc;;;;;;;AACXC,gBAAAA,gCAAkC,KAAK9F,QAAvC8F;;AAEN,oBAAID,aAAJ,aAAIA,aAAJ,uBAAIA,aAAa,CAAEE,2BAAnB,EAAgD;AAC9CD,kBAAAA,6BAA6B,GAAGD,aAAa,CAACE,2BAA9C;AACD;;qBAEGD;;;;;wCAC+CA,+BAAzChgB,gCAAAA,SAASV,qCAAAA,cAAcW,sCAAAA;;qBAE3BA;;;;;kDAAsBA;;;;uBACI,KAAKkf,gBAAL,CAA8B7f,YAA9B,EAA4CU,OAA5C;;;;;AAAvBvD,gBAAAA;AAAQ6F,gBAAAA;;qBAEXA;;;;;sBACID,kBAAkB,CAACC,KAAD,CAAlB,CACHJ,aADG,CACW,sBADX,EAEHF,SAFG,CAEO+d,aAFP;;;kDAKDtjB;;;kDAGF;;;;;;;;;;;;;;;;;;oCAGkE;AACzE,aAAO,IAAP;AACD;;;;kGAEwBsjB;;;;;;;uBACI,KAAKG,YAAL,CAAkBH,aAAlB;;;AAArBG,gBAAAA;;qBAEFA;;;;;kDACKA;;;;;;;;;;;;;;;;;;;;;;;;;;uBAKmB,KAAKC,aAAL;;;AAAtBA,gBAAAA;;oBAEDA;;;;;;;;sBAIDvkB,UAAOukB,aAAP,MAAyB;;;;;sBACrB,IAAIxiB,KAAJ,CAAU,iDAAV;;;AAGR8Y,gBAAAA,EAAE,CAAC2J,YAAH,CAAgBD,aAAhB;;;;;;;;;;;;;;;;;;8BAGQE,eAAetH,iBAAiBhV,MAAMO,YAAYvD,QAAuB;AAAA;;AACjF,aAAO,cAAY,UAAC6F,OAAD,EAAUC,MAAV,EAAqB;AACtCyZ,QAAAA,QAAQ,CAACC,MAAT,eACE,oBAAC,GAAD;AACE,UAAA,aAAa,EAAE,MAAI,CAAChI,aADtB;AAEE,UAAA,eAAe,EAAEQ,eAFnB;AAGE,UAAA,QAAQ,EAAE,MAAI,CAACnW,QAHjB;AAIE,UAAA,UAAU,EAAE0B,UAJd;AAKE,UAAA,IAAI,EAAEP,IALR;AAME,UAAA,MAAM,EAAEhD,MANV;AAOE,UAAA,UAAU,EAAE6F,OAPd;AAQE,UAAA,OAAO,EAAEC,MARX;AASE,UAAA,GAAG,EAAE,aAACuR,GAAD,EAAS;AACZ,YAAA,MAAI,CAAC6G,YAAL,GAAoB7G,GAApB;AACD;AAXH,UADF,EAcEiI,aAdF;AAgBD,OAjBM,CAAP;AAkBD;;;qCAEsB;AAAA;;AACrB,UAAMG,iBAAyB,GAAG,KAAKtgB,WAAL,CAAiB,wBAAjB,CAAlC;AACA,UAAI6a,YAAoB,GAAG,KAAK7a,WAAL,CAAiB,wBAAjB,CAA3B;;AAEA+Z,MAAAA,MAAM,CAACuG,iBAAD,CAAN,GAA4B,YAAM;AAChCzF,QAAAA,YAAY,IAAI,CAAhB;;AACA,QAAA,MAAI,CAAC7N,WAAL,CAAiB,wBAAjB,EAA2C6N,YAA3C;AACD,OAHD;AAID;;;uCAEwB;AAAA;;AACvB,WAAKzB,WAAL,CAAiBtjB,GAAjB,CAAqB,UAACypB,IAAD,EAAU;AAC7B,YAAI,CAACA,IAAI,CAAC7hB,IAAV,EAAgB;AACd,gBAAM,IAAID,KAAJ,CAAU,kDAAV,CAAN;AACD;;AACD,QAAA,MAAI,CAAC8iB,YAAL,CAAkBhB,IAAI,CAAC7hB,IAAvB,EAA6Bsd,cAAc,CAACuE,IAAD,CAA3C;AACD,OALD;AAMD;;;mCAEoB;AAAA;;AACnB,0CAA2BiB,UAAe,KAAKxG,OAApB,CAA3B,sCAAyD;AAAA;AAAA,YAA7CjkB,IAA6C;AAAA,YAAxCiG,KAAwC;;AACvD,YAAIA,KAAK,IAAI+W,iBAAiB,CAAC/W,KAAD,CAA9B,EAAuC;AAAA;AAAA,gBAC7B6D,gBAD6B,GAC8B7D,KAD9B,CAC7B6D,gBAD6B;AAAA,gBACXT,YADW,GAC8BpD,KAD9B,CACXoD,YADW;AAAA,gBACGW,aADH,GAC8B/D,KAD9B,CACG+D,aADH;AAAA,gBACkBD,OADlB,GAC8B9D,KAD9B,CACkB8D,OADlB;;AAGrC,gBAAID,gBAAgB,KAAK,QAAzB,EAAmC;AACjC,cAAA,MAAI,CAACmN,WAAL,mBAA4BjX,IAA5B,GAAmCgK,aAAnC;;AAEA,cAAA,MAAI,CAACiN,WAAL,CAAiBjX,IAAjB,EAAsBgK,aAAtB;AACD,aAJD,MAIO;AACL,cAAA,MAAI,CAACiN,WAAL,mBAA4BjX,IAA5B,GAAmC,iBAAqB;AAAA,oBAAlBiK,WAAkB,SAAlBA,WAAkB;AACtD,uBAAOA,WAAW,CAACH,gBAAD,EAAmBT,YAAnB,EAAiCU,OAAjC,CAAlB;AACD,eAFD;;AAIA,cAAA,MAAI,CAACkN,WAAL,CAAiBjX,IAAjB,EAAsB,iBAAqB;AAAA,oBAAlBiK,WAAkB,SAAlBA,WAAkB;AACzC,uBAAOA,WAAW,CAACH,gBAAD,EAAmBT,YAAnB,EAAiCU,OAAjC,CAAlB;AACD,eAFD;AAGD;AAfoC;AAgBtC,SAhBD,MAgBO;AACL,eAAKkN,WAAL,mBAA4BjX,IAA5B,GAAmCiG,KAAnC;AAEA,eAAKgR,WAAL,CAAiBjX,IAAjB,EAAsBiG,KAAtB;AACD;AACF;AACF;;;6CAE8B;AAAA;;AAC7B,WAAKie,iBAAL,CAAuBnkB,GAAvB,CAA2B,UAAC2qB,MAAD,EAAY;AAAA,YAC7B5gB,gBAD6B,GACA4gB,MADA,CAC7B5gB,gBAD6B;AAAA,YACX6gB,MADW,GACAD,MADA,CACXC,MADW;;AAGrC,YAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACnCD,UAAAA,MAAM,CAAC5qB,GAAP,CAAW,UAAC8qB,KAAD,EAAW;AAAA,gBACZC,SADY,GACSD,KADT,CACZC,SADY;AAAA,gBACD7kB,KADC,GACS4kB,KADT,CACD5kB,KADC;;AAGpB,gBAAIA,KAAK,IAAI+W,iBAAiB,CAAC/W,KAAD,CAA9B,EAAuC;AAAA,kBAC7B6D,iBAD6B,GAC8B7D,KAD9B,CAC7B6D,gBAD6B;AAAA,kBACXT,YADW,GAC8BpD,KAD9B,CACXoD,YADW;AAAA,kBACGW,aADH,GAC8B/D,KAD9B,CACG+D,aADH;AAAA,kBACkBD,OADlB,GAC8B9D,KAD9B,CACkB8D,OADlB;;AAGrC,kBAAID,iBAAgB,KAAK,QAAzB,EAAmC;AACjC,gBAAA,MAAI,CAACmN,WAAL,mBAA4B6T,SAA5B,GAAyC9gB,aAAzC;AACD,eAFD,MAEO;AACL,gBAAA,MAAI,CAACiN,WAAL,mBAA4B6T,SAA5B,GAAyC,iBAAqB;AAAA,sBAAlB7gB,WAAkB,SAAlBA,WAAkB;AAC5D,yBAAOA,WAAW,CAACH,iBAAD,EAAmBT,YAAnB,EAAiCU,OAAjC,CAAlB;AACD,iBAFD;AAGD;AACF,aAVD,MAUO;AACL,cAAA,MAAI,CAACkN,WAAL,mBAA4B6T,SAA5B,GAAyC7kB,KAAzC;AACD;AACF,WAhBD;AAiBD,SAlBD;;AAoBA,QAAA,MAAI,CAAC8kB,WAAL,CAAiBjhB,gBAAjB,EAAmC8gB,sBAAnC;AACD,OAxBD;AAyBD;;;uCAEwB;AAAA;;AACvB,WAAKxH,WAAL,CAAiBrjB,GAAjB,CAAqB,UAACirB,UAAD,EAAgB;AAAA,YAC3BrjB,IAD2B,GACyBqjB,UADzB,CAC3BrjB,IAD2B;AAAA,YACrBwd,IADqB,GACyB6F,UADzB,CACrB7F,IADqB;AAAA,oCACyB6F,UADzB,CACfC,eADe;AAAA,YACEC,aADF,sCACkB,EADlB;AAAA,YAE7B9F,cAF6B,GAEV4F,UAFU,CAE7B5F,cAF6B;;AAInC,YAAI,CAACA,cAAL,EAAqB;AACnBA,UAAAA,cAAc,GAAG,EAAjB;AACD;;AAED,YAAM+F,gBAAgB,GAAG/F,cAAc,CAACrlB,GAAf,CAAmB,UAACulB,KAAD;AAAA,iBAAWA,KAAK,CAACC,YAAjB;AAAA,SAAnB,CAAzB;AACA,YAAM6F,mBAAmB,GAAGF,aAAa,CAACnrB,GAAd,CAAkB,UAACulB,KAAD;AAAA,iBAAWA,KAAK,CAAC3d,IAAjB;AAAA,SAAlB,CAA5B;AACA,YAAIoK,QAAJ;;AAEA,YAAI;AACFA,UAAAA,QAAQ,eAAO0T,QAAP,oBAAmB0F,gBAAnB,2BAAwCC,mBAAxC,IAA6D,aAA7D,EAA4EjG,IAA5E,GAAR;AACD,SAFD,CAEE,OAAO9Y,KAAP,EAAc;AACd,cAAMgf,YAAY,aAAMhf,KAAN,CAAlB;AACAiB,UAAAA,OAAO,CAACC,IAAR,+DAEY5F,IAFZ,oCAGYwd,IAHZ,qCAIakG,YAJb;;AAMAtZ,UAAAA,QAAQ,GAAG,oBAAM;AACf,kBAAM,IAAIrK,KAAJ,CAAU2jB,YAAV,CAAN;AACD,WAFD;AAGD;;AAED,QAAA,MAAI,CAACpU,WAAL,CAAiBtP,IAAjB,EAAuB,iBAA8B;AAAA,cAA3BsC,WAA2B,SAA3BA,WAA2B;AAAA,cAAdF,OAAc,SAAdA,OAAc;AACnD,cAAMmN,MAAM,GAAGkO,cAAc,CAACrlB,GAAf,CAAmB,UAACurB,EAAD;AAAA,mBAChCrhB,WAAW,CAACqhB,EAAE,CAACxhB,gBAAJ,EAAsBwhB,EAAE,CAACjiB,YAAzB,EAAuCiiB,EAAE,CAACvhB,OAA1C,CADqB;AAAA,WAAnB,CAAf;AAIA,cAAMwhB,aAAa,GAAGL,aAAa,CAACnrB,GAAd,CAAkB,UAACulB,KAAD;AAAA,mBAAWvb,OAAO,CAACub,KAAK,CAAC3d,IAAP,CAAlB;AAAA,WAAlB,CAAtB;AACA,iBAAOoK,QAAQ,MAAR,2BAAYmF,MAAZ,2BAAuBqU,aAAvB,IAAsCthB,WAAtC,GAAP;AACD,SAPD;AAQD,OAnCD;AAoCD;;;yCAE0B;AAAA;;AACzB,WAAKqZ,aAAL,CAAmBvjB,GAAnB,CAAuB,UAACyrB,YAAD,EAAkB;AAAA,YAC/B7jB,IAD+B,GACmB6jB,YADnB,CAC/B7jB,IAD+B;AAAA,YACzB8jB,uBADyB,GACmBD,YADnB,CACzBC,uBADyB;AAAA,YACArG,cADA,GACmBoG,YADnB,CACApG,cADA;;AAGvC,YAAMsG,UAAU,GAAG,MAAI,CAAC/e,QAAL,CAAcgf,+BAAd,CAA8CF,uBAA9C,CAAnB;;AAEA,YAAI,CAACC,UAAL,EAAiB;AACf,gBAAM,IAAIhkB,KAAJ,uCAC2B+jB,uBAAuB,CAAC9jB,IADnD,iBAC8D8jB,uBAAuB,CAAC3hB,gBADtF,EAAN;AAGD;;AAED,QAAA,MAAI,CAACmN,WAAL,CAAiBtP,IAAjB,EAAuB,iBAAqB;AAAA,cAAlBsC,WAAkB,SAAlBA,WAAkB;AAC1C,cAAM2hB,YAAY,GAAGxG,cAAc,CAAC7e,MAAf,CACnB,UACEslB,aADF,SAGK;AAAA,gBADD/hB,gBACC,SADDA,gBACC;AAAA,gBADiBT,YACjB,SADiBA,YACjB;AAAA,gBAD+BU,OAC/B,SAD+BA,OAC/B;AAAA,gBADwCwb,YACxC,SADwCA,YACxC;AAAA,gBADsDvb,aACtD,SADsDA,aACtD;AACH,gBAAM/D,KAAK,GAAG+D,aAAa,IAAIC,WAAW,CAACH,gBAAD,EAAmBT,YAAnB,EAAiCU,OAAjC,CAA1C;AAEA,uDAAY8hB,aAAZ,4BAA4BtG,YAA5B,EAA2Ctf,KAA3C;AACD,WARkB,EASnB,EATmB,CAArB;AAYA,iBAAOylB,UAAU,CAACE,YAAD,CAAjB;AACD,SAdD;AAeD,OA1BD;AA2BD;;;sCAEiB1hB,GAAgB;AAChCoD,MAAAA,OAAO,CAACjB,KAAR,CAAcnC,CAAd;AAEAsW,MAAAA,EAAE,CAACsL,UAAH,CAAc5hB,CAAd;AACA,YAAMA,CAAN;AACD;;;;sFAEYkgB;;;;;;;;AAGT5J,gBAAAA,EAAE,CAACuL,KAAH;;uBACsB,KAAKC,gBAAL;;;AAAtBlC,gBAAAA;;uBAC8B,KAAKmC,kBAAL,CAAwBnC,aAAxB;;;AAAxBhH,gBAAAA;AACAoJ,gBAAAA,aAAa,mBAAApC,aAAa,UAAb,wDAAehc,IAAf,KAAuB;;uBACvB,KAAKqe,cAAL,CAAoBD,UAApB,EAAgCpC,aAAhC;;;AAAbhc,gBAAAA;AACAS,gBAAAA,SAASub,aAAa,CAACvb,MAAd,IAAwB,KAAK0V,OAAL,CAAa1V;AAC9CD,gBAAAA,QAAQwb,aAAa,CAACxb,KAAd,IAAuB,KAAK2V,OAAL,CAAa3V;AAE5C8d,gBAAAA,gBAAgB,KAAKC,SAAL,CACpBjC,aADoB,EAEpBtH,eAFoB,EAGpBhV,IAHoB,EAIpB;AAAES,kBAAAA,MAAM,EAANA,MAAF;AAAUD,kBAAAA,KAAK,EAALA;AAAV,iBAJoB,EAKpBwb,aALoB;AAQhBwC,gBAAAA,uBAAuB,KAAKC,mBAAL;;uBAEvBxnB,UAAQ0d,GAAR,CAAY,CAAC2J,aAAD,EAAgBE,oBAAhB,CAAZ;;;AAEN,oBAAI,KAAKriB,WAAL,CAAiB,sBAAjB,CAAJ,EAA8C;AAC5C,uBAAKwe,cAAL;AACD;;AAEDvC,gBAAAA,SAAS,CAACkE,aAAD,CAAT;AACA5C,gBAAAA,iBAAiB,CAAC4C,aAAD,CAAjB;AAEA5J,gBAAAA,EAAE,CAACgM,MAAH;;;;;;;AAEMpY,gBAAAA,eAAehI,kBAAkB,cAAlB,CAAsBL,SAAtB,CAAgC+d,aAAhC;AACrB,qBAAK2C,iBAAL,CAAuBrY,YAAvB;;;;;;;;;;;;;;;;;;;;;ACvdN,SAAS,QAAQ,CAAC,GAAG,EAAE;AACvB,EAAE,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;AAC7G,CAAC;AACD;AACA,WAAc,GAAG,QAAQ;;ACVzB,SAASsY,WAAT,CAAqB7V,MAArB,EAA6B8V,SAA7B,EAAwC;AACtC,SAAOA,SAAS,CAACpmB,MAAV,CAAiB,UAACqmB,UAAD,EAAaxjB,IAAb,EAAsB;AAC5C,QAAI,CAACwjB,UAAL,EAAiB;AACf,aAAOA,UAAP;AACD;;AAED,WAAOA,UAAU,CAACxjB,IAAD,CAAjB;AACD,GANM,EAMJyN,MANI,CAAP;AAOD;;AAID,SAASgW,WAAT,CAAqBzjB,IAArB,EAAwD;AACtD,MAAIhG,UAAcgG,IAAd,CAAJ,EAAyB;AAAA,8BACMA,IADN;AAAA,QAChB0jB,QADgB;AAAA,QACNC,QADM;;AAEvB,WAAO,CAACD,QAAD,EAAWC,QAAQ,CAAClX,KAAT,CAAe,GAAf,CAAX,CAAP;AACD,GAHD,MAGO;AAAA,sBAC2BzM,IAAI,CAACyM,KAAL,CAAW,GAAX,CAD3B;AAAA;AAAA,QACEiX,SADF;AAAA,QACeC,SADf;;AAEL,WAAO,CAACD,SAAD,EAAWC,SAAX,CAAP;AACD;AACF;;AAEM,SAASC,YAAT,CAAyB5jB,IAAzB,EAAwC2I,QAAxC,EAA8E;AAAA,qBAC5C8a,WAAW,CAACzjB,IAAD,CADiC;AAAA;AAAA,MAC5E6jB,iBAD4E;AAAA,MACzDN,SADyD;;AAGnF,SAAO,gBAAqB;AAAA,QAAlB1iB,WAAkB,QAAlBA,WAAkB;AAC1B,QAAMgB,IAAI,GAAGhB,WAAW,CAACgjB,iBAAD,CAAxB;AACA,QAAMC,aAAa,GAAGR,WAAW,CAACzhB,IAAD,EAAO0hB,SAAP,CAAjC;;AAEA,QAAI5a,QAAJ,EAAc;AACZ,aAAOA,QAAQ,CAACmb,aAAD,CAAf;AACD;;AAED,WAAOA,aAAP;AACD,GATD;AAUD;;;;;;;;ICRIC;;WAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;GAAAA,aAAAA;;IAwBAC;;WAAAA;AAAAA,EAAAA,UAAAA;AAAAA,EAAAA,UAAAA;AAAAA,EAAAA,UAAAA;AAAAA,EAAAA,UAAAA;GAAAA,cAAAA;;IAOOC,cAAZ;;WAAYA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;GAAAA,mBAAAA;;IAwBSC;;;;+CACQ;;sCAEjBA,OAAO,CAACC;;;;;iCA0BLC,eAAuB;AAClC,UAAMC,cAAc,GAAGN,QAAQ,CAACK,aAAD,CAA/B;AACA,aAAOJ,SAAS,CAAC,KAAKM,gBAAN,CAAT,IAAoCN,SAAS,CAACK,cAAD,CAApD;AACD;;;yBAEIjiB,SAAyB;AAAA,UACpBgiB,aADoB,GACMhiB,OADN,CACpBgiB,aADoB;AAAA,UACLtW,MADK,GACM1L,OADN,CACL0L,MADK;;AAG5B,UAAI,KAAKyW,YAAL,CAAkBH,aAAlB,CAAJ,EAAsC;AACpC,YAAII,SAAS,IAAIA,SAAS,CAACC,aAA3B,EAA0C;AACxCD,UAAAA,SAAS,CAACC,aAAV,CAAwB;AAAEL,YAAAA,aAAa,EAAbA,aAAF;AAAiBtW,YAAAA,MAAM,EAANA;AAAjB,WAAxB;AACD;AACF;AACF;;;;oCAGuBnO,MAAM;AAAA,mDACVA,IADU;AAAA;;AAAA;AAC5B,4DAAwB;AAAA,cAAb+kB,GAAa;;AACtB,cAAIA,GAAG,YAAYpmB,KAAnB,EAA0B;AACxB,+BAAwBomB,GAAxB,EAA6B;AAC3BtiB,cAAAA,OAAO,EAAE;AAAE6D,gBAAAA,UAAU,EAAE;AAAd,eADkB;AAE3B1H,cAAAA,IAAI,EAAE;AAAE0H,gBAAAA,UAAU,EAAE;AAAd,eAFqB;AAG3B0e,cAAAA,YAAY,EAAE;AAAE1e,gBAAAA,UAAU,EAAE;AAAd,eAHa;AAI3B2e,cAAAA,QAAQ,EAAE;AAAE3e,gBAAAA,UAAU,EAAE;AAAd,eAJiB;AAK3B4e,cAAAA,UAAU,EAAE;AAAE5e,gBAAAA,UAAU,EAAE;AAAd,eALe;AAM3BtE,cAAAA,KAAK,EAAE;AAAEsE,gBAAAA,UAAU,EAAE;AAAd;AANoB,aAA7B;AAQD;AACF;AAZ2B;AAAA;AAAA;AAAA;AAAA;AAa7B;;;gCAEW6e,YAAqB;AAAA;;AAAA,wCAANnlB,IAAM;AAANA,QAAAA,IAAM;AAAA;;AAC/B,WAAKolB,eAAL,CAAqBplB,IAArB;;AACA,WAAKqlB,IAAL,CAAU;AAAEZ,QAAAA,aAAa,EAAEU,UAAjB;AAA6BhX,QAAAA,MAAM,EAAEnO;AAArC,OAAV;;AACA,4BAAKuE,OAAL,EAAa4gB,UAAb,uBAA4BnlB,IAA5B;AACD;;;0BAEY;AAAA,yCAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACX,WAAKslB,WAAL,cAAiBhB,cAAc,CAACxG,GAAhC,SAAwC9d,IAAxC;AACD;;;4BAEc;AAAA;;AACb,UAAMyJ,GAAG,GAAG,IAAI9K,KAAJ,EAAZ;;AADa,yCAANqB,IAAM;AAANA,QAAAA,IAAM;AAAA;;AAEb,WAAKolB,eAAL,CAAqBplB,IAArB;AACA6kB,MAAAA,SAAS,CAACC,aAAV,CAAwB;AACtBL,QAAAA,aAAa,EAAE,OADO;AAEtBziB,QAAAA,KAAK,EAAEyH,GAAG,CAACzH,KAFW;AAGtBmM,QAAAA,MAAM,EAAEnO;AAHc,OAAxB;;AAKA,6BAAKuE,OAAL,EAAajB,KAAb,uBAAsBtD,IAAtB;AACD;;;2BAEa;AAAA,yCAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACZ,WAAKslB,WAAL,cAAiBhB,cAAc,CAAC9f,IAAhC,SAAyCxE,IAAzC;AACD;;;2BAEa;AAAA,yCAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACZ,WAAKslB,WAAL,cAAiBhB,cAAc,CAACiB,IAAhC,SAAyCvlB,IAAzC;AACD;;;4BAEc;AAAA,yCAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACb,WAAKslB,WAAL,cAAiBhB,cAAc,CAACkB,KAAhC,SAA0CxlB,IAA1C;AACD;;;6BAEe;AAAA,yCAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACd,WAAKslB,WAAL,cAAiBhB,cAAc,CAACmB,MAAhC,SAA2CzlB,IAA3C;AACD;;;4BAEc;AAAA,yCAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACb,WAAKslB,WAAL,cAAiBhB,cAAc,CAACoB,KAAhC,SAA0C1lB,IAA1C;AACD;;;qCAEuB;AAAA,yCAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACtB,WAAKslB,WAAL,cAAiBhB,cAAc,CAACqB,cAAhC,SAAmD3lB,IAAnD;AACD;;;+BAEiB;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AAChB,WAAKslB,WAAL,cAAiBhB,cAAc,CAACsB,QAAhC,SAA6C5lB,IAA7C;AACD;;;2BAEa;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACZ,WAAKslB,WAAL,cAAiBhB,cAAc,CAACuB,IAAhC,SAAyC7lB,IAAzC;AACD;;;8BAEgB;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACf,WAAKslB,WAAL,cAAiBhB,cAAc,CAACwB,OAAhC,SAA4C9lB,IAA5C;AACD;;;8BAEgB;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACf,WAAKslB,WAAL,cAAiBhB,cAAc,CAACyB,OAAhC,SAA4C/lB,IAA5C;AACD;;;4BAEc;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACb,WAAKslB,WAAL,cAAiBhB,cAAc,CAAC0B,KAAhC,SAA0ChmB,IAA1C;AACD;;;iCAEmB;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AAClB,WAAKslB,WAAL,cAAiBhB,cAAc,CAAC2B,UAAhC,SAA+CjmB,IAA/C;AACD;;;0BAEY;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACX,WAAKslB,WAAL,cAAiBhB,cAAc,CAAC4B,GAAhC,SAAwClmB,IAAxC;AACD;;;6BAEe;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACd,WAAKslB,WAAL,cAAiBhB,cAAc,CAAC6B,MAAhC,SAA2CnmB,IAA3C;AACD;;;8BAEgB;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACf,WAAKslB,WAAL,cAAiBhB,cAAc,CAAC8B,OAAhC,SAA4CpmB,IAA5C;AACD;;;iCAEmB;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AAClB,WAAKslB,WAAL,cAAiBhB,cAAc,CAAC+B,UAAhC,SAA+CrmB,IAA/C;AACD;;;4BAEc;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACb,WAAKslB,WAAL,cAAiBhB,cAAc,CAACgC,KAAhC,SAA0CtmB,IAA1C;AACD;;;gCAEkB;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACjB,WAAKslB,WAAL,cAAiBhB,cAAc,CAACiC,SAAhC,SAA8CvmB,IAA9C;AACD;;;4BAEc;AAAA,0CAANA,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACb,WAAKslB,WAAL,cAAiBhB,cAAc,CAACkC,KAAhC,SAA0CxmB,IAA1C;AACD;;;wBA5Ic;AACb,aAAO,KAAK2kB,gBAAZ;AACD;sBAEYA,kBAA0B;AACrC,UAAIN,SAAS,CAACM,gBAAD,CAAb,EAAiC;AAC/B,aAAKA,gBAAL,GAAwBA,gBAAxB;AACD,OAFD,MAEO;AACL,aAAKpgB,OAAL,CAAaC,IAAb,WACKmgB,gBADL;AAGD;AACF;;;8BAtBgB;AACf;AACM1J,MAAAA,MAAN,CAAc1W,OAAd,GAAwB,IAAIggB,OAAJ,EAAxB;AACD;;;gCAEkB;AACjB;AACMtJ,MAAAA,MAAN,CAAc1W,OAAd,GAAwB,KAAKigB,eAA7B;AACD;;;;;;iBAbkBD,4BAEMhgB;;ACnE3B,IAAI0W,MAAM,CAAC4J,SAAP,IAAoB5J,MAAM,CAAC4J,SAAP,CAAiBC,aAAzC,EAAwD;AACtDP,EAAAA,OAAO,CAACkC,OAAR;AACD;;;;;"}