{"version":3,"file":"static/js/66c5485b5ddf076a46f9.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/../src/StyleOptionsState.ts?6e9d","webpack://Msdyn365.Commerce.Online/../src/Stylesheet.ts?2b78","webpack://Msdyn365.Commerce.Online/../src/concatStyleSets.ts?985c","webpack://Msdyn365.Commerce.Online/../src/fontFace.ts?ba43","webpack://Msdyn365.Commerce.Online/../src/getVendorSettings.ts?57f5","webpack://Msdyn365.Commerce.Online/../src/transforms/kebabRules.ts?e9b6","webpack://Msdyn365.Commerce.Online/../src/transforms/prefixRules.ts?7003","webpack://Msdyn365.Commerce.Online/../src/transforms/provideUnits.ts?6886","webpack://Msdyn365.Commerce.Online/../src/transforms/rtlifyRules.ts?296f","webpack://Msdyn365.Commerce.Online/../src/styleToClassName.ts?36c7","webpack://Msdyn365.Commerce.Online/../src/styles/hiddenContentStyle.ts?446a","webpack://Msdyn365.Commerce.Online/../src/styles/getGlobalClassNames.ts?37db","webpack://Msdyn365.Commerce.Online/../src/styles/CommonStyles.ts?85af","webpack://Msdyn365.Commerce.Online/../src/keyframes.ts?0aa9","webpack://Msdyn365.Commerce.Online/../src/setVersion.ts?84dd","webpack://Msdyn365.Commerce.Online/../src/index.ts?6f37","webpack://Msdyn365.Commerce.Online/../src/version.ts?0003","webpack://Msdyn365.Commerce.Online/../src/styles/theme.ts?23d7","webpack://Msdyn365.Commerce.Online/../src/DelayedRender.tsx?982e","webpack://Msdyn365.Commerce.Online/../src/extractStyleParts.ts?3aec","webpack://Msdyn365.Commerce.Online/../src/mergeStyleSets.ts?fe5d","webpack://Msdyn365.Commerce.Online/../src/rtl.ts?c642","webpack://Msdyn365.Commerce.Online/../src/classNamesFunction.ts?d5ba","webpack://Msdyn365.Commerce.Online/../src/GlobalSettings.ts?e817","webpack://Msdyn365.Commerce.Online/../src/customizations/Customizations.ts?aff4","webpack://Msdyn365.Commerce.Online/../src/dom/getDocument.ts?8890","webpack://Msdyn365.Commerce.Online/../src/dom/getWindow.ts?82a7","webpack://Msdyn365.Commerce.Online/../src/dom/setSSR.ts?5961","webpack://Msdyn365.Commerce.Online/../src/language.ts?7f1b","webpack://Msdyn365.Commerce.Online/../src/localStorage.ts?a4c3","webpack://Msdyn365.Commerce.Online/../src/memoize.ts?10c6","webpack://Msdyn365.Commerce.Online/../src/merge.ts?8d44","webpack://Msdyn365.Commerce.Online/../src/properties.ts?6a7f","webpack://Msdyn365.Commerce.Online/../src/sessionStorage.ts?f322","webpack://Msdyn365.Commerce.Online/../src/customizations/CustomizerContext.ts?228b","webpack://Msdyn365.Commerce.Online/../src/customizations/useCustomizationSettings.ts?00f5","webpack://Msdyn365.Commerce.Online/../src/styled.tsx?7957","webpack://Msdyn365.Commerce.Online/../src/concatStyleSetsWithProps.ts?ec44","webpack://Msdyn365.Commerce.Online/./node_modules/qr.js/lib/8BitByte.js?8cc7","webpack://Msdyn365.Commerce.Online/./node_modules/qr.js/lib/BitBuffer.js?929a","webpack://Msdyn365.Commerce.Online/./node_modules/qr.js/lib/ErrorCorrectLevel.js?5e16","webpack://Msdyn365.Commerce.Online/./node_modules/qr.js/lib/Polynomial.js?7e41","webpack://Msdyn365.Commerce.Online/./node_modules/qr.js/lib/QRCode.js?a656","webpack://Msdyn365.Commerce.Online/./node_modules/qr.js/lib/RSBlock.js?fc56","webpack://Msdyn365.Commerce.Online/./node_modules/qr.js/lib/math.js?7c85","webpack://Msdyn365.Commerce.Online/./node_modules/qr.js/lib/mode.js?49b8","webpack://Msdyn365.Commerce.Online/./node_modules/qr.js/lib/util.js?7092","webpack://Msdyn365.Commerce.Online/./node_modules/qrcode.react/lib/index.js?14ca","webpack://Msdyn365.Commerce.Online/./node_modules/react-contenteditable/lib/react-contenteditable.js?1fed","webpack://Msdyn365.Commerce.Online/./node_modules/react-contenteditable/node_modules/fast-deep-equal/index.js?d2c5","webpack://Msdyn365.Commerce.Online/./node_modules/react-dom/cjs/react-dom-server.browser.production.min.js?78a1","webpack://Msdyn365.Commerce.Online/./node_modules/react-dom/server.browser.js?8dbc","webpack://Msdyn365.Commerce.Online/./node_modules/react-iframe/dist/es/iframe.js?b459","webpack://Msdyn365.Commerce.Online/./node_modules/react-lazy-load/lib/LazyLoad.js?fb06","webpack://Msdyn365.Commerce.Online/./node_modules/react-lazy-load/lib/utils/getElementPosition.js?e9ae","webpack://Msdyn365.Commerce.Online/./node_modules/react-lazy-load/lib/utils/inViewport.js?fa3b","webpack://Msdyn365.Commerce.Online/./node_modules/react-lazy-load/lib/utils/parentScroll.js?2ffa","webpack://Msdyn365.Commerce.Online/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js?0039","webpack://Msdyn365.Commerce.Online/./node_modules/react-popper/lib/Manager.js?11b9","webpack://Msdyn365.Commerce.Online/./node_modules/react-popper/lib/Target.js?c70c","webpack://Msdyn365.Commerce.Online/./node_modules/react-popper/lib/Popper.js?83b0","webpack://Msdyn365.Commerce.Online/./node_modules/react-popper/lib/Arrow.js?21e3","webpack://Msdyn365.Commerce.Online/./node_modules/react-side-effect/lib/index.js?7e6f","webpack://Msdyn365.Commerce.Online/./node_modules/react-transition-group/Transition.js?af94","webpack://Msdyn365.Commerce.Online/./node_modules/react-transition-group/utils/PropTypes.js?07fc","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/Card.js?a57f","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/CardBody.js?3656","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/CardHeader.js?8c14","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/Collapse.js?25e4","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/Fade.js?9302","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/Modal.js?8cc1","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/ModalBody.js?2c9a","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/ModalFooter.js?6c24","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/Portal.js?5cf2","webpack://Msdyn365.Commerce.Online/./node_modules/reactstrap/lib/utils.js?02db","webpack://Msdyn365.Commerce.Online/./node_modules/set-function-length/index.js?8cf6","webpack://Msdyn365.Commerce.Online/./node_modules/shallowequal/index.js?bcdd","webpack://Msdyn365.Commerce.Online/./node_modules/side-channel/index.js?2a61","webpack://Msdyn365.Commerce.Online/./node_modules/tslib/tslib.es6.js?5f9b","webpack://Msdyn365.Commerce.Online/./node_modules/url/node_modules/punycode/punycode.js?9346","webpack://Msdyn365.Commerce.Online/./node_modules/url/node_modules/qs/lib/formats.js?3248","webpack://Msdyn365.Commerce.Online/./node_modules/url/node_modules/qs/lib/index.js?bd8b","webpack://Msdyn365.Commerce.Online/./node_modules/url/node_modules/qs/lib/parse.js?2425","webpack://Msdyn365.Commerce.Online/./node_modules/url/node_modules/qs/lib/stringify.js?2440","webpack://Msdyn365.Commerce.Online/./node_modules/url/node_modules/qs/lib/utils.js?ad85","webpack://Msdyn365.Commerce.Online/./node_modules/url/url.js?c2c4","webpack://Msdyn365.Commerce.Online/./node_modules/uuid/dist/esm-browser/rng.js?adad","webpack://Msdyn365.Commerce.Online/./node_modules/uuid/dist/esm-browser/regex.js?3e4f","webpack://Msdyn365.Commerce.Online/./node_modules/uuid/dist/esm-browser/validate.js?bb87","webpack://Msdyn365.Commerce.Online/./node_modules/uuid/dist/esm-browser/stringify.js?fd1d","webpack://Msdyn365.Commerce.Online/./node_modules/uuid/dist/esm-browser/v4.js?a808","webpack://Msdyn365.Commerce.Online/./node_modules/web-vitals/dist/web-vitals.js?9b79"],"sourcesContent":["import { IStyleOptions } from './IStyleOptions';\n\n/**\n * Sets the current RTL value.\n */\nexport function setRTL(isRTL: boolean): void {\n if (_rtl !== isRTL) {\n _rtl = isRTL;\n }\n}\n\n/**\n * Gets the current RTL value.\n */\nexport function getRTL(): boolean {\n if (_rtl === undefined) {\n _rtl =\n typeof document !== 'undefined' &&\n !!document.documentElement &&\n document.documentElement.getAttribute('dir') === 'rtl';\n }\n return _rtl;\n}\n\n// This has been split into 2 lines because it was working in Fabric due to the code being transpiled to es5, so this\n// was converted to var while not working in Fluent that uses babel to transpile the code to be es6-like. Splitting the\n// logic into two lines, however, allows it to work in both scenarios.\nlet _rtl: boolean;\n_rtl = getRTL();\n\nexport function getStyleOptions(): IStyleOptions {\n return {\n rtl: getRTL(),\n };\n}\n","import { IStyle } from './IStyle';\n\nexport const InjectionMode = {\n /**\n * Avoids style injection, use getRules() to read the styles.\n */\n none: 0 as 0,\n\n /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1 as 1,\n\n /**\n * Appends rules using appendChild.\n */\n appendChild: 2 as 2,\n};\n\nexport type InjectionMode = typeof InjectionMode[keyof typeof InjectionMode];\n\n/**\n * CSP settings for the stylesheet\n */\nexport interface ICSPSettings {\n /**\n * Nonce to inject into script tag\n */\n nonce?: string;\n}\n\n/**\n * Stylesheet config.\n *\n * @public\n */\nexport interface IStyleSheetConfig {\n /**\n * Injection mode for how rules are inserted.\n */\n injectionMode?: InjectionMode;\n\n /**\n * Default 'displayName' to use for a className.\n * @defaultvalue 'css'\n */\n defaultPrefix?: string;\n\n /**\n * Defines the default direction of rules for auto-rtlifying things.\n * While typically this is represented as a DIR attribute in the markup,\n * the DIR is not enough to control whether padding goes on the left or\n * right. Use this to set the default direction when rules are registered.\n */\n rtl?: boolean;\n\n /**\n * Default 'namespace' to attach before the className.\n */\n namespace?: string;\n\n /**\n * CSP settings\n */\n cspSettings?: ICSPSettings;\n\n /**\n * Callback executed when a rule is inserted.\n */\n onInsertRule?: (rule: string) => void;\n\n /**\n * Initial value for classnames cache. Key is serialized css rules associated with a classname.\n */\n classNameCache?: { [key: string]: string };\n}\n\nconst STYLESHEET_SETTING = '__stylesheet__';\n/**\n * MSIE 11 doesn't cascade styles based on DOM ordering, but rather on the order that each style node\n * is created. As such, to maintain consistent priority, IE11 should reuse a single style node.\n */\nconst REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\n\nlet _global: { [key: string]: any } = {};\n\n// Grab window.\ntry {\n _global = window;\n} catch {\n /* leave as blank object */\n}\n\nlet _stylesheet: Stylesheet;\n\n/**\n * Represents the state of styles registered in the page. Abstracts\n * the surface for adding styles to the stylesheet, exposes helpers\n * for reading the styles registered in server rendered scenarios.\n *\n * @public\n */\nexport class Stylesheet {\n private _lastStyleElement?: HTMLStyleElement;\n private _styleElement?: HTMLStyleElement;\n private _rules: string[] = [];\n private _preservedRules: string[] = [];\n private _config: IStyleSheetConfig;\n private _rulesToInsert: string[] = [];\n private _counter = 0;\n private _keyToClassName: { [key: string]: string } = {};\n private _onResetCallbacks: (() => void)[] = [];\n\n private _classNameToArgs: { [key: string]: { args: any; rules: string[] } } = {};\n\n /**\n * Gets the singleton instance.\n */\n public static getInstance(): Stylesheet {\n _stylesheet = _global[STYLESHEET_SETTING] as Stylesheet;\n\n if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n const fabricConfig = _global?.FabricConfig || {};\n\n _stylesheet = _global[STYLESHEET_SETTING] = new Stylesheet(fabricConfig.mergeStyles);\n }\n\n return _stylesheet;\n }\n\n constructor(config?: IStyleSheetConfig) {\n this._config = {\n injectionMode: InjectionMode.insertNode,\n defaultPrefix: 'css',\n namespace: undefined,\n cspSettings: undefined,\n ...config,\n };\n\n this._keyToClassName = this._config.classNameCache || {};\n }\n\n /**\n * Configures the stylesheet.\n */\n public setConfig(config?: IStyleSheetConfig): void {\n this._config = {\n ...this._config,\n ...config,\n };\n }\n\n /**\n * Configures a reset callback.\n *\n * @param callback - A callback which will be called when the Stylesheet is reset.\n */\n public onReset(callback: () => void): void {\n this._onResetCallbacks.push(callback);\n }\n\n /**\n * Generates a unique classname.\n *\n * @param displayName - Optional value to use as a prefix.\n */\n public getClassName(displayName?: string): string {\n const { namespace } = this._config;\n const prefix = displayName || this._config.defaultPrefix;\n\n return `${namespace ? namespace + '-' : ''}${prefix}-${this._counter++}`;\n }\n\n /**\n * Used internally to cache information about a class which was\n * registered with the stylesheet.\n */\n public cacheClassName(className: string, key: string, args: IStyle[], rules: string[]): void {\n this._keyToClassName[key] = className;\n this._classNameToArgs[className] = {\n args,\n rules,\n };\n }\n\n /**\n * Gets the appropriate classname given a key which was previously\n * registered using cacheClassName.\n */\n public classNameFromKey(key: string): string | undefined {\n return this._keyToClassName[key];\n }\n\n /**\n * Gets all classnames cache with the stylesheet.\n */\n public getClassNameCache(): { [key: string]: string } {\n return this._keyToClassName;\n }\n\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public argsFromClassName(className: string): IStyle[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.args;\n }\n\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public insertedRulesFromClassName(className: string): string[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.rules;\n }\n\n /**\n * Inserts a css rule into the stylesheet.\n * @param preserve - Preserves the rule beyond a reset boundary.\n */\n public insertRule(rule: string, preserve?: boolean): void {\n const { injectionMode } = this._config;\n const element = injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n\n if (preserve) {\n this._preservedRules.push(rule);\n }\n\n if (element) {\n switch (this._config.injectionMode) {\n case InjectionMode.insertNode:\n const { sheet } = element!;\n\n try {\n (sheet as CSSStyleSheet).insertRule(rule, (sheet as CSSStyleSheet).cssRules.length);\n } catch (e) {\n // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n // which could be slower and bulkier.\n }\n break;\n\n case InjectionMode.appendChild:\n element.appendChild(document.createTextNode(rule));\n break;\n }\n } else {\n this._rules.push(rule);\n }\n\n if (this._config.onInsertRule) {\n this._config.onInsertRule(rule);\n }\n }\n\n /**\n * Gets all rules registered with the stylesheet; only valid when\n * using InsertionMode.none.\n */\n public getRules(includePreservedRules?: boolean): string {\n return (\n (includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('') + this._rulesToInsert.join('')\n );\n }\n\n /**\n * Resets the internal state of the stylesheet. Only used in server\n * rendered scenarios where we're using InsertionMode.none.\n */\n public reset(): void {\n this._rules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n\n this._onResetCallbacks.forEach((callback: () => void) => callback());\n }\n\n // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n public resetKeys(): void {\n this._keyToClassName = {};\n }\n\n private _getStyleElement(): HTMLStyleElement | undefined {\n if (!this._styleElement && typeof document !== 'undefined') {\n this._styleElement = this._createStyleElement();\n\n if (!REUSE_STYLE_NODE) {\n // Reset the style element on the next frame.\n window.requestAnimationFrame(() => {\n this._styleElement = undefined;\n });\n }\n }\n return this._styleElement;\n }\n\n private _createStyleElement(): HTMLStyleElement {\n const head: HTMLHeadElement = document.head;\n const styleElement = document.createElement('style');\n let nodeToInsertBefore: Node | null = null;\n\n styleElement.setAttribute('data-merge-styles', 'true');\n\n const { cspSettings } = this._config;\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\n }\n if (this._lastStyleElement) {\n // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n nodeToInsertBefore = this._lastStyleElement.nextElementSibling;\n } else {\n const placeholderStyleTag: Element | null = this._findPlaceholderStyleTag();\n\n if (placeholderStyleTag) {\n nodeToInsertBefore = placeholderStyleTag.nextElementSibling;\n } else {\n nodeToInsertBefore = head.childNodes[0];\n }\n }\n\n head!.insertBefore(styleElement, head!.contains(nodeToInsertBefore) ? nodeToInsertBefore : null);\n this._lastStyleElement = styleElement;\n\n return styleElement;\n }\n\n private _findPlaceholderStyleTag(): Element | null {\n const head: HTMLHeadElement = document.head;\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n return null;\n }\n}\n","import { IStyleSet, IConcatenatedStyleSet } from './IStyleSet';\nimport { IStyleBase, IStyle } from './IStyle';\nimport { IStyleFunctionOrObject } from './IStyleFunction';\nimport { ObjectOnly } from './ObjectOnly';\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet - The first style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet: TStyleSet | false | null | undefined,\n): IConcatenatedStyleSet>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n): IConcatenatedStyleSet & ObjectOnly>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n): IConcatenatedStyleSet & ObjectOnly & ObjectOnly>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n): IConcatenatedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n * @param styleSet5 - The fifth set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n styleSet5: TStyleSet5 | false | null | undefined,\n): IConcatenatedStyleSet<\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n * @param styleSet5 - The fifth set to be concatenated.\n * @param styleSet6 - The sixth set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n styleSet5: TStyleSet5 | false | null | undefined,\n styleSet6: TStyleSet6 | false | null | undefined,\n): IConcatenatedStyleSet<\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets(...styleSets: (IStyleSet | false | null | undefined)[]): IConcatenatedStyleSet;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets(...styleSets: (IStyleSet | false | null | undefined)[]): IConcatenatedStyleSet {\n if (styleSets && styleSets.length === 1 && styleSets[0] && !(styleSets[0] as IStyleSet).subComponentStyles) {\n return styleSets[0] as IConcatenatedStyleSet;\n }\n\n const mergedSet: IConcatenatedStyleSet = {};\n\n // We process sub component styles in two phases. First we collect them, then we combine them into 1 style function.\n const workingSubcomponentStyles: { [key: string]: Array> } = {};\n\n for (const currentSet of styleSets) {\n if (currentSet) {\n for (const prop in currentSet) {\n if (currentSet.hasOwnProperty(prop)) {\n if (prop === 'subComponentStyles' && currentSet.subComponentStyles !== undefined) {\n // subcomponent styles - style functions or objects\n\n const currentComponentStyles = currentSet.subComponentStyles;\n for (const subCompProp in currentComponentStyles) {\n if (currentComponentStyles.hasOwnProperty(subCompProp)) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n workingSubcomponentStyles[subCompProp].push(currentComponentStyles[subCompProp]);\n } else {\n workingSubcomponentStyles[subCompProp] = [currentComponentStyles[subCompProp]];\n }\n }\n }\n\n continue;\n }\n\n // the as any casts below is a workaround for ts 2.8.\n // todo: remove cast to any in ts 2.9.\n const mergedValue: IStyle = (mergedSet as any)[prop];\n const currentValue = (currentSet as any)[prop];\n\n if (mergedValue === undefined) {\n (mergedSet as any)[prop] = currentValue;\n } else {\n (mergedSet as any)[prop] = [\n // https://github.com/Microsoft/TypeScript/issues/25474\n ...(Array.isArray(mergedValue) ? mergedValue : [mergedValue as IStyleBase]),\n ...(Array.isArray(currentValue) ? currentValue : [currentValue as IStyleBase]),\n ];\n }\n }\n }\n }\n }\n\n if (Object.keys(workingSubcomponentStyles).length > 0) {\n mergedSet.subComponentStyles = {};\n const mergedSubStyles = mergedSet.subComponentStyles;\n\n // now we process the subcomponent styles if there are any\n for (const subCompProp in workingSubcomponentStyles) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n const workingSet = workingSubcomponentStyles[subCompProp];\n mergedSubStyles[subCompProp] = (styleProps: any) => {\n return concatStyleSets(\n ...workingSet.map((styleFunctionOrObject: IStyleFunctionOrObject) =>\n typeof styleFunctionOrObject === 'function' ? styleFunctionOrObject(styleProps) : styleFunctionOrObject,\n ),\n );\n };\n }\n }\n }\n\n return mergedSet;\n}\n","import { IFontFace } from './IRawStyleBase';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers a font face.\n * @public\n */\nexport function fontFace(font: IFontFace): void {\n Stylesheet.getInstance().insertRule(`@font-face{${serializeRuleEntries(getStyleOptions(), font as {})}}`, true);\n}\n","export interface IVendorSettings {\n isWebkit?: boolean;\n isMoz?: boolean;\n isMs?: boolean;\n isOpera?: boolean;\n}\n\nlet _vendorSettings: IVendorSettings | undefined;\n\nexport function getVendorSettings(): IVendorSettings {\n if (!_vendorSettings) {\n const doc = typeof document !== 'undefined' ? document : undefined;\n const nav = typeof navigator !== 'undefined' ? navigator : undefined;\n const userAgent = nav?.userAgent?.toLowerCase();\n\n if (!doc) {\n _vendorSettings = {\n isWebkit: true,\n isMoz: true,\n isOpera: true,\n isMs: true,\n };\n } else {\n _vendorSettings = {\n isWebkit: !!(doc && 'WebkitAppearance' in doc.documentElement.style),\n isMoz: !!(userAgent && userAgent.indexOf('firefox') > -1),\n isOpera: !!(userAgent && userAgent.indexOf('opera') > -1),\n isMs: !!(nav && (/rv:11.0/i.test(nav.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))),\n };\n }\n }\n\n return _vendorSettings;\n}\n\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\nexport function setVendorSettings(vendorSettings?: IVendorSettings): void {\n _vendorSettings = vendorSettings;\n}\n","const rules: { [key: string]: string } = {};\n\nexport function kebabRules(rulePairs: (string | number)[], index: number): void {\n const rule: string = rulePairs[index] as string;\n\n if (rule.charAt(0) !== '-') {\n rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n }\n}\n","import { getVendorSettings } from '../getVendorSettings';\n\nconst autoPrefixNames: { [key: string]: number } = {\n 'user-select': 1,\n};\n\nexport function prefixRules(rulePairs: (string | number)[], index: number): void {\n const vendorSettings = getVendorSettings();\n\n const name = rulePairs[index];\n\n if (autoPrefixNames[name]) {\n const value = rulePairs[index + 1];\n\n if (autoPrefixNames[name]) {\n if (vendorSettings.isWebkit) {\n rulePairs.push('-webkit-' + name, value);\n }\n if (vendorSettings.isMoz) {\n rulePairs.push('-moz-' + name, value);\n }\n if (vendorSettings.isMs) {\n rulePairs.push('-ms-' + name, value);\n }\n if (vendorSettings.isOpera) {\n rulePairs.push('-o-' + name, value);\n }\n }\n }\n}\n","const NON_PIXEL_NUMBER_PROPS = [\n 'column-count',\n 'font-weight',\n 'flex',\n 'flex-grow',\n 'flex-shrink',\n 'fill-opacity',\n 'opacity',\n 'order',\n 'z-index',\n 'zoom',\n];\n\nexport function provideUnits(rulePairs: (string | number)[], index: number): void {\n const name = rulePairs[index] as string;\n const value = rulePairs[index + 1];\n\n if (typeof value === 'number') {\n const isNonPixelProp = NON_PIXEL_NUMBER_PROPS.indexOf(name as string) > -1;\n const isVariableOrPrefixed = name.indexOf('--') > -1;\n const unit = isNonPixelProp || isVariableOrPrefixed ? '' : 'px';\n\n rulePairs[index + 1] = `${value}${unit}`;\n }\n}\n","import { IStyleOptions } from '../IStyleOptions';\n\nconst LEFT = 'left';\nconst RIGHT = 'right';\nconst NO_FLIP = '@noflip';\nconst NAME_REPLACEMENTS: { [key: string]: string } = {\n [LEFT]: RIGHT,\n [RIGHT]: LEFT,\n};\nconst VALUE_REPLACEMENTS: { [key: string]: string } = {\n 'w-resize': 'e-resize',\n 'sw-resize': 'se-resize',\n 'nw-resize': 'ne-resize',\n};\n\n/**\n * RTLifies the rulePair in the array at the current index. This mutates the array for performance\n * reasons.\n */\nexport function rtlifyRules(options: IStyleOptions, rulePairs: (string | number)[], index: number): void {\n if (options.rtl) {\n const name = rulePairs[index] as string;\n\n if (!name) {\n return;\n }\n\n const value = rulePairs[index + 1] as string;\n\n if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n } else if (name.indexOf(LEFT) >= 0) {\n rulePairs[index] = name.replace(LEFT, RIGHT);\n } else if (name.indexOf(RIGHT) >= 0) {\n rulePairs[index] = name.replace(RIGHT, LEFT);\n } else if (String(value).indexOf(LEFT) >= 0) {\n rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n } else if (String(value).indexOf(RIGHT) >= 0) {\n rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n } else if (NAME_REPLACEMENTS[name]) {\n rulePairs[index] = NAME_REPLACEMENTS[name];\n } else if (VALUE_REPLACEMENTS[value]) {\n rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n } else {\n switch (name) {\n case 'margin':\n case 'padding':\n rulePairs[index + 1] = flipQuad(value);\n break;\n case 'box-shadow':\n rulePairs[index + 1] = negateNum(value, 0);\n break;\n }\n }\n }\n}\n\n/**\n * Given a string value in a space delimited format (e.g. \"1 2 3 4\"), negates a particular value.\n */\nfunction negateNum(value: string, partIndex: number): string {\n const parts = value.split(' ');\n const numberVal = parseInt(parts[partIndex], 10);\n\n parts[0] = parts[0].replace(String(numberVal), String(numberVal * -1));\n\n return parts.join(' ');\n}\n\n/**\n * Given a string quad, flips the left and right values.\n */\nfunction flipQuad(value: string): string {\n if (typeof value === 'string') {\n const parts = value.split(' ');\n\n if (parts.length === 4) {\n return `${parts[0]} ${parts[3]} ${parts[2]} ${parts[1]}`;\n }\n }\n\n return value;\n}\n","import { IStyle } from './IStyle';\nimport { IRawStyle } from './IRawStyle';\n\nimport { Stylesheet } from './Stylesheet';\nimport { kebabRules } from './transforms/kebabRules';\nimport { prefixRules } from './transforms/prefixRules';\nimport { provideUnits } from './transforms/provideUnits';\nimport { rtlifyRules } from './transforms/rtlifyRules';\nimport { IStyleOptions } from './IStyleOptions';\n\nconst DISPLAY_NAME = 'displayName';\n\ntype IDictionary = { [key: string]: any };\n\ninterface IRuleSet {\n __order: string[];\n [key: string]: IDictionary;\n}\n\nfunction getDisplayName(rules?: { [key: string]: IRawStyle }): string | undefined {\n const rootStyle: IStyle = rules && rules['&'];\n\n return rootStyle ? (rootStyle as IRawStyle).displayName : undefined;\n}\n\nconst globalSelectorRegExp = /\\:global\\((.+?)\\)/g;\n\ntype ReplacementInfo = [number, number, string];\n\n/**\n * Finds comma separated selectors in a :global() e.g. \":global(.class1, .class2, .class3)\"\n * and wraps them each in their own global \":global(.class1), :global(.class2), :global(.class3)\"\n *\n * @param selectorWithGlobals The selector to process\n * @returns The updated selector\n */\nfunction expandCommaSeparatedGlobals(selectorWithGlobals: string): string {\n // We the selector does not have a :global() we can shortcut\n if (!globalSelectorRegExp.test(selectorWithGlobals)) {\n return selectorWithGlobals;\n }\n\n const replacementInfo: ReplacementInfo[] = [];\n\n const findGlobal = /\\:global\\((.+?)\\)/g;\n let match = null;\n // Create a result list for global selectors so we can replace them.\n while ((match = findGlobal.exec(selectorWithGlobals))) {\n // Only if the found selector is a comma separated list we'll process it.\n if (match[1].indexOf(',') > -1) {\n replacementInfo.push([\n match.index,\n match.index + match[0].length,\n // Wrap each of the found selectors in :global()\n match[1]\n .split(',')\n .map((v: string) => `:global(${v.trim()})`)\n .join(', '),\n ]);\n }\n }\n\n // Replace the found selectors with their wrapped variants in reverse order\n return replacementInfo\n .reverse()\n .reduce((selector: string, [matchIndex, matchEndIndex, replacement]: ReplacementInfo) => {\n const prefix = selector.slice(0, matchIndex);\n const suffix = selector.slice(matchEndIndex);\n\n return prefix + replacement + suffix;\n }, selectorWithGlobals);\n}\n\nfunction expandSelector(newSelector: string, currentSelector: string): string {\n if (newSelector.indexOf(':global(') >= 0) {\n return newSelector.replace(globalSelectorRegExp, '$1');\n } else if (newSelector.indexOf(':') === 0) {\n return currentSelector + newSelector;\n } else if (newSelector.indexOf('&') < 0) {\n return currentSelector + ' ' + newSelector;\n }\n\n return newSelector;\n}\n\nfunction extractSelector(currentSelector: string, rules: IRuleSet = { __order: [] }, selector: string, value: IStyle) {\n if (selector.indexOf('@') === 0) {\n selector = selector + '{' + currentSelector;\n extractRules([value], rules, selector);\n } else if (selector.indexOf(',') > -1) {\n expandCommaSeparatedGlobals(selector)\n .split(',')\n .map((s: string) => s.trim())\n .forEach((separatedSelector: string) =>\n extractRules([value], rules, expandSelector(separatedSelector, currentSelector)),\n );\n } else {\n extractRules([value], rules, expandSelector(selector, currentSelector));\n }\n}\n\nfunction extractRules(args: IStyle[], rules: IRuleSet = { __order: [] }, currentSelector: string = '&'): IRuleSet {\n const stylesheet = Stylesheet.getInstance();\n let currentRules: IDictionary | undefined = rules[currentSelector] as IDictionary;\n\n if (!currentRules) {\n currentRules = {};\n rules[currentSelector] = currentRules;\n rules.__order.push(currentSelector);\n }\n\n for (const arg of args) {\n // If the arg is a string, we need to look up the class map and merge.\n if (typeof arg === 'string') {\n const expandedRules = stylesheet.argsFromClassName(arg);\n\n if (expandedRules) {\n extractRules(expandedRules, rules, currentSelector);\n }\n // Else if the arg is an array, we need to recurse in.\n } else if (Array.isArray(arg)) {\n extractRules(arg, rules, currentSelector);\n } else {\n for (const prop in arg as any) {\n if ((arg as any).hasOwnProperty(prop)) {\n const propValue = (arg as any)[prop];\n\n if (prop === 'selectors') {\n // every child is a selector.\n const selectors: { [key: string]: IStyle } = (arg as any).selectors;\n\n for (const newSelector in selectors) {\n if (selectors.hasOwnProperty(newSelector)) {\n extractSelector(currentSelector, rules, newSelector, selectors[newSelector]);\n }\n }\n } else if (typeof propValue === 'object') {\n // prop is a selector.\n if (propValue !== null) {\n extractSelector(currentSelector, rules, prop, propValue);\n }\n } else {\n if (propValue !== undefined) {\n // Else, add the rule to the currentSelector.\n if (prop === 'margin' || prop === 'padding') {\n expandQuads(currentRules, prop, propValue);\n } else {\n (currentRules as any)[prop] = propValue;\n }\n }\n }\n }\n }\n }\n }\n\n return rules;\n}\n\nfunction expandQuads(currentRules: IDictionary, name: string, value: string): void {\n const parts = typeof value === 'string' ? value.split(' ') : [value];\n\n currentRules[name + 'Top'] = parts[0];\n currentRules[name + 'Right'] = parts[1] || parts[0];\n currentRules[name + 'Bottom'] = parts[2] || parts[0];\n currentRules[name + 'Left'] = parts[3] || parts[1] || parts[0];\n}\n\nfunction getKeyForRules(options: IStyleOptions, rules: IRuleSet): string | undefined {\n const serialized: string[] = [options.rtl ? 'rtl' : 'ltr'];\n let hasProps = false;\n\n for (const selector of rules.__order) {\n serialized.push(selector);\n const rulesForSelector = rules[selector];\n\n for (const propName in rulesForSelector) {\n if (rulesForSelector.hasOwnProperty(propName) && rulesForSelector[propName] !== undefined) {\n hasProps = true;\n serialized.push(propName, rulesForSelector[propName]);\n }\n }\n }\n\n return hasProps ? serialized.join('') : undefined;\n}\n\nfunction repeatString(target: string, count: number): string {\n if (count <= 0) {\n return '';\n }\n\n if (count === 1) {\n return target;\n }\n\n return target + repeatString(target, count - 1);\n}\n\nexport function serializeRuleEntries(options: IStyleOptions, ruleEntries: { [key: string]: string | number }): string {\n if (!ruleEntries) {\n return '';\n }\n\n const allEntries: (string | number)[] = [];\n\n for (const entry in ruleEntries) {\n if (ruleEntries.hasOwnProperty(entry) && entry !== DISPLAY_NAME && ruleEntries[entry] !== undefined) {\n allEntries.push(entry, ruleEntries[entry]);\n }\n }\n\n // Apply transforms.\n for (let i = 0; i < allEntries.length; i += 2) {\n kebabRules(allEntries, i);\n provideUnits(allEntries, i);\n rtlifyRules(options, allEntries, i);\n prefixRules(allEntries, i);\n }\n\n // Apply punctuation.\n for (let i = 1; i < allEntries.length; i += 4) {\n allEntries.splice(i, 1, ':', allEntries[i], ';');\n }\n\n return allEntries.join('');\n}\n\nexport interface IRegistration {\n className: string;\n key: string;\n args: IStyle[];\n rulesToInsert: string[];\n}\n\nexport function styleToRegistration(options: IStyleOptions, ...args: IStyle[]): IRegistration | undefined {\n const rules: IRuleSet = extractRules(args);\n const key = getKeyForRules(options, rules);\n\n if (key) {\n const stylesheet = Stylesheet.getInstance();\n const registration: Partial = {\n className: stylesheet.classNameFromKey(key),\n key,\n args,\n };\n\n if (!registration.className) {\n registration.className = stylesheet.getClassName(getDisplayName(rules));\n const rulesToInsert: string[] = [];\n\n for (const selector of rules.__order) {\n rulesToInsert.push(selector, serializeRuleEntries(options, rules[selector]));\n }\n registration.rulesToInsert = rulesToInsert;\n }\n\n return registration as IRegistration;\n }\n\n return undefined;\n}\n\n/**\n * Insert style to stylesheet.\n * @param registration Style registration.\n * @param specificityMultiplier Number of times classname selector is repeated in the css rule.\n * This is to increase css specificity in case it's needed. Default to 1.\n */\nexport function applyRegistration(registration: IRegistration, specificityMultiplier: number = 1): void {\n const stylesheet = Stylesheet.getInstance();\n const { className, key, args, rulesToInsert } = registration;\n\n if (rulesToInsert) {\n // rulesToInsert is an ordered array of selector/rule pairs.\n for (let i = 0; i < rulesToInsert.length; i += 2) {\n const rules = rulesToInsert[i + 1];\n if (rules) {\n let selector = rulesToInsert[i];\n selector = selector.replace(/&/g, repeatString(`.${registration.className}`, specificityMultiplier));\n\n // Insert. Note if a media query, we must close the query with a final bracket.\n const processedRule = `${selector}{${rules}}${selector.indexOf('@') === 0 ? '}' : ''}`;\n stylesheet.insertRule(processedRule);\n }\n }\n stylesheet.cacheClassName(className!, key!, args!, rulesToInsert);\n }\n}\n\nexport function styleToClassName(options: IStyleOptions, ...args: IStyle[]): string {\n const registration = styleToRegistration(options, ...args);\n if (registration) {\n applyRegistration(registration, options.specificityMultiplier);\n\n return registration.className;\n }\n\n return '';\n}\n","import { IRawStyle } from '@uifabric/merge-styles';\n\nexport const hiddenContentStyle: IRawStyle = {\n position: 'absolute',\n width: 1,\n height: 1,\n margin: -1,\n padding: 0,\n border: 0,\n overflow: 'hidden',\n};\n","import { ITheme } from '../interfaces/index';\nimport { Stylesheet } from '@uifabric/merge-styles';\nimport { memoizeFunction } from '@uifabric/utilities';\n\nexport type GlobalClassNames = Record;\n\n/**\n * Internal memoized function which simply takes in the class map and the\n * disable boolean. These immutable values can be memoized.\n */\nconst _getGlobalClassNames = memoizeFunction(\n (classNames: GlobalClassNames, disableGlobalClassNames?: boolean): GlobalClassNames => {\n const styleSheet = Stylesheet.getInstance();\n\n if (disableGlobalClassNames) {\n // disable global classnames\n return (Object.keys(classNames) as (keyof T)[]).reduce((acc, className) => {\n acc[className] = styleSheet.getClassName(classNames[className]);\n return acc;\n }, {} as GlobalClassNames);\n }\n\n // use global classnames\n return classNames;\n },\n);\n\n/**\n * Checks for the `disableGlobalClassNames` property on the `theme` to determine if it should return `classNames`\n * Note that calls to this function are memoized.\n *\n * @param classNames - The collection of global class names that apply when the flag is false. Make sure to pass in\n * the same instance on each call to benefit from memoization.\n * @param theme - The theme to check the flag on\n * @param disableGlobalClassNames - Optional. Explicitly opt in/out of disabling global classnames. Defaults to false.\n */\nexport function getGlobalClassNames(\n classNames: GlobalClassNames,\n theme: ITheme,\n disableGlobalClassNames?: boolean,\n): GlobalClassNames {\n return _getGlobalClassNames(\n classNames,\n disableGlobalClassNames !== undefined ? disableGlobalClassNames : theme.disableGlobalClassNames,\n );\n}\n","import { IRawStyle } from '../MergeStyles';\n\nexport const HighContrastSelector = '@media screen and (-ms-high-contrast: active), screen and (forced-colors: active)';\nexport const HighContrastSelectorWhite =\n // eslint-disable-next-line @fluentui/max-len\n '@media screen and (-ms-high-contrast: black-on-white), screen and (forced-colors: active) and (prefers-color-scheme: light)';\nexport const HighContrastSelectorBlack =\n // eslint-disable-next-line @fluentui/max-len\n '@media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark)';\n/**\n * @deprecated Use `HighContrastSelector`\n */\nexport const EdgeChromiumHighContrastSelector =\n '@media screen and (-ms-high-contrast: active), screen and (forced-colors: active)';\n\nexport const ScreenWidthMinSmall = 320;\nexport const ScreenWidthMinMedium = 480;\nexport const ScreenWidthMinLarge = 640;\nexport const ScreenWidthMinXLarge = 1024;\nexport const ScreenWidthMinXXLarge = 1366;\nexport const ScreenWidthMinXXXLarge = 1920;\nexport const ScreenWidthMaxSmall = ScreenWidthMinMedium - 1;\nexport const ScreenWidthMaxMedium = ScreenWidthMinLarge - 1;\nexport const ScreenWidthMaxLarge = ScreenWidthMinXLarge - 1;\nexport const ScreenWidthMaxXLarge = ScreenWidthMinXXLarge - 1;\nexport const ScreenWidthMaxXXLarge = ScreenWidthMinXXXLarge - 1;\n\nexport const ScreenWidthMinUhfMobile = 768;\n\nexport function getScreenSelector(min: number | undefined, max: number | undefined): string {\n const minSelector = typeof min === 'number' ? ` and (min-width: ${min}px)` : '';\n const maxSelector = typeof max === 'number' ? ` and (max-width: ${max}px)` : '';\n return `@media only screen${minSelector}${maxSelector}`;\n}\n\n/**\n * The style which turns off high contrast adjustment in browsers.\n */\nexport function getHighContrastNoAdjustStyle(): IRawStyle {\n return {\n forcedColorAdjust: 'none',\n MsHighContrastAdjust: 'none',\n };\n}\n\n/**\n * The style which turns off high contrast adjustment in (only) Edge Chromium browser.\n * @deprecated Use `getHighContrastNoAdjustStyle`\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function getEdgeChromiumNoHighContrastAdjustSelector(): { [EdgeChromiumHighContrastSelector]: IRawStyle } {\n return {\n // eslint-disable-next-line deprecation/deprecation\n [EdgeChromiumHighContrastSelector]: {\n forcedColorAdjust: 'none',\n MsHighContrastAdjust: 'none',\n },\n };\n}\n","import { IKeyframes } from './IKeyframes';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers keyframe definitions.\n *\n * @public\n */\nexport function keyframes(timeline: IKeyframes): string {\n const stylesheet = Stylesheet.getInstance();\n const name = stylesheet.getClassName();\n\n const rulesArray: string[] = [];\n\n for (const prop in timeline) {\n if (timeline.hasOwnProperty(prop)) {\n rulesArray.push(prop, '{', serializeRuleEntries(getStyleOptions(), timeline[prop]), '}');\n }\n }\n const rules = rulesArray.join('');\n\n stylesheet.insertRule(`@keyframes ${name}{${rules}}`, true);\n\n stylesheet.cacheClassName(name, rules, [], ['keyframes', rules]);\n\n return name;\n}\n","// A packages cache that makes sure that we don't inject the same packageName twice in the same bundle -\n// this cache is local to the module closure inside this bundle\nconst packagesCache: { [name: string]: string } = {};\n\n// Cache access to window to avoid IE11 memory leak.\nlet _win: Window | undefined = undefined;\n\ntry {\n _win = window;\n} catch (e) {\n /* no-op */\n}\n\nexport function setVersion(packageName: string, packageVersion: string): void {\n if (typeof _win !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const packages = ((_win as any).__packages__ = (_win as any).__packages__ || {});\n\n // We allow either the global packages or local packages caches to invalidate so testing can\n // just clear the global to set this state\n if (!packages[packageName] || !packagesCache[packageName]) {\n packagesCache[packageName] = packageVersion;\n const versions = (packages[packageName] = packages[packageName] || []);\n versions.push(packageVersion);\n }\n }\n}\n","import { setVersion } from './setVersion';\nexport { setVersion };\n\nsetVersion('@uifabric/set-version', '6.0.0');\n","// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@uifabric/set-version';\nsetVersion('@uifabric/styling', '7.25.0');","import { Customizations, getWindow } from '@uifabric/utilities';\nimport { ITheme, IPartialTheme, IFontStyles } from '../interfaces/index';\nimport { loadTheme as legacyLoadTheme } from '@microsoft/load-themed-styles';\nimport { IRawStyle } from '@uifabric/merge-styles';\nimport { createTheme } from '@fluentui/theme/lib/createTheme';\n\nexport { createTheme } from '@fluentui/theme/lib/createTheme';\n\nlet _theme: ITheme = createTheme({});\nlet _onThemeChangeCallbacks: Array<(theme: ITheme) => void> = [];\n\nexport const ThemeSettingName = 'theme';\n\nexport function initializeThemeInCustomizations(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const win: any = getWindow();\n\n if (win?.FabricConfig?.legacyTheme) {\n // does everything the `else` clause does and more, such as invoke legacy theming\n loadTheme(win.FabricConfig.legacyTheme);\n } else if (!Customizations.getSettings([ThemeSettingName]).theme) {\n if (win?.FabricConfig?.theme) {\n _theme = createTheme(win.FabricConfig.theme);\n }\n\n // Set the default theme.\n Customizations.applySettings({ [ThemeSettingName]: _theme });\n }\n}\n\n// Ensure theme is initialized when this package is referenced.\ninitializeThemeInCustomizations();\n\n/**\n * Gets the theme object\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function getTheme(depComments: boolean = false): ITheme {\n if (depComments === true) {\n _theme = createTheme({}, depComments);\n }\n return _theme;\n}\n\n/**\n * Registers a callback that gets called whenever the theme changes.\n * This should only be used when the component cannot automatically get theme changes through its state.\n * This will not register duplicate callbacks.\n */\nexport function registerOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\n if (_onThemeChangeCallbacks.indexOf(callback) === -1) {\n _onThemeChangeCallbacks.push(callback);\n }\n}\n\n/**\n * See registerOnThemeChangeCallback().\n * Removes previously registered callbacks.\n */\nexport function removeOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\n const i = _onThemeChangeCallbacks.indexOf(callback);\n if (i === -1) {\n return;\n }\n\n _onThemeChangeCallbacks.splice(i, 1);\n}\n\n/**\n * Applies the theme, while filling in missing slots.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function loadTheme(theme: IPartialTheme, depComments: boolean = false): ITheme {\n _theme = createTheme(theme, depComments);\n\n // Invoke the legacy method of theming the page as well.\n legacyLoadTheme({ ..._theme.palette, ..._theme.semanticColors, ..._theme.effects, ..._loadFonts(_theme) });\n\n Customizations.applySettings({ [ThemeSettingName]: _theme });\n\n _onThemeChangeCallbacks.forEach((callback: (theme: ITheme) => void) => {\n try {\n callback(_theme);\n } catch (e) {\n // don't let a bad callback break everything else\n }\n });\n\n return _theme;\n}\n\n/**\n * Loads font variables into a JSON object.\n * @param theme - The theme object\n */\nfunction _loadFonts(theme: ITheme): { [name: string]: string } {\n const lines: { [key: string]: string } = {};\n\n for (const fontName of Object.keys(theme.fonts)) {\n const font: IRawStyle = theme.fonts[fontName as keyof IFontStyles];\n\n for (const propName of Object.keys(font)) {\n const name: string = fontName + propName.charAt(0).toUpperCase() + propName.slice(1);\n let value = font[propName as keyof IRawStyle] as string;\n\n if (propName === 'fontSize' && typeof value === 'number') {\n // if it's a number, convert it to px by default like our theming system does\n value = value + 'px';\n }\n lines[name] = value;\n }\n }\n return lines;\n}\n","import * as React from 'react';\n\n/**\n * DelayedRender component props.\n *\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface IDelayedRenderProps extends React.Props<{}> {\n /**\n * Number of milliseconds to delay rendering children.\n */\n delay?: number;\n}\n\n/**\n * DelayedRender component state.\n *\n * @internal\n */\nexport interface IDelayedRenderState {\n /**\n * Whether the component is rendered or not.\n */\n isRendered: boolean;\n}\n\n/**\n * Utility component for delaying the render of a child component after a given delay. This component\n * requires a single child component; don't pass in many components. Wrap multiple components in a DIV\n * if necessary.\n *\n * @public\n * {@docCategory DelayedRender}\n */\nexport class DelayedRender extends React.Component {\n public static defaultProps = {\n delay: 0,\n };\n\n private _timeoutId: number | undefined;\n\n constructor(props: IDelayedRenderProps) {\n super(props);\n this.state = {\n isRendered: false,\n };\n }\n\n public componentDidMount(): void {\n let { delay } = this.props;\n this._timeoutId = window.setTimeout(() => {\n this.setState({\n isRendered: true,\n });\n }, delay);\n }\n\n public componentWillUnmount(): void {\n if (this._timeoutId) {\n clearTimeout(this._timeoutId);\n }\n }\n\n public render(): React.ReactElement<{}> | null {\n return this.state.isRendered ? (React.Children.only(this.props.children) as React.ReactElement<{}>) : null;\n }\n}\n","import { IStyle, IStyleBaseArray } from './IStyle';\nimport { Stylesheet } from './Stylesheet';\n\n/**\n * Separates the classes and style objects. Any classes that are pre-registered\n * args are auto expanded into objects.\n */\nexport function extractStyleParts(\n ...args: (IStyle | IStyle[] | false | null | undefined)[]\n): { classes: string[]; objects: IStyleBaseArray } {\n const classes: string[] = [];\n const objects: {}[] = [];\n const stylesheet = Stylesheet.getInstance();\n\n function _processArgs(argsList: (IStyle | IStyle[])[]): void {\n for (const arg of argsList) {\n if (arg) {\n if (typeof arg === 'string') {\n if (arg.indexOf(' ') >= 0) {\n _processArgs(arg.split(' '));\n } else {\n const translatedArgs = stylesheet.argsFromClassName(arg);\n\n if (translatedArgs) {\n _processArgs(translatedArgs);\n } else {\n // Avoid adding the same class twice.\n if (classes.indexOf(arg) === -1) {\n classes.push(arg);\n }\n }\n }\n } else if (Array.isArray(arg)) {\n _processArgs(arg);\n } else if (typeof arg === 'object') {\n objects.push(arg);\n }\n }\n }\n }\n\n _processArgs(args);\n\n return {\n classes,\n objects,\n };\n}\n","import { concatStyleSets } from './concatStyleSets';\nimport { extractStyleParts } from './extractStyleParts';\nimport { IStyle } from './IStyle';\nimport { IStyleOptions } from './IStyleOptions';\nimport { IConcatenatedStyleSet, IProcessedStyleSet, IStyleSet } from './IStyleSet';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { applyRegistration, styleToRegistration } from './styleToClassName';\nimport { ObjectOnly } from './ObjectOnly';\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet - The first style set to be merged and reigstered.\n */\nexport function mergeStyleSets(\n styleSet: TStyleSet | false | null | undefined,\n): IProcessedStyleSet>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n): IProcessedStyleSet & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n * @param styleSet3 - The third style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n): IProcessedStyleSet & ObjectOnly & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n * @param styleSet3 - The third style set to be merged.\n * @param styleSet4 - The fourth style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n): IProcessedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets(...styleSets: Array): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets(...styleSets: Array): IProcessedStyleSet {\n return mergeCssSets(styleSets as any, getStyleOptions());\n}\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet | false | null | undefined],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet1 | false | null | undefined, TStyleSet2 | false | null | undefined],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [\n TStyleSet1 | false | null | undefined,\n TStyleSet2 | false | null | undefined,\n TStyleSet3 | false | null | undefined,\n ],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [\n TStyleSet1 | false | null | undefined,\n TStyleSet2 | false | null | undefined,\n TStyleSet3 | false | null | undefined,\n TStyleSet4 | false | null | undefined,\n ],\n options?: IStyleOptions,\n): IProcessedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSet: [TStyleSet | false | null | undefined],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: Array,\n options?: IStyleOptions,\n): IProcessedStyleSet {\n const classNameSet: IProcessedStyleSet = { subComponentStyles: {} };\n\n const styleSet = styleSets[0];\n\n if (!styleSet && styleSets.length <= 1) {\n return { subComponentStyles: {} } as any;\n }\n\n const concatenatedStyleSet = concatStyleSets(...styleSets);\n\n const registrations = [];\n\n for (const styleSetArea in concatenatedStyleSet) {\n if (concatenatedStyleSet.hasOwnProperty(styleSetArea)) {\n if (styleSetArea === 'subComponentStyles') {\n classNameSet.subComponentStyles = (concatenatedStyleSet as IConcatenatedStyleSet).subComponentStyles || {};\n continue;\n }\n\n const styles: IStyle = (concatenatedStyleSet as any)[styleSetArea];\n\n const { classes, objects } = extractStyleParts(styles);\n\n if (objects?.length) {\n const registration = styleToRegistration(options || {}, { displayName: styleSetArea }, objects);\n\n if (registration) {\n registrations.push(registration);\n classNameSet[styleSetArea] = classes.concat([registration.className]).join(' ');\n }\n } else {\n classNameSet[styleSetArea] = classes.join(' ');\n }\n }\n }\n\n for (const registration of registrations) {\n if (registration) {\n applyRegistration(registration, options?.specificityMultiplier);\n }\n }\n\n return classNameSet as any;\n}\n","import { KeyCodes } from './KeyCodes';\nimport { getDocument } from './dom/getDocument';\nimport { getItem, setItem } from './sessionStorage';\nimport { setRTL as mergeStylesSetRTL } from '@uifabric/merge-styles';\n\nconst RTL_LOCAL_STORAGE_KEY = 'isRTL';\n\n// Default to undefined so that we initialize on first read.\nlet _isRTL: boolean | undefined;\n\n/**\n * Gets the rtl state of the page (returns true if in rtl.)\n */\nexport function getRTL(theme: { rtl?: boolean } = {}): boolean {\n if (theme.rtl !== undefined) {\n return theme.rtl;\n }\n if (_isRTL === undefined) {\n // Fabric supports persisting the RTL setting between page refreshes via session storage\n let savedRTL = getItem(RTL_LOCAL_STORAGE_KEY);\n if (savedRTL !== null) {\n _isRTL = savedRTL === '1';\n setRTL(_isRTL);\n }\n\n let doc = getDocument();\n if (_isRTL === undefined && doc) {\n _isRTL = ((doc.body && doc.body.getAttribute('dir')) || doc.documentElement.getAttribute('dir')) === 'rtl';\n mergeStylesSetRTL(_isRTL);\n }\n }\n\n return !!_isRTL;\n}\n\n/**\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\n */\nexport function setRTL(isRTL: boolean, persistSetting: boolean = false): void {\n let doc = getDocument();\n if (doc) {\n doc.documentElement.setAttribute('dir', isRTL ? 'rtl' : 'ltr');\n }\n\n if (persistSetting) {\n setItem(RTL_LOCAL_STORAGE_KEY, isRTL ? '1' : '0');\n }\n\n _isRTL = isRTL;\n mergeStylesSetRTL(_isRTL);\n}\n\n/**\n * Returns the given key, but flips right/left arrows if necessary.\n */\nexport function getRTLSafeKeyCode(key: number, theme: { rtl?: boolean } = {}): number {\n if (getRTL(theme)) {\n if (key === KeyCodes.left) {\n key = KeyCodes.right;\n } else if (key === KeyCodes.right) {\n key = KeyCodes.left;\n }\n }\n\n return key;\n}\n","import {\n mergeCssSets,\n IStyleSet,\n IProcessedStyleSet,\n Stylesheet,\n IStyleFunctionOrObject,\n} from '@uifabric/merge-styles';\nimport { getRTL } from './rtl';\nimport { getWindow } from './dom';\nimport { StyleFunction } from './styled';\n\nconst MAX_CACHE_COUNT = 50;\nconst DEFAULT_SPECIFICITY_MULTIPLIER = 5;\n\nlet _memoizedClassNames = 0;\n\nconst stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(() => _memoizedClassNames++);\n}\n\n// Note that because of the caching nature within the classNames memoization,\n// I've disabled this rule to simply be able to work with any types.\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// This represents a prop we attach to each Map to indicate the cached return value\n// associated with the graph node.\nconst retVal = '__retval__';\n\ninterface IRecursiveMemoNode extends Map {\n [retVal]?: string;\n}\n\ntype AppWindow = (Window & { FabricConfig?: { enableClassNameCacheFullWarning?: boolean } }) | undefined;\n\nexport interface IClassNamesFunctionOptions {\n /**\n * Disables class caching for scenarios where styleProp parts mutate frequently.\n */\n disableCaching?: boolean;\n\n /**\n * Size of the cache. It overwrites default cache size when defined.\n */\n cacheSize?: number;\n\n /**\n * Set to true if component base styles are implemented in scss instead of css-in-js.\n */\n useStaticStyles?: boolean;\n}\n\n/**\n * Creates a getClassNames function which calls getStyles given the props, and injects them\n * into mergeStyleSets.\n *\n * Note that the props you pass in on every render should be in the same order and\n * immutable (numbers, strings, and booleans). This will allow the results to be memoized. Violating\n * these will cause extra recalcs to occur.\n */\nexport function classNamesFunction>(\n options: IClassNamesFunctionOptions = {},\n): (\n getStyles: IStyleFunctionOrObject | undefined,\n styleProps?: TStyleProps,\n) => IProcessedStyleSet {\n // We build a trie where each node is a Map. The map entry key represents an argument\n // value, and the entry value is another node (Map). Each node has a `__retval__`\n // property which is used to hold the cached response.\n\n // To derive the response, we can simply ensure the arguments are added or already\n // exist in the trie. At the last node, if there is a `__retval__` we return that. Otherwise\n // we call the `getStyles` api to evaluate, cache on the property, and return that.\n let map: IRecursiveMemoNode = new Map();\n let styleCalcCount = 0;\n let getClassNamesCount = 0;\n let currentMemoizedClassNames = _memoizedClassNames;\n\n const getClassNames = (\n styleFunctionOrObject: IStyleFunctionOrObject | undefined,\n styleProps: TStyleProps = {} as TStyleProps,\n ): IProcessedStyleSet => {\n // If useStaticStyles is true, styleFunctionOrObject returns slot to classname mappings.\n // If there is also no style overrides, we can skip merge styles completely and\n // simply return the result from the style funcion.\n if (\n options.useStaticStyles &&\n typeof styleFunctionOrObject === 'function' &&\n (styleFunctionOrObject as StyleFunction).__noStyleOverride__\n ) {\n return styleFunctionOrObject(styleProps) as IProcessedStyleSet;\n }\n\n getClassNamesCount++;\n let current: Map = map;\n const { theme } = styleProps as any;\n const rtl = theme && theme.rtl !== undefined ? theme.rtl : getRTL();\n\n const disableCaching = options.disableCaching;\n\n // On reset of our stylesheet, reset memoized cache.\n if (currentMemoizedClassNames !== _memoizedClassNames) {\n currentMemoizedClassNames = _memoizedClassNames;\n map = new Map();\n styleCalcCount = 0;\n }\n\n if (!options.disableCaching) {\n current = _traverseMap(map, styleFunctionOrObject as any);\n current = _traverseMap(current, styleProps);\n }\n\n if (disableCaching || !(current as any)[retVal]) {\n if (styleFunctionOrObject === undefined) {\n (current as any)[retVal] = {} as IProcessedStyleSet;\n } else {\n (current as any)[retVal] = mergeCssSets(\n [\n (typeof styleFunctionOrObject === 'function'\n ? styleFunctionOrObject(styleProps)\n : styleFunctionOrObject) as IStyleSet,\n ],\n { rtl: !!rtl, specificityMultiplier: options.useStaticStyles ? DEFAULT_SPECIFICITY_MULTIPLIER : undefined },\n );\n }\n\n if (!disableCaching) {\n styleCalcCount++;\n }\n }\n\n if (styleCalcCount > (options.cacheSize || MAX_CACHE_COUNT)) {\n const win = getWindow() as AppWindow;\n if (win?.FabricConfig?.enableClassNameCacheFullWarning) {\n // eslint-disable-next-line no-console\n console.warn(\n `Styles are being recalculated too frequently. Cache miss rate is ${styleCalcCount}/${getClassNamesCount}.`,\n );\n // eslint-disable-next-line no-console\n console.trace();\n }\n\n map.clear();\n styleCalcCount = 0;\n\n // Mutate the options passed in, that's all we can do.\n options.disableCaching = true;\n }\n\n // Note: the retVal is an attached property on the Map; not a key in the Map. We use this attached property to\n // cache the return value for this branch of the graph.\n return (current as any)[retVal];\n };\n\n return getClassNames;\n}\n\nfunction _traverseEdge(current: Map, value: any): Map {\n value = _normalizeValue(value);\n\n if (!current.has(value)) {\n current.set(value, new Map());\n }\n\n return current.get(value);\n}\n\nfunction _traverseMap(current: Map, inputs: any[] | Object): Map {\n if (typeof inputs === 'function') {\n const cachedInputsFromStyled = (inputs as StyleFunction).__cachedInputs__;\n if (cachedInputsFromStyled) {\n // The styled helper will generate the styles function and will attach the cached\n // inputs (consisting of the default styles, customzied styles, and user provided styles.)\n // These should be used as cache keys for deriving the memoized value.\n for (const input of (inputs as any).__cachedInputs__) {\n current = _traverseEdge(current, input);\n }\n } else {\n current = _traverseEdge(current, inputs);\n }\n } else if (typeof inputs === 'object') {\n for (const propName in inputs) {\n if (inputs.hasOwnProperty(propName)) {\n current = _traverseEdge(current, (inputs as any)[propName]);\n }\n }\n }\n\n return current;\n}\n\nfunction _normalizeValue(value: any): string {\n switch (value) {\n case undefined:\n return '__undefined__';\n case null:\n return '__null__';\n default:\n return value;\n }\n}\n","import { getWindow } from './dom/getWindow';\n\n/**\n * Storing global state in local module variables has issues when more than one copy\n * if the module gets loaded on the page (due to a bundling error or simply by consuming\n * a prebundled script.)\n *\n * This file contains helpers to deal with the getting and setting local state, and allows\n * callers to get called back when it mutates.\n */\n\nconst GLOBAL_SETTINGS_PROP_NAME = '__globalSettings__';\nconst CALLBACK_STATE_PROP_NAME = '__callbacks__';\n\nlet _counter = 0;\n\n/**\n * Change description used for change callbacks in GlobalSettings.\n *\n * @public\n * {@docCategory IChangeDescription}\n */\nexport interface IChangeDescription {\n key: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n oldValue: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any;\n}\n\n/**\n * Change event callback.\n *\n * @public\n * {@docCategory IChangeEventCallback}\n */\nexport interface IChangeEventCallback {\n __id__?: string;\n (changeDescription?: IChangeDescription): void;\n}\n\n/**\n * Global settings helper, which stores settings in the global (window) namespace.\n * If window is not provided, it will store settings in module scope. Provides a\n * way to observe changes as well when their values change.\n *\n * @public\n * {@docCategory GlobalSettings}\n */\nexport class GlobalSettings {\n public static getValue(key: string, defaultValue?: T | (() => T)): T {\n const globalSettings = _getGlobalSettings();\n\n if (globalSettings[key] === undefined) {\n globalSettings[key] = typeof defaultValue === 'function' ? (defaultValue as Function)() : defaultValue;\n }\n\n return globalSettings[key];\n }\n\n public static setValue(key: string, value: T): T {\n const globalSettings = _getGlobalSettings();\n const callbacks = globalSettings[CALLBACK_STATE_PROP_NAME];\n let oldValue = globalSettings[key];\n\n if (value !== oldValue) {\n globalSettings[key] = value;\n\n let changeDescription = {\n oldValue,\n value,\n key,\n };\n\n for (let id in callbacks) {\n if (callbacks.hasOwnProperty(id)) {\n callbacks[id](changeDescription);\n }\n }\n }\n\n return value;\n }\n\n public static addChangeListener(cb: IChangeEventCallback): void {\n // Note: we use generated ids on the callbacks to create a map of the callbacks, which optimizes removal.\n // (It's faster to delete a key than it is to look up the index of an object and splice an array.)\n let id = cb.__id__;\n const callbacks = _getCallbacks();\n\n if (!id) {\n id = cb.__id__ = String(_counter++);\n }\n\n callbacks[id] = cb;\n }\n\n public static removeChangeListener(cb: IChangeEventCallback): void {\n const callbacks = _getCallbacks();\n delete callbacks[cb.__id__ as string];\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _getGlobalSettings(): { [key: string]: any } {\n const win = getWindow();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const globalObj: { [key: string]: any } = win || {};\n\n if (!globalObj[GLOBAL_SETTINGS_PROP_NAME]) {\n globalObj[GLOBAL_SETTINGS_PROP_NAME] = {\n [CALLBACK_STATE_PROP_NAME]: {},\n };\n }\n\n return globalObj[GLOBAL_SETTINGS_PROP_NAME];\n}\n\nfunction _getCallbacks(): { [key: string]: () => void } {\n const globalSettings = _getGlobalSettings();\n return globalSettings[CALLBACK_STATE_PROP_NAME];\n}\n","import { GlobalSettings } from '../GlobalSettings';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type ISettings = { [key: string]: any };\nexport type ISettingsFunction = (settings: ISettings) => ISettings;\n\n/**\n * @deprecated Use ISettings.\n */\nexport type Settings = ISettings;\n\n/**\n * @deprecated Use ISettingsFunction.\n */\nexport type SettingsFunction = ISettingsFunction;\n\nexport interface ICustomizations {\n settings: ISettings;\n scopedSettings: { [key: string]: ISettings };\n inCustomizerContext?: boolean;\n}\n\nconst CustomizationsGlobalKey = 'customizations';\nconst NO_CUSTOMIZATIONS = { settings: {}, scopedSettings: {}, inCustomizerContext: false };\n\nlet _allSettings = GlobalSettings.getValue(CustomizationsGlobalKey, {\n settings: {},\n scopedSettings: {},\n inCustomizerContext: false,\n});\n\nlet _events: (() => void)[] = [];\n\nexport class Customizations {\n private static _suppressUpdates: boolean;\n\n public static reset(): void {\n _allSettings.settings = {};\n _allSettings.scopedSettings = {};\n }\n\n /** Apply global Customization settings.\n * @example Customizations.applySettings(\\{ theme: \\{...\\} \\});\n */\n public static applySettings(settings: ISettings): void {\n _allSettings.settings = { ..._allSettings.settings, ...settings };\n Customizations._raiseChange();\n }\n\n /** Apply Customizations to a particular named scope, like a component.\n * @example Customizations.applyScopedSettings('Nav', \\{ styles: () =\\> \\{\\} \\});\n */\n public static applyScopedSettings(scopeName: string, settings: ISettings): void {\n _allSettings.scopedSettings[scopeName] = { ..._allSettings.scopedSettings[scopeName], ...settings };\n Customizations._raiseChange();\n }\n\n public static getSettings(\n properties: string[],\n scopeName?: string,\n localSettings: ICustomizations = NO_CUSTOMIZATIONS,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): any {\n const settings: ISettings = {};\n const localScopedSettings = (scopeName && localSettings.scopedSettings[scopeName]) || {};\n const globalScopedSettings = (scopeName && _allSettings.scopedSettings[scopeName]) || {};\n\n for (let property of properties) {\n settings[property] =\n localScopedSettings[property] ||\n localSettings.settings[property] ||\n globalScopedSettings[property] ||\n _allSettings.settings[property];\n }\n\n return settings;\n }\n\n /** Used to run some code that sets Customizations without triggering an update until the end.\n * Useful for applying Customizations that don't affect anything currently rendered, or for\n * applying many customizations at once.\n * @param suppressUpdate - Do not raise the change event at the end, preventing all updates\n */\n public static applyBatchedUpdates(code: () => void, suppressUpdate?: boolean): void {\n Customizations._suppressUpdates = true;\n try {\n code();\n } catch {\n /* do nothing */\n }\n Customizations._suppressUpdates = false;\n if (!suppressUpdate) {\n Customizations._raiseChange();\n }\n }\n\n public static observe(onChange: () => void): void {\n _events.push(onChange);\n }\n\n public static unobserve(onChange: () => void): void {\n _events = _events.filter((cb: () => void) => cb !== onChange);\n }\n\n private static _raiseChange(): void {\n if (!Customizations._suppressUpdates) {\n _events.forEach((cb: () => void) => cb());\n }\n }\n}\n","import { _isSSR } from './setSSR';\n\n/**\n * Helper to get the document object. Note that in popup window cases, document\n * might be the wrong document, which is why we look at ownerDocument for the\n * truth. Also note that the SSR flag is used to test ssr scenarios even if\n * document is defined (from JSDOM for example.)\n *\n * @public\n */\nexport function getDocument(rootElement?: HTMLElement | null): Document | undefined {\n if (_isSSR || typeof document === 'undefined') {\n return undefined;\n } else {\n const el = rootElement as Element;\n\n return el && el.ownerDocument ? el.ownerDocument : document;\n }\n}\n","import { _isSSR } from './setSSR';\n\nlet _window: Window | undefined = undefined;\n\n// Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\ntry {\n _window = window;\n} catch (e) {\n /* no-op */\n}\n\n/**\n * Helper to get the window object. The helper will make sure to use a cached variable\n * of \"window\", to avoid overhead and memory leaks in IE11. Note that in popup scenarios the\n * window object won't match the \"global\" window object, and for these scenarios, you should\n * pass in an element hosted within the popup.\n *\n * @public\n */\nexport function getWindow(rootElement?: Element | null): Window | undefined {\n if (_isSSR || typeof _window === 'undefined') {\n return undefined;\n } else {\n const el = rootElement as Element;\n\n return el && el.ownerDocument && el.ownerDocument.defaultView ? el.ownerDocument.defaultView : _window;\n }\n}\n","export let _isSSR = false;\n\n/**\n * Helper to set ssr mode to simulate no window object returned from getWindow helper.\n *\n * @public\n */\nexport function setSSR(isEnabled: boolean): void {\n _isSSR = isEnabled;\n}\n","import { getDocument } from './dom/getDocument';\nimport * as localStorage from './localStorage';\nimport * as sessionStorage from './sessionStorage';\n\n// Default to undefined so that we initialize on first read.\nlet _language: string | null;\n\nconst STORAGE_KEY = 'language';\n\n/**\n * Gets the language set for the page.\n * @param persistenceType - Where to persist the value. Default is `localStorage` if available.\n * (In version 8, the default will be `sessionStorage`.)\n */\nexport function getLanguage(\n persistenceType: 'localStorage' | 'sessionStorage' | 'none' = 'localStorage',\n): string | null {\n if (_language === undefined) {\n let doc = getDocument();\n const savedLanguage =\n persistenceType === 'localStorage'\n ? localStorage.getItem(STORAGE_KEY)\n : persistenceType === 'sessionStorage'\n ? sessionStorage.getItem(STORAGE_KEY)\n : undefined;\n\n if (savedLanguage) {\n _language = savedLanguage;\n }\n\n if (_language === undefined && doc) {\n _language = doc.documentElement.getAttribute('lang');\n }\n\n if (_language === undefined) {\n _language = 'en';\n }\n }\n\n return _language;\n}\n\n/**\n * Sets the language for the page (by adjusting the lang attribute of the html element).\n * @param language - Language to set.\n * @param persistenceType - Where to persist the value. Default is `localStorage` if available.\n * (In version 8, the default will be `sessionStorage`.)\n */\nexport function setLanguage(language: string, persistenceType?: 'localStorage' | 'sessionStorage' | 'none'): void;\n/**\n * Sets the language for the page (by adjusting the lang attribute of the html element).\n * @deprecated Use string parameter version.\n * @param language - Language to set.\n * @param avoidPersisting - If true, don't store the value.\n */\nexport function setLanguage(language: string, avoidPersisting?: boolean): void;\nexport function setLanguage(\n language: string,\n persistenceParam?: 'localStorage' | 'sessionStorage' | 'none' | boolean,\n): void {\n let doc = getDocument();\n\n if (doc) {\n doc.documentElement.setAttribute('lang', language);\n }\n\n const persistenceType = persistenceParam === true ? 'none' : !persistenceParam ? 'localStorage' : persistenceParam;\n if (persistenceType === 'localStorage') {\n localStorage.setItem(STORAGE_KEY, language);\n } else if (persistenceType === 'sessionStorage') {\n sessionStorage.setItem(STORAGE_KEY, language);\n }\n\n _language = language;\n}\n","import { getWindow } from './dom/getWindow';\n\n/**\n * Fetches an item from local storage without throwing an exception\n * @param key The key of the item to fetch from local storage\n */\nexport function getItem(key: string): string | null {\n let result = null;\n try {\n const win = getWindow();\n result = win ? win.localStorage.getItem(key) : null;\n } catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n\n/**\n * Inserts an item into local storage without throwing an exception\n * @param key The key of the item to add to local storage\n * @param data The data to put into local storage\n */\nexport function setItem(key: string, data: string): void {\n try {\n const win = getWindow();\n\n win && win.localStorage.setItem(key, data);\n } catch (e) {\n /* Eat the exception */\n }\n}\n","import { Stylesheet } from '@uifabric/merge-styles';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ndeclare class WeakMap {\n public get(key: any): any;\n public set(key: any, value: any): void;\n public has(key: any): boolean;\n}\n\nlet _initializedStylesheetResets = false;\nlet _resetCounter = 0;\nconst _emptyObject = { empty: true };\nconst _dictionary: any = {};\nlet _weakMap = typeof WeakMap === 'undefined' ? null : WeakMap;\n\ninterface IMemoizeNode {\n map: WeakMap | null;\n value?: any;\n}\n\n/**\n * Test utility for providing a custom weakmap.\n *\n * @internal\n * */\nexport function setMemoizeWeakMap(weakMap: any): void {\n _weakMap = weakMap;\n}\n\n/**\n * Reset memoizations.\n */\nexport function resetMemoizations(): void {\n _resetCounter++;\n}\n\n/**\n * Memoize decorator to be used on class methods. WARNING: the `this` reference\n * will be inaccessible within a memoized method, given that a cached method's `this`\n * would not be instance-specific.\n *\n * @public\n */\nexport function memoize(\n target: any,\n key: string,\n descriptor: TypedPropertyDescriptor,\n): {\n configurable: boolean;\n get(): T;\n} {\n // We bind to \"null\" to prevent people from inadvertently pulling values from \"this\",\n // rather than passing them in as input values which can be memoized.\n let fn = memoizeFunction(descriptor.value && descriptor.value.bind(null));\n\n return {\n configurable: true,\n get(): T {\n return fn;\n },\n };\n}\n\n/**\n * Memoizes a function; when you pass in the same parameters multiple times, it returns a cached result.\n * Be careful when passing in objects, you need to pass in the same INSTANCE for caching to work. Otherwise\n * it will grow the cache unnecessarily. Also avoid using default values that evaluate functions; passing in\n * undefined for a value and relying on a default function will execute it the first time, but will not\n * re-evaluate subsequent times which may have been unexpected.\n *\n * By default, the cache will reset after 100 permutations, to avoid abuse cases where the function is\n * unintendedly called with unique objects. Without a reset, the cache could grow infinitely, so we safeguard\n * by resetting. To override this behavior, pass a value of 0 to the maxCacheSize parameter.\n *\n * @public\n * @param cb - The function to memoize.\n * @param maxCacheSize - Max results to cache. If the cache exceeds this value, it will reset on the next call.\n * @param ignoreNullOrUndefinedResult - Flag to decide whether to cache callback result if it is undefined/null.\n * If the flag is set to true, the callback result is recomputed every time till the callback result is\n * not undefined/null for the first time, and then the non-undefined/null version gets cached.\n * @returns A memoized version of the function.\n */\nexport function memoizeFunction RetType, RetType>(\n cb: T,\n maxCacheSize: number = 100,\n ignoreNullOrUndefinedResult: boolean = false,\n): T {\n // Avoid breaking scenarios which don't have weak map.\n if (!_weakMap) {\n return cb;\n }\n\n if (!_initializedStylesheetResets) {\n const stylesheet = Stylesheet.getInstance();\n\n if (stylesheet && stylesheet.onReset) {\n Stylesheet.getInstance().onReset(resetMemoizations);\n }\n _initializedStylesheetResets = true;\n }\n\n let rootNode: any;\n let cacheSize = 0;\n let localResetCounter = _resetCounter;\n\n return function memoizedFunction(...args: any[]): RetType {\n let currentNode: any = rootNode;\n\n if (\n rootNode === undefined ||\n localResetCounter !== _resetCounter ||\n (maxCacheSize > 0 && cacheSize > maxCacheSize)\n ) {\n rootNode = _createNode();\n cacheSize = 0;\n localResetCounter = _resetCounter;\n }\n\n currentNode = rootNode;\n\n // Traverse the tree until we find the match.\n for (let i = 0; i < args.length; i++) {\n let arg = _normalizeArg(args[i]);\n\n if (!currentNode.map.has(arg)) {\n currentNode.map.set(arg, _createNode());\n }\n\n currentNode = currentNode.map.get(arg);\n }\n\n if (!currentNode.hasOwnProperty('value')) {\n currentNode.value = cb(...args);\n cacheSize++;\n }\n\n if (ignoreNullOrUndefinedResult && (currentNode.value === null || currentNode.value === undefined)) {\n currentNode.value = cb(...args);\n }\n\n return currentNode.value;\n } as any;\n}\n\n/**\n * Creates a memoizer for a single-value function, backed by a WeakMap.\n * With a WeakMap, the memoized values are only kept as long as the source objects,\n * ensuring that there is no memory leak.\n *\n * This function assumes that the input values passed to the wrapped function will be\n * `function` or `object` types. To memoize functions which accept other inputs, use\n * `memoizeFunction`, which memoizes against arbitrary inputs using a lookup cache.\n *\n * @public\n */\nexport function createMemoizer any>(getValue: F): F {\n if (!_weakMap) {\n // Without a `WeakMap` implementation, memoization is not possible.\n return getValue;\n }\n\n const cache = new _weakMap();\n\n function memoizedGetValue(input: any): any {\n if (!input || (typeof input !== 'function' && typeof input !== 'object')) {\n // A WeakMap can only be used to test against reference values, i.e. 'function' and 'object'.\n // All other inputs cannot be memoized against in this manner.\n return getValue(input);\n }\n\n if (cache.has(input)) {\n return cache.get(input)!;\n }\n\n const value = getValue(input);\n\n cache.set(input, value);\n\n return value;\n }\n\n return memoizedGetValue as F;\n}\n\nfunction _normalizeArg(val: null | undefined): { empty: boolean } | any;\nfunction _normalizeArg(val: object): any;\nfunction _normalizeArg(val: any): any {\n if (!val) {\n return _emptyObject;\n } else if (typeof val === 'object' || typeof val === 'function') {\n return val;\n } else if (!_dictionary[val]) {\n _dictionary[val] = { val };\n }\n\n return _dictionary[val];\n}\n\nfunction _createNode(): IMemoizeNode {\n return {\n map: _weakMap ? new _weakMap() : null,\n };\n}\n","/**\n * Simple deep merge function. Takes all arguments and returns a deep copy of the objects merged\n * together in the order provided. If an object creates a circular reference, it will assign the\n * original reference.\n */\nexport function merge(target: Partial, ...args: (Partial | null | undefined | false)[]): T {\n for (const arg of args) {\n _merge(target || {}, arg as Partial);\n }\n\n return target as T;\n}\n\n/**\n * The _merge helper iterates through all props on source and assigns them to target.\n * When the value is an object, we will create a deep clone of the object. However if\n * there is a circular reference, the value will not be deep cloned and will persist\n * the reference.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _merge(target: T, source: T, circularReferences: any[] = []): T {\n circularReferences.push(source);\n\n for (let name in source) {\n if (source.hasOwnProperty(name)) {\n if (name !== '__proto__' && name !== 'constructor' && name !== 'prototype') {\n const value: T[Extract] = source[name];\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n const isCircularReference = circularReferences.indexOf(value) > -1;\n target[name] = (isCircularReference\n ? value\n : _merge(target[name] || {}, value, circularReferences)) as T[Extract];\n } else {\n target[name] = value;\n }\n }\n }\n }\n\n circularReferences.pop();\n\n return target;\n}\n","const toObjectMap = (...items: (string[] | Record)[]) => {\n const result: Record = {};\n\n for (const item of items) {\n const keys = Array.isArray(item) ? item : Object.keys(item);\n\n for (const key of keys) {\n result[key] = 1;\n }\n }\n\n return result;\n};\n\n/**\n * An array of events that are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementEvents = toObjectMap([\n 'onCopy',\n 'onCut',\n 'onPaste',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onFocus',\n 'onFocusCapture',\n 'onBlur',\n 'onBlurCapture',\n 'onChange',\n 'onInput',\n 'onSubmit',\n 'onLoad',\n 'onError',\n 'onKeyDown',\n 'onKeyDownCapture',\n 'onKeyPress',\n 'onKeyUp',\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n 'onClick',\n 'onClickCapture',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseDownCapture',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onMouseUpCapture',\n 'onSelect',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onScroll',\n 'onWheel',\n 'onPointerCancel',\n 'onPointerDown',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerOut',\n 'onPointerOver',\n 'onPointerUp',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n]);\n\n/**\n * An array of element attributes which are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementProperties = toObjectMap([\n 'accessKey', // global\n 'children', // global\n 'className', // global\n 'contentEditable', // global\n 'dir', // global\n 'draggable', // global\n 'hidden', // global\n 'htmlFor', // global\n 'id', // global\n 'lang', // global\n 'ref', // global\n 'role', // global\n 'style', // global\n 'tabIndex', // global\n 'title', // global\n 'translate', // global\n 'spellCheck', // global\n 'name', // global\n]);\n\n/**\n * An array of HTML element properties and events.\n *\n * @public\n */\nexport const htmlElementProperties = toObjectMap(baseElementProperties, baseElementEvents);\n\n/**\n * An array of LABEL tag properties and events.\n *\n * @public\n */\nexport const labelProperties = toObjectMap(htmlElementProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n]);\n\n/**\n * An array of AUDIO tag properties and events.\n\n * @public\n */\nexport const audioProperties = toObjectMap(htmlElementProperties, [\n 'height', // canvas, embed, iframe, img, input, object, video\n 'loop', // audio, video\n 'muted', // audio, video\n 'preload', // audio, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of VIDEO tag properties and events.\n *\n * @public\n */\nexport const videoProperties = toObjectMap(audioProperties, [\n 'poster', // video\n]);\n\n/**\n * An array of OL tag properties and events.\n *\n * @public\n */\nexport const olProperties = toObjectMap(htmlElementProperties, [\n 'start', // ol\n]);\n\n/**\n * An array of LI tag properties and events.\n *\n * @public\n */\nexport const liProperties = toObjectMap(htmlElementProperties, [\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of A tag properties and events.\n *\n * @public\n */\nexport const anchorProperties = toObjectMap(htmlElementProperties, [\n 'download', // a, area\n 'href', // a, area, base, link\n 'hrefLang', // a, area, link\n 'media', // a, area, link, source, style\n 'rel', // a, area, link\n 'target', // a, area, base, form\n 'type', // a, button, input, link, menu, object, script, source, style\n]);\n\n/**\n * An array of BUTTON tag properties and events.\n *\n * @public\n */\nexport const buttonProperties = toObjectMap(htmlElementProperties, [\n 'autoFocus', // button, input, select, textarea\n 'disabled', // button, fieldset, input, optgroup, option, select, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'formAction', // input, button\n 'formEncType', // input, button\n 'formMethod', // input, button\n 'formNoValidate', // input, button\n 'formTarget', // input, button\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param,\n]);\n\n/**\n * An array of INPUT tag properties and events.\n *\n * @public\n */\nexport const inputProperties = toObjectMap(buttonProperties, [\n 'accept', // input\n 'alt', // area, img, input\n 'autoCapitalize', // input, textarea\n 'autoComplete', // form, input\n 'checked', // input\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'height', // canvas, embed, iframe, img, input, object, video\n 'inputMode', // input\n 'list', // input\n 'max', // input, meter\n 'maxLength', // input, textarea\n 'min', // input, meter\n 'multiple', // input, select\n 'pattern', // input\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'step', // input\n 'size', // input\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of TEXTAREA tag properties and events.\n *\n * @public\n */\nexport const textAreaProperties = toObjectMap(buttonProperties, [\n 'autoCapitalize', // input, textarea\n 'cols', // textarea\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'maxLength', // input, textarea\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'rows', // textarea\n 'wrap', // textarea\n]);\n\n/**\n * An array of SELECT tag properties and events.\n *\n * @public\n */\nexport const selectProperties = toObjectMap(buttonProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'multiple', // input, select\n 'required', // input, select, textarea\n]);\n\nexport const optionProperties = toObjectMap(htmlElementProperties, [\n 'selected', // option\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of TABLE tag properties and events.\n *\n * @public\n */\nexport const tableProperties = toObjectMap(htmlElementProperties, [\n 'cellPadding', // table\n 'cellSpacing', // table\n]);\n\n/**\n * An array of TR tag properties and events.\n *\n * @public\n */\nexport const trProperties = htmlElementProperties;\n\n/**\n * An array of TH tag properties and events.\n *\n * @public\n */\nexport const thProperties = toObjectMap(htmlElementProperties, [\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\n/**\n * An array of TD tag properties and events.\n *\n * @public\n */\nexport const tdProperties = toObjectMap(htmlElementProperties, [\n 'colSpan', // td\n 'headers', // td\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\nexport const colGroupProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\nexport const colProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\n/**\n * An array of FORM tag properties and events.\n *\n * @public\n */\nexport const formProperties = toObjectMap(htmlElementProperties, [\n 'acceptCharset', // form\n 'action', // form\n 'encType', // form\n 'encType', // form\n 'method', // form\n 'noValidate', // form\n 'target', // form\n]);\n\n/**\n * An array of IFRAME tag properties and events.\n *\n * @public\n */\nexport const iframeProperties = toObjectMap(htmlElementProperties, [\n 'allow', // iframe\n 'allowFullScreen', // iframe\n 'allowPaymentRequest', // iframe\n 'allowTransparency', // iframe\n 'csp', // iframe\n 'height', // canvas, embed, iframe, img, input, object, video\n 'importance', // iframe\n 'referrerPolicy', // iframe\n 'sandbox', // iframe\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcDoc', // iframe\n 'width', // canvas, embed, iframe, img, input, object, video,\n]);\n\n/**\n * An array of IMAGE tag properties and events.\n *\n * @public\n */\nexport const imgProperties = toObjectMap(htmlElementProperties, [\n 'alt', // area, img, input\n 'crossOrigin', // img\n 'height', // canvas, embed, iframe, img, input, object, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcSet', // img, source\n 'useMap', // img, object,\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * @deprecated Use imgProperties for img elements.\n */\nexport const imageProperties = imgProperties;\n\n/**\n * An array of DIV tag properties and events.\n *\n * @public\n */\nexport const divProperties = htmlElementProperties;\n\n/**\n * Gets native supported props for an html element provided the allowance set. Use one of the property\n * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given\n * props set. Note that all data- and aria- prefixed attributes will be allowed.\n * NOTE: getNativeProps should always be applied first when adding props to a react component. The\n * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.\n * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to\n * the component after an onClick function is added, then the getNativeProps onClick will override it.\n *\n * @public\n * @param props - The unfiltered input props\n * @param allowedPropsNames - The array or record of allowed prop names.\n * @returns The filtered props\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeProps>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: Record,\n allowedPropNames: string[] | Record,\n excludedPropNames?: string[],\n): T {\n // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for\n // JSX attributes, but that ability is hardcoded into the TS compiler with no analog in TypeScript typings.\n // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then\n // return native props.\n // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797\n\n const isArray = Array.isArray(allowedPropNames);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: Record = {};\n const keys = Object.keys(props);\n\n for (const key of keys) {\n const isNativeProp =\n (!isArray && (allowedPropNames as Record)[key]) ||\n (isArray && (allowedPropNames as string[]).indexOf(key) >= 0) ||\n key.indexOf('data-') === 0 ||\n key.indexOf('aria-') === 0;\n\n if (isNativeProp && (!excludedPropNames || excludedPropNames?.indexOf(key) === -1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result[key] = props![key] as any;\n }\n }\n\n return result as T;\n}\n","import { getWindow } from './dom/getWindow';\n\n/**\n * Fetches an item from session storage without throwing an exception\n * @param key The key of the item to fetch from session storage\n */\nexport function getItem(key: string): string | null {\n let result = null;\n try {\n const win = getWindow();\n result = win ? win.sessionStorage.getItem(key) : null;\n } catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n\n/**\n * Inserts an item into session storage without throwing an exception\n * @param key The key of the item to add to session storage\n * @param data The data to put into session storage\n */\nexport function setItem(key: string, data: string): void {\n try {\n getWindow()?.sessionStorage.setItem(key, data);\n } catch (e) {\n /* Eat the exception */\n }\n}\n","import * as React from 'react';\nimport { ICustomizations } from './Customizations';\n\nexport interface ICustomizerContext {\n customizations: ICustomizations;\n}\n\nexport const CustomizerContext = React.createContext({\n customizations: {\n inCustomizerContext: false,\n settings: {},\n scopedSettings: {},\n },\n});\n","import * as React from 'react';\nimport { ISettings, Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\n\n/**\n * Hook to get Customizations settings from Customizations singleton or CustomizerContext.\n * It will trigger component state update on settings change observed.\n */\nexport function useCustomizationSettings(properties: string[], scopeName?: string): ISettings {\n const forceUpdate = useForceUpdate();\n const { customizations } = React.useContext(CustomizerContext);\n const { inCustomizerContext } = customizations;\n React.useEffect(() => {\n if (!inCustomizerContext) {\n Customizations.observe(forceUpdate);\n }\n return () => {\n if (!inCustomizerContext) {\n Customizations.unobserve(forceUpdate);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- exclude forceUpdate\n }, [inCustomizerContext]);\n\n return Customizations.getSettings(properties, scopeName, customizations);\n}\n\nfunction useForceUpdate() {\n const [, setValue] = React.useState(0);\n return () => setValue(value => ++value);\n}\n","import * as React from 'react';\nimport { IStyleSet, IStyleFunctionOrObject, concatStyleSetsWithProps } from '@uifabric/merge-styles';\nimport { useCustomizationSettings } from './customizations/useCustomizationSettings';\n\nexport interface IPropsWithStyles> {\n styles?: IStyleFunctionOrObject;\n}\n\nexport interface ICustomizableProps {\n /**\n * Name of scope, which can be targeted using the Customizer.\n */\n scope: string;\n\n /**\n * List of fields which can be customized.\n * @defaultvalue [ 'theme', 'styles' ]\n */\n fields?: string[];\n}\n\nconst DefaultFields = ['theme', 'styles'];\n\nexport type StyleFunction = IStyleFunctionOrObject & {\n /** Cache for all style functions. */\n __cachedInputs__: (IStyleFunctionOrObject | undefined)[];\n\n /** True if no styles prop or styles from Customizer is passed to wrapped component. */\n __noStyleOverride__: boolean;\n};\n\n/**\n * The styled HOC wrapper allows you to create a functional wrapper around a given component which will resolve\n * getStyles functional props, and mix customized props passed in using concatStyleSets.\n *\n * @example\n * ```tsx\n * export const Toggle = styled(\n * ToggleBase,\n * props => ({ root: { background: 'red' }})\n * );\n * ```\n * @param Component - The unstyled base component to render, which receives styles.\n * @param baseStyles - The styles which should be curried with the component.\n * @param getProps - A helper which provides default props.\n * @param customizable - An object which defines which props can be customized using the Customizer.\n * @param pure - A boolean indicating if the component should avoid re-rendering when props haven't changed.\n * Note that pure should not be used on components which allow children, or take in complex objects or\n * arrays as props which could mutate on every render.\n */\nexport function styled<\n TComponentProps extends IPropsWithStyles,\n TStyleProps,\n TStyleSet extends IStyleSet\n>(\n Component: React.ComponentClass | React.FunctionComponent,\n baseStyles: IStyleFunctionOrObject,\n getProps?: (props: TComponentProps) => Partial,\n customizable?: ICustomizableProps,\n pure?: boolean,\n): React.FunctionComponent;\nexport function styled<\n TComponentProps extends IPropsWithStyles & React.RefAttributes,\n TStyleProps,\n TStyleSet extends IStyleSet,\n TRef = unknown\n>(\n Component: React.ComponentClass | React.FunctionComponent,\n baseStyles: IStyleFunctionOrObject,\n getProps?: (props: TComponentProps) => Partial,\n customizable?: ICustomizableProps,\n pure?: boolean,\n): React.ForwardRefExoticComponent & React.RefAttributes>;\nexport function styled<\n TComponentProps extends IPropsWithStyles & React.RefAttributes,\n TStyleProps,\n TStyleSet extends IStyleSet,\n TRef = unknown\n>(\n Component: React.ComponentClass | React.FunctionComponent,\n baseStyles: IStyleFunctionOrObject,\n getProps?: (props: TComponentProps) => Partial,\n customizable?: ICustomizableProps,\n pure?: boolean,\n) {\n customizable = customizable || { scope: '', fields: undefined };\n\n const { scope, fields = DefaultFields } = customizable;\n\n const Wrapped = React.forwardRef((props: TComponentProps, forwardedRef: React.Ref) => {\n const styles = React.useRef>();\n\n const settings = useCustomizationSettings(fields, scope);\n const { styles: customizedStyles, dir, ...rest } = settings;\n const additionalProps = getProps ? getProps(props) : undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const cache = (styles.current && (styles.current as any).__cachedInputs__) || [];\n if (!styles.current || customizedStyles !== cache[1] || props.styles !== cache[2]) {\n // Using styled components as the Component arg will result in nested styling arrays.\n const concatenatedStyles: IStyleFunctionOrObject = (styleProps: TStyleProps) =>\n concatStyleSetsWithProps(styleProps, baseStyles, customizedStyles, props.styles);\n\n // The __cachedInputs__ array is attached to the function and consumed by the\n // classNamesFunction as a list of keys to include for memoizing classnames.\n (concatenatedStyles as StyleFunction).__cachedInputs__ = [\n baseStyles,\n customizedStyles,\n props.styles,\n ];\n\n (concatenatedStyles as StyleFunction).__noStyleOverride__ =\n !customizedStyles && !props.styles;\n\n styles.current = concatenatedStyles as StyleFunction;\n }\n\n return ;\n });\n // Function.prototype.name is an ES6 feature, so the cast to any is required until we're\n // able to drop IE 11 support and compile with ES6 libs\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Wrapped.displayName = `Styled${Component.displayName || (Component as any).name}`;\n\n // This preserves backwards compatibility.\n const pureComponent = pure ? React.memo(Wrapped) : Wrapped;\n // Check if the wrapper has a displayName after it has been memoized. Then assign it to the pure component.\n if (Wrapped.displayName) {\n pureComponent.displayName = Wrapped.displayName;\n }\n\n return pureComponent;\n}\n","import { concatStyleSets } from './concatStyleSets';\nimport { IStyleSet } from './IStyleSet';\nimport { IStyleFunctionOrObject } from './IStyleFunction';\nimport { DeepPartial } from './DeepPartial';\n\n/**\n * Concatenates style sets into one, but resolves functional sets using the given props.\n * @param styleProps - Props used to resolve functional sets.\n * @param allStyles - Style sets, which can be functions or objects.\n */\nexport function concatStyleSetsWithProps>(\n styleProps: TStyleProps,\n ...allStyles: (IStyleFunctionOrObject | undefined)[]\n): DeepPartial {\n const result: DeepPartial[] = [];\n for (const styles of allStyles) {\n if (styles) {\n result.push(typeof styles === 'function' ? styles(styleProps) : styles);\n }\n }\n if (result.length === 1) {\n return result[0] as DeepPartial;\n } else if (result.length) {\n // cliffkoh: I cannot figure out how to avoid the cast to any here.\n // It is something to do with the use of Omit in IStyleSet.\n // It might not be necessary once Omit becomes part of lib.d.ts (when we remove our own Omit and rely on\n // the official version).\n return concatStyleSets(...(result as any)) as any;\n }\n\n return {};\n}\n","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n","'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar React = require('react');\n\nvar PropTypes = require('prop-types'); // qr.js doesn't handle error level of zero (M) so we need to do it right,\n// thus the deep require.\n\n\nvar QRCodeImpl = require('qr.js/lib/QRCode');\n\nvar ErrorCorrectLevel = require('qr.js/lib/ErrorCorrectLevel'); // TODO: pull this off of the QRCode class type so it matches.\n\n\n// Convert from UTF-16, forcing the use of byte-mode encoding in our QR Code.\n// This allows us to encode Hanji, Kanji, emoji, etc. Ideally we'd do more\n// detection and not resort to byte-mode if possible, but we're trading off\n// a smaller library for a smaller amount of data we can potentially encode.\n// Based on http://jonisalonen.com/2012/from-utf-16-to-utf-8-in-javascript/\nfunction convertStr(str) {\n var out = '';\n\n for (var i = 0; i < str.length; i++) {\n var charcode = str.charCodeAt(i);\n\n if (charcode < 0x0080) {\n out += String.fromCharCode(charcode);\n } else if (charcode < 0x0800) {\n out += String.fromCharCode(0xc0 | charcode >> 6);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else if (charcode < 0xd800 || charcode >= 0xe000) {\n out += String.fromCharCode(0xe0 | charcode >> 12);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else {\n // This is a surrogate pair, so we'll reconsitute the pieces and work\n // from that\n i++;\n charcode = 0x10000 + ((charcode & 0x3ff) << 10 | str.charCodeAt(i) & 0x3ff);\n out += String.fromCharCode(0xf0 | charcode >> 18);\n out += String.fromCharCode(0x80 | charcode >> 12 & 0x3f);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n }\n }\n\n return out;\n}\n\nvar DEFAULT_PROPS = {\n size: 128,\n level: 'L',\n bgColor: '#FFFFFF',\n fgColor: '#000000',\n includeMargin: false\n};\nvar PROP_TYPES = process.env.NODE_ENV !== 'production' ? {\n value: PropTypes.string.isRequired,\n size: PropTypes.number,\n level: PropTypes.oneOf(['L', 'M', 'Q', 'H']),\n bgColor: PropTypes.string,\n fgColor: PropTypes.string,\n includeMargin: PropTypes.bool,\n imageSettings: PropTypes.shape({\n src: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n excavate: PropTypes.bool,\n x: PropTypes.number,\n y: PropTypes.number\n })\n} : {};\nvar MARGIN_SIZE = 4; // This is *very* rough estimate of max amount of QRCode allowed to be covered.\n// It is \"wrong\" in a lot of ways (area is a terrible way to estimate, it\n// really should be number of modules covered), but if for some reason we don't\n// get an explicit height or width, I'd rather default to something than throw.\n\nvar DEFAULT_IMG_SCALE = 0.1;\n\nfunction generatePath(modules) {\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var ops = [];\n modules.forEach(function (row, y) {\n var start = null;\n row.forEach(function (cell, x) {\n if (!cell && start !== null) {\n // M0 0h7v1H0z injects the space with the move and drops the comma,\n // saving a char per operation\n ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n start = null;\n return;\n } // end of row, clean up or skip\n\n\n if (x === row.length - 1) {\n if (!cell) {\n // We would have closed the op above already so this can only mean\n // 2+ light modules in a row.\n return;\n }\n\n if (start === null) {\n // Just a single dark module.\n ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n } else {\n // Otherwise finish the current line.\n ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n }\n\n return;\n }\n\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join('');\n} // We could just do this in generatePath, except that we want to support\n// non-Path2D canvas, so we need to keep it an explicit step.\n\n\nfunction excavateModules(modules, excavation) {\n return modules.slice().map(function (row, y) {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n\n return row.map(function (cell, x) {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n\n return false;\n });\n });\n}\n\nfunction getImageSettings(props, cells) {\n var imageSettings = props.imageSettings,\n size = props.size,\n includeMargin = props.includeMargin;\n\n if (imageSettings == null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n var scale = numCells / size;\n var w = (imageSettings.width || defaultSize) * scale;\n var h = (imageSettings.height || defaultSize) * scale;\n var x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n var y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n var excavation = null;\n\n if (imageSettings.excavate) {\n var floorX = Math.floor(x);\n var floorY = Math.floor(y);\n var ceilW = Math.ceil(w + x - floorX);\n var ceilH = Math.ceil(h + y - floorY);\n excavation = {\n x: floorX,\n y: floorY,\n w: ceilW,\n h: ceilH\n };\n }\n\n return {\n x: x,\n y: y,\n h: h,\n w: w,\n excavation: excavation\n };\n} // For canvas we're going to switch our drawing mode based on whether or not\n// the environment supports Path2D. We only need the constructor to be\n// supported, but Edge doesn't actually support the path (string) type\n// argument. Luckily it also doesn't support the addPath() method. We can\n// treat that as the same thing.\n\n\nvar SUPPORTS_PATH2D = function () {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n\n return true;\n}();\n\nvar QRCodeCanvas =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(QRCodeCanvas, _React$PureComponent);\n\n function QRCodeCanvas() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, QRCodeCanvas);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(QRCodeCanvas)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"_canvas\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_image\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n imgLoaded: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleImageLoad\", function () {\n _this.setState({\n imgLoaded: true\n });\n });\n\n return _this;\n }\n\n _createClass(QRCodeCanvas, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this._image && this._image.complete) {\n this.handleImageLoad();\n }\n\n this.update();\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this$props$imageSett, _nextProps$imageSetti;\n\n var currentSrc = (_this$props$imageSett = this.props.imageSettings) === null || _this$props$imageSett === void 0 ? void 0 : _this$props$imageSett.src;\n var nextSrc = (_nextProps$imageSetti = nextProps.imageSettings) === null || _nextProps$imageSetti === void 0 ? void 0 : _nextProps$imageSetti.src;\n\n if (currentSrc !== nextSrc) {\n this.setState({\n imgLoaded: false\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.update();\n }\n }, {\n key: \"update\",\n value: function update() {\n var _this$props = this.props,\n value = _this$props.value,\n size = _this$props.size,\n level = _this$props.level,\n bgColor = _this$props.bgColor,\n fgColor = _this$props.fgColor,\n includeMargin = _this$props.includeMargin,\n imageSettings = _this$props.imageSettings; // We'll use type===-1 to force QRCode to automatically pick the best type\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n\n if (this._canvas != null) {\n var canvas = this._canvas;\n var ctx = canvas.getContext('2d');\n\n if (!ctx) {\n return;\n }\n\n var cells = qrcode.modules;\n\n if (cells === null) {\n return;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n } // We're going to scale this so that the number of drawable units\n // matches the number of cells. This avoids rounding issues, but does\n // result in some potentially unwanted single pixel issues between\n // blocks, only in environments that don't support Path2D.\n\n\n var pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n var scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale); // Draw solid background, only paint dark modules.\n\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n\n if (SUPPORTS_PATH2D) {\n // $FlowFixMe: Path2D c'tor doesn't support args yet.\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function (row, rdx) {\n row.forEach(function (cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n\n if (this.state.imgLoaded && this._image && calculatedImageSettings != null) {\n ctx.drawImage(this._image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n value = _this$props2.value,\n size = _this$props2.size,\n level = _this$props2.level,\n bgColor = _this$props2.bgColor,\n fgColor = _this$props2.fgColor,\n style = _this$props2.style,\n includeMargin = _this$props2.includeMargin,\n imageSettings = _this$props2.imageSettings,\n otherProps = _objectWithoutProperties(_this$props2, [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"style\", \"includeMargin\", \"imageSettings\"]);\n\n var canvasStyle = _objectSpread({\n height: size,\n width: size\n }, style);\n\n var img = null;\n var imgSrc = imageSettings && imageSettings.src;\n\n if (imageSettings != null && imgSrc != null) {\n img = React.createElement(\"img\", {\n src: imgSrc,\n style: {\n display: 'none'\n },\n onLoad: this.handleImageLoad,\n ref: function ref(_ref) {\n return _this2._image = _ref;\n }\n });\n }\n\n return React.createElement(React.Fragment, null, React.createElement(\"canvas\", _extends({\n style: canvasStyle,\n height: size,\n width: size,\n ref: function ref(_ref2) {\n return _this2._canvas = _ref2;\n }\n }, otherProps)), img);\n }\n }]);\n\n return QRCodeCanvas;\n}(React.PureComponent);\n\n_defineProperty(QRCodeCanvas, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n QRCodeCanvas.propTypes = PROP_TYPES;\n}\n\nvar QRCodeSVG =\n/*#__PURE__*/\nfunction (_React$PureComponent2) {\n _inherits(QRCodeSVG, _React$PureComponent2);\n\n function QRCodeSVG() {\n _classCallCheck(this, QRCodeSVG);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(QRCodeSVG).apply(this, arguments));\n }\n\n _createClass(QRCodeSVG, [{\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n value = _this$props3.value,\n size = _this$props3.size,\n level = _this$props3.level,\n bgColor = _this$props3.bgColor,\n fgColor = _this$props3.fgColor,\n includeMargin = _this$props3.includeMargin,\n imageSettings = _this$props3.imageSettings,\n otherProps = _objectWithoutProperties(_this$props3, [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"includeMargin\", \"imageSettings\"]); // We'll use type===-1 to force QRCode to automatically pick the best type\n\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n var cells = qrcode.modules;\n\n if (cells === null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n var image = null;\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n\n image = React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n } // Drawing strategy: instead of a rect per module, we're going to create a\n // single path for the dark modules and layer that on top of a light rect,\n // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n // way faster than DOM ops.\n // For level 1, 441 nodes -> 2\n // For level 40, 31329 -> 2\n\n\n var fgPath = generatePath(cells, margin);\n return React.createElement(\"svg\", _extends({\n shapeRendering: \"crispEdges\",\n height: size,\n width: size,\n viewBox: \"0 0 \".concat(numCells, \" \").concat(numCells)\n }, otherProps), React.createElement(\"path\", {\n fill: bgColor,\n d: \"M0,0 h\".concat(numCells, \"v\").concat(numCells, \"H0z\")\n }), React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath\n }), image);\n }\n }]);\n\n return QRCodeSVG;\n}(React.PureComponent);\n\n_defineProperty(QRCodeSVG, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n QRCodeSVG.propTypes = PROP_TYPES;\n}\n\nvar QRCode = function QRCode(props) {\n var renderAs = props.renderAs,\n otherProps = _objectWithoutProperties(props, [\"renderAs\"]);\n\n var Component = renderAs === 'svg' ? QRCodeSVG : QRCodeCanvas;\n return React.createElement(Component, otherProps);\n};\n\nQRCode.defaultProps = _objectSpread({\n renderAs: 'canvas'\n}, DEFAULT_PROPS);\nmodule.exports = QRCode;","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = __importStar(require(\"react\"));\nvar fast_deep_equal_1 = __importDefault(require(\"fast-deep-equal\"));\nvar PropTypes = __importStar(require(\"prop-types\"));\nfunction normalizeHtml(str) {\n return str && str.replace(/ |\\u202F|\\u00A0/g, ' ');\n}\nfunction replaceCaret(el) {\n // Place the caret at the end of the element\n var target = document.createTextNode('');\n el.appendChild(target);\n // do not move caret if element was not focused\n var isTargetFocused = document.activeElement === el;\n if (target !== null && target.nodeValue !== null && isTargetFocused) {\n var sel = window.getSelection();\n if (sel !== null) {\n var range = document.createRange();\n range.setStart(target, target.nodeValue.length);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n if (el instanceof HTMLElement)\n el.focus();\n }\n}\n/**\n * A simple component for an html element with editable contents.\n */\nvar ContentEditable = /** @class */ (function (_super) {\n __extends(ContentEditable, _super);\n function ContentEditable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.lastHtml = _this.props.html;\n _this.el = typeof _this.props.innerRef === 'function' ? { current: null } : React.createRef();\n _this.getEl = function () { return (_this.props.innerRef && typeof _this.props.innerRef !== 'function' ? _this.props.innerRef : _this.el).current; };\n _this.emitChange = function (originalEvt) {\n var el = _this.getEl();\n if (!el)\n return;\n var html = el.innerHTML;\n if (_this.props.onChange && html !== _this.lastHtml) {\n // Clone event with Object.assign to avoid\n // \"Cannot assign to read only property 'target' of object\"\n var evt = Object.assign({}, originalEvt, {\n target: {\n value: html\n }\n });\n _this.props.onChange(evt);\n }\n _this.lastHtml = html;\n };\n return _this;\n }\n ContentEditable.prototype.render = function () {\n var _this = this;\n var _a = this.props, tagName = _a.tagName, html = _a.html, innerRef = _a.innerRef, props = __rest(_a, [\"tagName\", \"html\", \"innerRef\"]);\n return React.createElement(tagName || 'div', __assign(__assign({}, props), { ref: typeof innerRef === 'function' ? function (current) {\n innerRef(current);\n _this.el.current = current;\n } : innerRef || this.el, onInput: this.emitChange, onBlur: this.props.onBlur || this.emitChange, onKeyUp: this.props.onKeyUp || this.emitChange, onKeyDown: this.props.onKeyDown || this.emitChange, contentEditable: !this.props.disabled, dangerouslySetInnerHTML: { __html: html } }), this.props.children);\n };\n ContentEditable.prototype.shouldComponentUpdate = function (nextProps) {\n var props = this.props;\n var el = this.getEl();\n // We need not rerender if the change of props simply reflects the user's edits.\n // Rerendering in this case would make the cursor/caret jump\n // Rerender if there is no element yet... (somehow?)\n if (!el)\n return true;\n // ...or if html really changed... (programmatically, not by user edit)\n if (normalizeHtml(nextProps.html) !== normalizeHtml(el.innerHTML)) {\n return true;\n }\n // Handle additional properties\n return props.disabled !== nextProps.disabled ||\n props.tagName !== nextProps.tagName ||\n props.className !== nextProps.className ||\n props.innerRef !== nextProps.innerRef ||\n !fast_deep_equal_1.default(props.style, nextProps.style);\n };\n ContentEditable.prototype.componentDidUpdate = function () {\n var el = this.getEl();\n if (!el)\n return;\n // Perhaps React (whose VDOM gets outdated because we often prevent\n // rerendering) did not update the DOM. So we update it manually now.\n if (this.props.html !== el.innerHTML) {\n el.innerHTML = this.lastHtml = this.props.html;\n }\n replaceCaret(el);\n };\n ContentEditable.propTypes = {\n html: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n tagName: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ])\n };\n return ContentEditable;\n}(React.Component));\nexports.default = ContentEditable;\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a!==a && b!==b;\n};\n","/** @license React v16.9.0\n * react-dom-server.browser.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n'use strict';var l=require(\"object-assign\"),m=require(\"react\");function r(a){for(var b=a.message,d=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+b,c=1;cG;G++)E[G]=G+1;E[15]=0;\nvar na=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,oa=Object.prototype.hasOwnProperty,pa={},qa={};\nfunction ra(a){if(oa.call(qa,a))return!0;if(oa.call(pa,a))return!1;if(na.test(a))return qa[a]=!0;pa[a]=!0;return!1}function sa(a,b,d,c){if(null!==d&&0===d.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(c)return!1;if(null!==d)return!d.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction ta(a,b,d,c){if(null===b||\"undefined\"===typeof b||sa(a,b,d,c))return!0;if(c)return!1;if(null!==d)switch(d.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function I(a,b,d,c,f,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=c;this.attributeNamespace=f;this.mustUseProperty=d;this.propertyName=a;this.type=b;this.sanitizeURL=e}var J={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){J[a]=new I(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];J[b]=new I(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){J[a]=new I(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){J[a]=new I(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){J[a]=new I(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){J[a]=new I(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){J[a]=new I(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){J[a]=new I(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){J[a]=new I(a,5,!1,a.toLowerCase(),null,!1)});var K=/[\\-:]([a-z])/g;function L(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(K,\nL);J[b]=new I(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(K,L);J[b]=new I(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(K,L);J[b]=new I(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){J[a]=new I(a,1,!1,a.toLowerCase(),null,!1)});\nJ.xlinkHref=new I(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){J[a]=new I(a,1,!1,a.toLowerCase(),null,!0)});var ua=/[\"'&<>]/;\nfunction M(a){if(\"boolean\"===typeof a||\"number\"===typeof a)return\"\"+a;a=\"\"+a;var b=ua.exec(a);if(b){var d=\"\",c,f=0;for(c=b.index;cU))throw r(Error(301));if(a===N)if(R=!0,a={action:d,next:null},null===T&&(T=new Map),d=T.get(b),void 0===d)T.set(b,a);else{for(b=d;null!==b.next;)b=b.next;b.next=a}}function Ba(){}\nvar X=0,Ca={readContext:function(a){var b=X;D(a,b);return a[b]},useContext:function(a){V();var b=X;D(a,b);return a[b]},useMemo:function(a,b){N=V();P=W();b=void 0===b?null:b;if(null!==P){var d=P.memoizedState;if(null!==d&&null!==b){a:{var c=d[1];if(null===c)c=!1;else{for(var f=0;f=e))throw r(Error(304));var h=new Uint16Array(e);h.set(f);E=h;E[0]=c+1;for(f=c;f=g.children.length){var H=g.footer;\"\"!==H&&(this.previousWasTextNode=!1);this.stack.pop();if(\"select\"===g.type)this.currentSelectValue=null;else if(null!=g.type&&null!=g.type.type&&g.type.type.$$typeof===x)this.popProvider(g.type);else if(g.type===A){this.suspenseDepth--;var F=f.pop();if(e){e=!1;var n=g.fallbackFrame;if(!n)throw r(Error(303));this.stack.push(n);\nf[this.suspenseDepth]+=\"\\x3c!--$!--\\x3e\";continue}else f[this.suspenseDepth]+=F}f[this.suspenseDepth]+=H}else{var w=g.children[g.childIndex++],p=\"\";try{p+=this.render(w,g.context,g.domNamespace)}catch(k){throw k;}finally{}f.length<=this.suspenseDepth&&f.push(\"\");f[this.suspenseDepth]+=p}}return f[0]}finally{Ka.current=c,X=b}};a.prototype.render=function(a,d,c){if(\"string\"===typeof a||\"number\"===typeof a){c=\"\"+a;if(\"\"===c)return\"\";if(this.makeStaticMarkup)return M(c);if(this.previousWasTextNode)return\"\\x3c!-- --\\x3e\"+\nM(c);this.previousWasTextNode=!0;return M(c)}d=Ta(a,d,this.threadID);a=d.child;d=d.context;if(null===a||!1===a)return\"\";if(!m.isValidElement(a)){if(null!=a&&null!=a.$$typeof){c=a.$$typeof;if(c===aa)throw r(Error(257));throw r(Error(258),c.toString());}a=Z(a);this.stack.push({type:null,domNamespace:c,children:a,childIndex:0,context:d,footer:\"\"});return\"\"}var b=a.type;if(\"string\"===typeof b)return this.renderDOM(a,d,c);switch(b){case ba:case ea:case ca:case ha:case v:return a=Z(a.props.children),this.stack.push({type:null,\ndomNamespace:c,children:a,childIndex:0,context:d,footer:\"\"}),\"\";case A:throw r(Error(294));}if(\"object\"===typeof b&&null!==b)switch(b.$$typeof){case fa:N={};var e=b.render(a.props,a.ref);e=xa(b.render,a.props,e,a.ref);e=Z(e);this.stack.push({type:null,domNamespace:c,children:e,childIndex:0,context:d,footer:\"\"});return\"\";case ia:return a=[m.createElement(b.type,l({ref:a.ref},a.props))],this.stack.push({type:null,domNamespace:c,children:a,childIndex:0,context:d,footer:\"\"}),\"\";case x:return b=Z(a.props.children),\nc={type:a,domNamespace:c,children:b,childIndex:0,context:d,footer:\"\"},this.pushProvider(a),this.stack.push(c),\"\";case da:b=a.type;e=a.props;var h=this.threadID;D(b,h);b=Z(e.children(b[h]));this.stack.push({type:a,domNamespace:c,children:b,childIndex:0,context:d,footer:\"\"});return\"\";case ka:throw r(Error(338));case ja:throw r(Error(295));}throw r(Error(130),null==b?b:typeof b,\"\");};a.prototype.renderDOM=function(a,d,c){var b=a.type.toLowerCase();c===Da.html&&Ea(b);if(!Na.hasOwnProperty(b)){if(!Ma.test(b))throw r(Error(65),\nb);Na[b]=!0}var e=a.props;if(\"input\"===b)e=l({type:void 0},e,{defaultChecked:void 0,defaultValue:void 0,value:null!=e.value?e.value:e.defaultValue,checked:null!=e.checked?e.checked:e.defaultChecked});else if(\"textarea\"===b){var h=e.value;if(null==h){h=e.defaultValue;var g=e.children;if(null!=g){if(null!=h)throw r(Error(92));if(Array.isArray(g)){if(!(1>=g.length))throw r(Error(93));g=g[0]}h=\"\"+g}null==h&&(h=\"\")}e=l({},e,{value:void 0,children:\"\"+h})}else if(\"select\"===b)this.currentSelectValue=null!=\ne.value?e.value:e.defaultValue,e=l({},e,{value:void 0});else if(\"option\"===b){g=this.currentSelectValue;var H=Pa(e.children);if(null!=g){var F=null!=e.value?e.value+\"\":H;h=!1;if(Array.isArray(g))for(var n=0;n\":(z+=\">\",h=\"\");a:{g=e.dangerouslySetInnerHTML;if(null!=g){if(null!=g.__html){g=g.__html;break a}}else if(g=e.children,\"string\"===typeof g||\"number\"===typeof g){g=M(g);break a}g=null}null!=g?(e=[],La[b]&&\"\\n\"===g.charAt(0)&&(z+=\"\\n\"),z+=g):e=Z(e.children);a=a.type;c=null==c||\"http://www.w3.org/1999/xhtml\"===c?Ea(a):\"http://www.w3.org/2000/svg\"===c&&\"foreignObject\"===a?\"http://www.w3.org/1999/xhtml\":\nc;this.stack.push({domNamespace:c,type:b,children:e,childIndex:0,context:d,footer:h});this.previousWasTextNode=!1;return z};return a}(),Va={renderToString:function(a){a=new Ua(a,!1);try{return a.read(Infinity)}finally{a.destroy()}},renderToStaticMarkup:function(a){a=new Ua(a,!0);try{return a.read(Infinity)}finally{a.destroy()}},renderToNodeStream:function(){throw r(Error(207));},renderToStaticNodeStream:function(){throw r(Error(208));},version:\"16.9.0\"},Wa={default:Va},Xa=Wa&&Va||\nWa;module.exports=Xa.default||Xa;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-dom-server.browser.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom-server.browser.development.js');\n}\n","import React from \"react\";\nimport objectAssign from \"object-assign\";\nconst Iframe = ({ url, allowFullScreen, position, display, height, width, overflow, styles, onLoad, onMouseOver, onMouseOut, scrolling, id, frameBorder, ariaHidden, sandbox, allow, className, title, ariaLabel, ariaLabelledby, name, target, loading, importance, referrerpolicy, allowpaymentrequest, src, key }) => {\n const defaultProps = objectAssign({\n src: src || url,\n target: target || null,\n style: {\n position: position || null,\n display: display || \"initial\",\n overflow: overflow || null\n },\n scrolling: scrolling || null,\n allowpaymentrequest: allowpaymentrequest || null,\n importance: importance || null,\n sandbox: (sandbox && [...sandbox].join(\" \")) || null,\n loading: loading || null,\n styles: styles || null,\n name: name || null,\n className: className || null,\n allowFullScreen: \"allowFullScreen\" || null,\n referrerpolicy: referrerpolicy || null,\n title: title || null,\n allow: allow || null,\n id: id || null,\n \"aria-labelledby\": ariaLabelledby || null,\n \"aria-hidden\": ariaHidden || null,\n \"aria-label\": ariaLabel || null,\n width: width || null,\n height: height || null,\n onLoad: onLoad || null,\n onMouseOver: onMouseOver || null,\n onMouseOut: onMouseOut || null,\n key: key || \"iframe\"\n });\n let props = Object.create(null);\n for (let prop of Object.keys(defaultProps)) {\n if (defaultProps[prop] != null) {\n props[prop] = defaultProps[prop];\n }\n }\n for (let i of Object.keys(props.style)) {\n if (props.style[i] == null) {\n delete props.style[i];\n }\n }\n if (props.styles) {\n for (let key of Object.keys(props.styles)) {\n if (props.styles.hasOwnProperty(key)) {\n props.style[key] = props.styles[key];\n }\n if (Object.keys(props.styles).pop() == key) {\n delete props.styles;\n }\n }\n }\n if (allowFullScreen) {\n if (\"allow\" in props) {\n const currentAllow = props.allow.replace(\"fullscreen\", \"\");\n props.allow = `fullscreen ${currentAllow.trim()}`.trim();\n }\n else {\n props.allow = \"fullscreen\";\n }\n }\n if (frameBorder >= 0) {\n if (!props.style.hasOwnProperty(\"border\")) {\n props.style.border = frameBorder;\n }\n }\n return React.createElement(\"iframe\", Object.assign({}, props));\n};\nexport default Iframe;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _eventlistener = require('eventlistener');\n\nvar _lodash = require('lodash.debounce');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _lodash3 = require('lodash.throttle');\n\nvar _lodash4 = _interopRequireDefault(_lodash3);\n\nvar _parentScroll = require('./utils/parentScroll');\n\nvar _parentScroll2 = _interopRequireDefault(_parentScroll);\n\nvar _inViewport = require('./utils/inViewport');\n\nvar _inViewport2 = _interopRequireDefault(_inViewport);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar LazyLoad = function (_Component) {\n _inherits(LazyLoad, _Component);\n\n function LazyLoad(props) {\n _classCallCheck(this, LazyLoad);\n\n var _this = _possibleConstructorReturn(this, (LazyLoad.__proto__ || Object.getPrototypeOf(LazyLoad)).call(this, props));\n\n _this.lazyLoadHandler = _this.lazyLoadHandler.bind(_this);\n\n if (props.throttle > 0) {\n if (props.debounce) {\n _this.lazyLoadHandler = (0, _lodash2.default)(_this.lazyLoadHandler, props.throttle);\n } else {\n _this.lazyLoadHandler = (0, _lodash4.default)(_this.lazyLoadHandler, props.throttle);\n }\n }\n\n _this.state = { visible: false };\n return _this;\n }\n\n _createClass(LazyLoad, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._mounted = true;\n var eventNode = this.getEventNode();\n\n this.lazyLoadHandler();\n\n if (this.lazyLoadHandler.flush) {\n this.lazyLoadHandler.flush();\n }\n\n (0, _eventlistener.add)(window, 'resize', this.lazyLoadHandler);\n (0, _eventlistener.add)(eventNode, 'scroll', this.lazyLoadHandler);\n\n if (eventNode !== window) (0, _eventlistener.add)(window, 'scroll', this.lazyLoadHandler);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps() {\n if (!this.state.visible) {\n this.lazyLoadHandler();\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(_nextProps, nextState) {\n return nextState.visible;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this._mounted = false;\n if (this.lazyLoadHandler.cancel) {\n this.lazyLoadHandler.cancel();\n }\n\n this.detachListeners();\n }\n }, {\n key: 'getEventNode',\n value: function getEventNode() {\n return (0, _parentScroll2.default)((0, _reactDom.findDOMNode)(this));\n }\n }, {\n key: 'getOffset',\n value: function getOffset() {\n var _props = this.props,\n offset = _props.offset,\n offsetVertical = _props.offsetVertical,\n offsetHorizontal = _props.offsetHorizontal,\n offsetTop = _props.offsetTop,\n offsetBottom = _props.offsetBottom,\n offsetLeft = _props.offsetLeft,\n offsetRight = _props.offsetRight,\n threshold = _props.threshold;\n\n\n var _offsetAll = threshold || offset;\n var _offsetVertical = offsetVertical || _offsetAll;\n var _offsetHorizontal = offsetHorizontal || _offsetAll;\n\n return {\n top: offsetTop || _offsetVertical,\n bottom: offsetBottom || _offsetVertical,\n left: offsetLeft || _offsetHorizontal,\n right: offsetRight || _offsetHorizontal\n };\n }\n }, {\n key: 'lazyLoadHandler',\n value: function lazyLoadHandler() {\n if (!this._mounted) {\n return;\n }\n var offset = this.getOffset();\n var node = (0, _reactDom.findDOMNode)(this);\n var eventNode = this.getEventNode();\n\n if ((0, _inViewport2.default)(node, eventNode, offset)) {\n var onContentVisible = this.props.onContentVisible;\n\n\n this.setState({ visible: true }, function () {\n if (onContentVisible) {\n onContentVisible();\n }\n });\n this.detachListeners();\n }\n }\n }, {\n key: 'detachListeners',\n value: function detachListeners() {\n var eventNode = this.getEventNode();\n\n (0, _eventlistener.remove)(window, 'resize', this.lazyLoadHandler);\n (0, _eventlistener.remove)(eventNode, 'scroll', this.lazyLoadHandler);\n\n if (eventNode !== window) (0, _eventlistener.remove)(window, 'scroll', this.lazyLoadHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n children = _props2.children,\n className = _props2.className,\n height = _props2.height,\n width = _props2.width;\n var visible = this.state.visible;\n\n\n var elStyles = { height: height, width: width };\n var elClasses = 'LazyLoad' + (visible ? ' is-visible' : '') + (className ? ' ' + className : '');\n\n return _react2.default.createElement(this.props.elementType, {\n className: elClasses,\n style: elStyles\n }, visible && _react.Children.only(children));\n }\n }]);\n\n return LazyLoad;\n}(_react.Component);\n\nexports.default = LazyLoad;\n\n\nLazyLoad.propTypes = {\n children: _propTypes2.default.node.isRequired,\n className: _propTypes2.default.string,\n debounce: _propTypes2.default.bool,\n elementType: _propTypes2.default.string,\n height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n offset: _propTypes2.default.number,\n offsetBottom: _propTypes2.default.number,\n offsetHorizontal: _propTypes2.default.number,\n offsetLeft: _propTypes2.default.number,\n offsetRight: _propTypes2.default.number,\n offsetTop: _propTypes2.default.number,\n offsetVertical: _propTypes2.default.number,\n threshold: _propTypes2.default.number,\n throttle: _propTypes2.default.number,\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n onContentVisible: _propTypes2.default.func\n};\n\nLazyLoad.defaultProps = {\n elementType: 'div',\n debounce: true,\n offset: 0,\n offsetBottom: 0,\n offsetHorizontal: 0,\n offsetLeft: 0,\n offsetRight: 0,\n offsetTop: 0,\n offsetVertical: 0,\n throttle: 250\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getElementPosition;\n/*\r\n* Finds element's position relative to the whole document,\r\n* rather than to the viewport as it is the case with .getBoundingClientRect().\r\n*/\nfunction getElementPosition(element) {\n var rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = inViewport;\n\nvar _getElementPosition = require('./getElementPosition');\n\nvar _getElementPosition2 = _interopRequireDefault(_getElementPosition);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isHidden = function isHidden(element) {\n return element.offsetParent === null;\n};\n\nfunction inViewport(element, container, customOffset) {\n if (isHidden(element)) {\n return false;\n }\n\n var top = void 0;\n var bottom = void 0;\n var left = void 0;\n var right = void 0;\n\n if (typeof container === 'undefined' || container === window) {\n top = window.pageYOffset;\n left = window.pageXOffset;\n bottom = top + window.innerHeight;\n right = left + window.innerWidth;\n } else {\n if (!inViewport(container, window, customOffset)) return false;\n\n var containerPosition = (0, _getElementPosition2.default)(container);\n\n top = containerPosition.top;\n left = containerPosition.left;\n bottom = top + container.offsetHeight;\n right = left + container.offsetWidth;\n }\n\n var elementPosition = (0, _getElementPosition2.default)(element);\n\n return top <= elementPosition.top + element.offsetHeight + customOffset.top && bottom >= elementPosition.top - customOffset.bottom && left <= elementPosition.left + element.offsetWidth + customOffset.left && right >= elementPosition.left - customOffset.right;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar style = function style(element, prop) {\n return typeof getComputedStyle !== 'undefined' ? getComputedStyle(element, null).getPropertyValue(prop) : element.style[prop];\n};\n\nvar overflow = function overflow(element) {\n return style(element, 'overflow') + style(element, 'overflow-y') + style(element, 'overflow-x');\n};\n\nvar scrollParent = function scrollParent(element) {\n if (!(element instanceof HTMLElement)) {\n return window;\n }\n\n var parent = element;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nexports.default = scrollParent;","/**\n * Copyright (c) 2013-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\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { Component, createElement } from 'react';\nimport PropTypes from 'prop-types';\n\nvar Manager = function (_Component) {\n _inherits(Manager, _Component);\n\n function Manager() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Manager);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Manager.__proto__ || Object.getPrototypeOf(Manager)).call.apply(_ref, [this].concat(args))), _this), _this._setTargetNode = function (node) {\n _this._targetNode = node;\n }, _this._getTargetNode = function () {\n return _this._targetNode;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Manager, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n popperManager: {\n setTargetNode: this._setTargetNode,\n getTargetNode: this._getTargetNode\n }\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n tag = _props.tag,\n children = _props.children,\n restProps = _objectWithoutProperties(_props, ['tag', 'children']);\n\n if (tag !== false) {\n return createElement(tag, restProps, children);\n } else {\n return children;\n }\n }\n }]);\n\n return Manager;\n}(Component);\n\nManager.childContextTypes = {\n popperManager: PropTypes.object.isRequired\n};\nManager.propTypes = {\n tag: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n};\nManager.defaultProps = {\n tag: 'div'\n};\n\n\nexport default Manager;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport { createElement } from 'react';\nimport PropTypes from 'prop-types';\n\nvar Target = function Target(props, context) {\n var _props$component = props.component,\n component = _props$component === undefined ? 'div' : _props$component,\n innerRef = props.innerRef,\n children = props.children,\n restProps = _objectWithoutProperties(props, ['component', 'innerRef', 'children']);\n\n var popperManager = context.popperManager;\n\n var targetRef = function targetRef(node) {\n popperManager.setTargetNode(node);\n if (typeof innerRef === 'function') {\n innerRef(node);\n }\n };\n\n if (typeof children === 'function') {\n var targetProps = { ref: targetRef };\n return children({ targetProps: targetProps, restProps: restProps });\n }\n\n var componentProps = _extends({}, restProps);\n\n if (typeof component === 'string') {\n componentProps.ref = targetRef;\n } else {\n componentProps.innerRef = targetRef;\n }\n\n return createElement(component, componentProps, children);\n};\n\nTarget.contextTypes = {\n popperManager: PropTypes.object.isRequired\n};\n\nTarget.propTypes = {\n component: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n innerRef: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n};\n\nexport default Target;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { Component, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport PopperJS from 'popper.js';\n\nexport var placements = PopperJS.placements;\n\nvar Popper = function (_Component) {\n _inherits(Popper, _Component);\n\n function Popper() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Popper);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Popper.__proto__ || Object.getPrototypeOf(Popper)).call.apply(_ref, [this].concat(args))), _this), _this.state = {}, _this._setArrowNode = function (node) {\n _this._arrowNode = node;\n }, _this._getTargetNode = function () {\n if (_this.props.target) {\n return _this.props.target;\n } else if (!_this.context.popperManager || !_this.context.popperManager.getTargetNode()) {\n throw new Error('Target missing. Popper must be given a target from the Popper Manager, or as a prop.');\n }\n return _this.context.popperManager.getTargetNode();\n }, _this._getOffsets = function (data) {\n return Object.keys(data.offsets).map(function (key) {\n return data.offsets[key];\n });\n }, _this._isDataDirty = function (data) {\n if (_this.state.data) {\n return JSON.stringify(_this._getOffsets(_this.state.data)) !== JSON.stringify(_this._getOffsets(data));\n } else {\n return true;\n }\n }, _this._updateStateModifier = {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n if (_this._isDataDirty(data)) {\n _this.setState({ data: data });\n }\n return data;\n }\n }, _this._getPopperStyle = function () {\n var data = _this.state.data;\n\n\n if (!_this._popper || !data) {\n return {\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0\n };\n }\n\n return _extends({\n position: data.offsets.popper.position\n }, data.styles);\n }, _this._getPopperPlacement = function () {\n return _this.state.data ? _this.state.data.placement : undefined;\n }, _this._getPopperHide = function () {\n return !!_this.state.data && _this.state.data.hide ? '' : undefined;\n }, _this._getArrowStyle = function () {\n if (!_this.state.data || !_this.state.data.offsets.arrow) {\n return {};\n } else {\n var _this$state$data$offs = _this.state.data.offsets.arrow,\n top = _this$state$data$offs.top,\n left = _this$state$data$offs.left;\n\n return { top: top, left: left };\n }\n }, _this._handlePopperRef = function (node) {\n _this._popperNode = node;\n if (node) {\n _this._createPopper();\n } else {\n _this._destroyPopper();\n }\n if (_this.props.innerRef) {\n _this.props.innerRef(node);\n }\n }, _this._scheduleUpdate = function () {\n _this._popper && _this._popper.scheduleUpdate();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Popper, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n popper: {\n setArrowNode: this._setArrowNode,\n getArrowStyle: this._getArrowStyle\n }\n };\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(lastProps) {\n if (lastProps.placement !== this.props.placement || lastProps.eventsEnabled !== this.props.eventsEnabled || lastProps.target !== this.props.target) {\n this._destroyPopper();\n this._createPopper();\n }\n if (lastProps.children !== this.props.children) {\n this._scheduleUpdate();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this._destroyPopper();\n }\n }, {\n key: '_createPopper',\n value: function _createPopper() {\n var _this2 = this;\n\n var _props = this.props,\n placement = _props.placement,\n eventsEnabled = _props.eventsEnabled,\n positionFixed = _props.positionFixed;\n\n var modifiers = _extends({}, this.props.modifiers, {\n applyStyle: { enabled: false },\n updateState: this._updateStateModifier\n });\n if (this._arrowNode) {\n modifiers.arrow = _extends({}, this.props.modifiers.arrow || {}, {\n element: this._arrowNode\n });\n }\n this._popper = new PopperJS(this._getTargetNode(), this._popperNode, {\n placement: placement,\n positionFixed: positionFixed,\n eventsEnabled: eventsEnabled,\n modifiers: modifiers\n });\n\n // TODO: look into setTimeout scheduleUpdate call, without it, the popper will not position properly on creation\n setTimeout(function () {\n return _this2._scheduleUpdate();\n });\n }\n }, {\n key: '_destroyPopper',\n value: function _destroyPopper() {\n if (this._popper) {\n this._popper.destroy();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n component = _props2.component,\n innerRef = _props2.innerRef,\n placement = _props2.placement,\n eventsEnabled = _props2.eventsEnabled,\n positionFixed = _props2.positionFixed,\n modifiers = _props2.modifiers,\n children = _props2.children,\n restProps = _objectWithoutProperties(_props2, ['component', 'innerRef', 'placement', 'eventsEnabled', 'positionFixed', 'modifiers', 'children']);\n\n var popperStyle = this._getPopperStyle();\n var popperPlacement = this._getPopperPlacement();\n var popperHide = this._getPopperHide();\n\n if (typeof children === 'function') {\n var popperProps = {\n ref: this._handlePopperRef,\n style: popperStyle,\n 'data-placement': popperPlacement,\n 'data-x-out-of-boundaries': popperHide\n };\n return children({\n popperProps: popperProps,\n restProps: restProps,\n scheduleUpdate: this._scheduleUpdate\n });\n }\n\n var componentProps = _extends({}, restProps, {\n style: _extends({}, restProps.style, popperStyle),\n 'data-placement': popperPlacement,\n 'data-x-out-of-boundaries': popperHide\n });\n\n if (typeof component === 'string') {\n componentProps.ref = this._handlePopperRef;\n } else {\n componentProps.innerRef = this._handlePopperRef;\n }\n\n return createElement(component, componentProps, children);\n }\n }]);\n\n return Popper;\n}(Component);\n\nPopper.contextTypes = {\n popperManager: PropTypes.object\n};\nPopper.childContextTypes = {\n popper: PropTypes.object.isRequired\n};\nPopper.propTypes = {\n component: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n innerRef: PropTypes.func,\n placement: PropTypes.oneOf(placements),\n eventsEnabled: PropTypes.bool,\n positionFixed: PropTypes.bool,\n modifiers: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n target: PropTypes.oneOfType([\n // the following check is needed for SSR\n PropTypes.instanceOf(typeof Element !== 'undefined' ? Element : Object), PropTypes.shape({\n getBoundingClientRect: PropTypes.func.isRequired,\n clientWidth: PropTypes.number.isRequired,\n clientHeight: PropTypes.number.isRequired\n })])\n};\nPopper.defaultProps = {\n component: 'div',\n placement: 'bottom',\n eventsEnabled: true,\n positionFixed: false,\n modifiers: {}\n};\n\n\nexport default Popper;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport { createElement } from 'react';\nimport PropTypes from 'prop-types';\n\nvar Arrow = function Arrow(props, context) {\n var _props$component = props.component,\n component = _props$component === undefined ? 'span' : _props$component,\n innerRef = props.innerRef,\n children = props.children,\n restProps = _objectWithoutProperties(props, ['component', 'innerRef', 'children']);\n\n var popper = context.popper;\n\n var arrowRef = function arrowRef(node) {\n popper.setArrowNode(node);\n if (typeof innerRef === 'function') {\n innerRef(node);\n }\n };\n var arrowStyle = popper.getArrowStyle();\n\n if (typeof children === 'function') {\n var arrowProps = {\n ref: arrowRef,\n style: arrowStyle\n };\n return children({ arrowProps: arrowProps, restProps: restProps });\n }\n\n var componentProps = _extends({}, restProps, {\n style: _extends({}, arrowStyle, restProps.style)\n });\n\n if (typeof component === 'string') {\n componentProps.ref = arrowRef;\n } else {\n componentProps.innerRef = arrowRef;\n }\n\n return createElement(component, componentProps, children);\n};\n\nArrow.contextTypes = {\n popper: PropTypes.object.isRequired\n};\n\nArrow.propTypes = {\n component: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n innerRef: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n};\n\nexport default Arrow;","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\nvar shallowEqual = _interopDefault(require('shallowequal'));\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\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(SideEffect, _Component);\n\n function SideEffect() {\n return _Component.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n };\n\n _proto.componentWillMount = function componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.Component);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n inverse: _propTypes2.default.bool,\n color: _propTypes2.default.string,\n block: (0, _utils.deprecated)(_propTypes2.default.bool, 'Please use the props \"body\"'),\n body: _propTypes2.default.bool,\n outline: _propTypes2.default.bool,\n className: _propTypes2.default.string,\n cssModule: _propTypes2.default.object,\n innerRef: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string, _propTypes2.default.func])\n};\n\nvar defaultProps = {\n tag: 'div'\n};\n\nvar Card = function Card(props) {\n var className = props.className,\n cssModule = props.cssModule,\n color = props.color,\n block = props.block,\n body = props.body,\n inverse = props.inverse,\n outline = props.outline,\n Tag = props.tag,\n innerRef = props.innerRef,\n attributes = _objectWithoutProperties(props, ['className', 'cssModule', 'color', 'block', 'body', 'inverse', 'outline', 'tag', 'innerRef']);\n\n var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, 'card', inverse ? 'text-white' : false, block || body ? 'card-body' : false, color ? (outline ? 'border' : 'bg') + '-' + color : false), cssModule);\n\n return _react2.default.createElement(Tag, _extends({}, attributes, { className: classes, ref: innerRef }));\n};\n\nCard.propTypes = propTypes;\nCard.defaultProps = defaultProps;\n\nexports.default = Card;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n className: _propTypes2.default.string,\n cssModule: _propTypes2.default.object\n};\n\nvar defaultProps = {\n tag: 'div'\n};\n\nvar CardBody = function CardBody(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, ['className', 'cssModule', 'tag']);\n\n var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, 'card-body'), cssModule);\n\n return _react2.default.createElement(Tag, _extends({}, attributes, { className: classes }));\n};\n\nCardBody.propTypes = propTypes;\nCardBody.defaultProps = defaultProps;\n\nexports.default = CardBody;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n className: _propTypes2.default.string,\n cssModule: _propTypes2.default.object\n};\n\nvar defaultProps = {\n tag: 'div'\n};\n\nvar CardHeader = function CardHeader(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, ['className', 'cssModule', 'tag']);\n\n var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, 'card-header'), cssModule);\n\n return _react2.default.createElement(Tag, _extends({}, attributes, { className: classes }));\n};\n\nCardHeader.propTypes = propTypes;\nCardHeader.defaultProps = defaultProps;\n\nexports.default = CardHeader;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _transitionStatusToCl;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _Transition = require('react-transition-group/Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = _extends({}, _Transition2.default.propTypes, {\n isOpen: _propTypes2.default.bool,\n children: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.node), _propTypes2.default.node]),\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n className: _propTypes2.default.node,\n navbar: _propTypes2.default.bool,\n cssModule: _propTypes2.default.object,\n innerRef: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string, _propTypes2.default.object])\n});\n\nvar defaultProps = _extends({}, _Transition2.default.defaultProps, {\n isOpen: false,\n appear: false,\n enter: true,\n exit: true,\n tag: 'div',\n timeout: _utils.TransitionTimeouts.Collapse\n});\n\nvar transitionStatusToClassHash = (_transitionStatusToCl = {}, _defineProperty(_transitionStatusToCl, _utils.TransitionStatuses.ENTERING, 'collapsing'), _defineProperty(_transitionStatusToCl, _utils.TransitionStatuses.ENTERED, 'collapse show'), _defineProperty(_transitionStatusToCl, _utils.TransitionStatuses.EXITING, 'collapsing'), _defineProperty(_transitionStatusToCl, _utils.TransitionStatuses.EXITED, 'collapse'), _transitionStatusToCl);\n\nfunction getTransitionClass(status) {\n return transitionStatusToClassHash[status] || 'collapse';\n}\n\nfunction getHeight(node) {\n return node.scrollHeight;\n}\n\nvar Collapse = function (_Component) {\n _inherits(Collapse, _Component);\n\n function Collapse(props) {\n _classCallCheck(this, Collapse);\n\n var _this = _possibleConstructorReturn(this, (Collapse.__proto__ || Object.getPrototypeOf(Collapse)).call(this, props));\n\n _this.state = {\n height: null\n };\n\n ['onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'].forEach(function (name) {\n _this[name] = _this[name].bind(_this);\n });\n return _this;\n }\n\n _createClass(Collapse, [{\n key: 'onEntering',\n value: function onEntering(node, isAppearing) {\n this.setState({ height: getHeight(node) });\n this.props.onEntering(node, isAppearing);\n }\n }, {\n key: 'onEntered',\n value: function onEntered(node, isAppearing) {\n this.setState({ height: null });\n this.props.onEntered(node, isAppearing);\n }\n }, {\n key: 'onExit',\n value: function onExit(node) {\n this.setState({ height: getHeight(node) });\n this.props.onExit(node);\n }\n }, {\n key: 'onExiting',\n value: function onExiting(node) {\n // getting this variable triggers a reflow\n var _unused = node.offsetHeight; // eslint-disable-line no-unused-vars\n this.setState({ height: 0 });\n this.props.onExiting(node);\n }\n }, {\n key: 'onExited',\n value: function onExited(node) {\n this.setState({ height: null });\n this.props.onExited(node);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n Tag = _props.tag,\n isOpen = _props.isOpen,\n className = _props.className,\n navbar = _props.navbar,\n cssModule = _props.cssModule,\n children = _props.children,\n innerRef = _props.innerRef,\n otherProps = _objectWithoutProperties(_props, ['tag', 'isOpen', 'className', 'navbar', 'cssModule', 'children', 'innerRef']);\n\n var height = this.state.height;\n\n // In NODE_ENV=production the Transition.propTypes are wrapped which results in an\n // empty object \"{}\". This is the result of the `react-transition-group` babel\n // configuration settings. Therefore, to ensure that production builds work without\n // error, we can either explicitly define keys or use the Transition.defaultProps.\n // Using the Transition.defaultProps excludes any required props. Thus, the best\n // solution is to explicitly define required props in our utilities and reference these.\n // This also gives us more flexibility in the future to remove the prop-types\n // dependency in distribution builds (Similar to how `react-transition-group` does).\n // Note: Without omitting the `react-transition-group` props, the resulting child\n // Tag component would inherit the Transition properties as attributes for the HTML\n // element which results in errors/warnings for non-valid attributes.\n\n var transitionProps = (0, _utils.pick)(otherProps, _utils.TransitionPropTypeKeys);\n var childProps = (0, _utils.omit)(otherProps, _utils.TransitionPropTypeKeys);\n return _react2.default.createElement(\n _Transition2.default,\n _extends({}, transitionProps, {\n 'in': isOpen,\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }),\n function (status) {\n var collapseClass = getTransitionClass(status);\n var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, collapseClass, navbar && 'navbar-collapse'), cssModule);\n var style = height === null ? null : { height: height };\n return _react2.default.createElement(\n Tag,\n _extends({}, childProps, {\n style: _extends({}, childProps.style, style),\n className: classes,\n ref: _this2.props.innerRef\n }),\n children\n );\n }\n );\n }\n }]);\n\n return Collapse;\n}(_react.Component);\n\nCollapse.propTypes = propTypes;\nCollapse.defaultProps = defaultProps;\nexports.default = Collapse;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _Transition = require('react-transition-group/Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = _extends({}, _Transition2.default.propTypes, {\n children: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.node), _propTypes2.default.node]),\n tag: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func]),\n baseClass: _propTypes2.default.string,\n baseClassActive: _propTypes2.default.string,\n className: _propTypes2.default.string,\n cssModule: _propTypes2.default.object,\n innerRef: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string, _propTypes2.default.func])\n});\n\nvar defaultProps = _extends({}, _Transition2.default.defaultProps, {\n tag: 'div',\n baseClass: 'fade',\n baseClassActive: 'show',\n timeout: _utils.TransitionTimeouts.Fade,\n appear: true,\n enter: true,\n exit: true,\n in: true\n});\n\nfunction Fade(props) {\n var Tag = props.tag,\n baseClass = props.baseClass,\n baseClassActive = props.baseClassActive,\n className = props.className,\n cssModule = props.cssModule,\n children = props.children,\n innerRef = props.innerRef,\n otherProps = _objectWithoutProperties(props, ['tag', 'baseClass', 'baseClassActive', 'className', 'cssModule', 'children', 'innerRef']);\n\n // In NODE_ENV=production the Transition.propTypes are wrapped which results in an\n // empty object \"{}\". This is the result of the `react-transition-group` babel\n // configuration settings. Therefore, to ensure that production builds work without\n // error, we can either explicitly define keys or use the Transition.defaultProps.\n // Using the Transition.defaultProps excludes any required props. Thus, the best\n // solution is to explicitly define required props in our utilities and reference these.\n // This also gives us more flexibility in the future to remove the prop-types\n // dependency in distribution builds (Similar to how `react-transition-group` does).\n // Note: Without omitting the `react-transition-group` props, the resulting child\n // Tag component would inherit the Transition properties as attributes for the HTML\n // element which results in errors/warnings for non-valid attributes.\n\n\n var transitionProps = (0, _utils.pick)(otherProps, _utils.TransitionPropTypeKeys);\n var childProps = (0, _utils.omit)(otherProps, _utils.TransitionPropTypeKeys);\n\n return _react2.default.createElement(\n _Transition2.default,\n transitionProps,\n function (status) {\n var isActive = status === 'entered';\n var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, baseClass, isActive && baseClassActive), cssModule);\n return _react2.default.createElement(\n Tag,\n _extends({ className: classes }, childProps, { ref: innerRef }),\n children\n );\n }\n );\n}\n\nFade.propTypes = propTypes;\nFade.defaultProps = defaultProps;\n\nexports.default = Fade;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _Fade = require('./Fade');\n\nvar _Fade2 = _interopRequireDefault(_Fade);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction noop() {}\n\nvar FadePropTypes = _propTypes2.default.shape(_Fade2.default.propTypes);\n\nvar propTypes = {\n isOpen: _propTypes2.default.bool,\n autoFocus: _propTypes2.default.bool,\n centered: _propTypes2.default.bool,\n size: _propTypes2.default.string,\n toggle: _propTypes2.default.func,\n keyboard: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n labelledBy: _propTypes2.default.string,\n backdrop: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.oneOf(['static'])]),\n onEnter: _propTypes2.default.func,\n onExit: _propTypes2.default.func,\n onOpened: _propTypes2.default.func,\n onClosed: _propTypes2.default.func,\n children: _propTypes2.default.node,\n className: _propTypes2.default.string,\n wrapClassName: _propTypes2.default.string,\n modalClassName: _propTypes2.default.string,\n backdropClassName: _propTypes2.default.string,\n contentClassName: _propTypes2.default.string,\n external: _propTypes2.default.node,\n fade: _propTypes2.default.bool,\n cssModule: _propTypes2.default.object,\n zIndex: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n backdropTransition: FadePropTypes,\n modalTransition: FadePropTypes,\n innerRef: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string, _propTypes2.default.func])\n};\n\nvar propsToOmit = Object.keys(propTypes);\n\nvar defaultProps = {\n isOpen: false,\n autoFocus: true,\n centered: false,\n role: 'dialog',\n backdrop: true,\n keyboard: true,\n zIndex: 1050,\n fade: true,\n onOpened: noop,\n onClosed: noop,\n modalTransition: {\n timeout: _utils.TransitionTimeouts.Modal\n },\n backdropTransition: {\n mountOnEnter: true,\n timeout: _utils.TransitionTimeouts.Fade // uses standard fade transition\n }\n};\n\nvar Modal = function (_React$Component) {\n _inherits(Modal, _React$Component);\n\n function Modal(props) {\n _classCallCheck(this, Modal);\n\n var _this = _possibleConstructorReturn(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).call(this, props));\n\n _this._element = null;\n _this._originalBodyPadding = null;\n _this.getFocusableChildren = _this.getFocusableChildren.bind(_this);\n _this.handleBackdropClick = _this.handleBackdropClick.bind(_this);\n _this.handleBackdropMouseDown = _this.handleBackdropMouseDown.bind(_this);\n _this.handleEscape = _this.handleEscape.bind(_this);\n _this.handleTab = _this.handleTab.bind(_this);\n _this.onOpened = _this.onOpened.bind(_this);\n _this.onClosed = _this.onClosed.bind(_this);\n\n _this.state = {\n isOpen: props.isOpen\n };\n\n if (props.isOpen) {\n _this.init();\n }\n return _this;\n }\n\n _createClass(Modal, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.onEnter) {\n this.props.onEnter();\n }\n\n if (this.state.isOpen && this.props.autoFocus) {\n this.setFocus();\n }\n\n this._isMounted = true;\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.isOpen && !this.props.isOpen) {\n this.setState({ isOpen: nextProps.isOpen });\n }\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n if (nextState.isOpen && !this.state.isOpen) {\n this.init();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (this.props.autoFocus && this.state.isOpen && !prevState.isOpen) {\n this.setFocus();\n }\n\n if (this._element && prevProps.zIndex !== this.props.zIndex) {\n this._element.style.zIndex = this.props.zIndex;\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.onExit) {\n this.props.onExit();\n }\n\n if (this.state.isOpen) {\n this.destroy();\n }\n\n this._isMounted = false;\n }\n }, {\n key: 'onOpened',\n value: function onOpened(node, isAppearing) {\n this.props.onOpened();\n (this.props.modalTransition.onEntered || noop)(node, isAppearing);\n }\n }, {\n key: 'onClosed',\n value: function onClosed(node) {\n // so all methods get called before it is unmounted\n this.props.onClosed();\n (this.props.modalTransition.onExited || noop)(node);\n this.destroy();\n\n if (this._isMounted) {\n this.setState({ isOpen: false });\n }\n }\n }, {\n key: 'setFocus',\n value: function setFocus() {\n if (this._dialog && this._dialog.parentNode && typeof this._dialog.parentNode.focus === 'function') {\n this._dialog.parentNode.focus();\n }\n }\n }, {\n key: 'getFocusableChildren',\n value: function getFocusableChildren() {\n return this._element.querySelectorAll(_utils.focusableElements.join(', '));\n }\n }, {\n key: 'getFocusedChild',\n value: function getFocusedChild() {\n var currentFocus = void 0;\n var focusableChildren = this.getFocusableChildren();\n\n try {\n currentFocus = document.activeElement;\n } catch (err) {\n currentFocus = focusableChildren[0];\n }\n return currentFocus;\n }\n\n // not mouseUp because scrollbar fires it, shouldn't close when user scrolls\n\n }, {\n key: 'handleBackdropClick',\n value: function handleBackdropClick(e) {\n if (e.target === this._mouseDownElement) {\n e.stopPropagation();\n if (!this.props.isOpen || this.props.backdrop !== true) return;\n\n var container = this._dialog;\n\n if (e.target && !container.contains(e.target) && this.props.toggle) {\n this.props.toggle(e);\n }\n }\n }\n }, {\n key: 'handleTab',\n value: function handleTab(e) {\n if (e.which !== 9) return;\n\n var focusableChildren = this.getFocusableChildren();\n var totalFocusable = focusableChildren.length;\n var currentFocus = this.getFocusedChild();\n\n var focusedIndex = 0;\n\n for (var i = 0; i < totalFocusable; i += 1) {\n if (focusableChildren[i] === currentFocus) {\n focusedIndex = i;\n break;\n }\n }\n\n if (e.shiftKey && focusedIndex === 0) {\n e.preventDefault();\n focusableChildren[totalFocusable - 1].focus();\n } else if (!e.shiftKey && focusedIndex === totalFocusable - 1) {\n e.preventDefault();\n focusableChildren[0].focus();\n }\n }\n }, {\n key: 'handleBackdropMouseDown',\n value: function handleBackdropMouseDown(e) {\n this._mouseDownElement = e.target;\n }\n }, {\n key: 'handleEscape',\n value: function handleEscape(e) {\n if (this.props.isOpen && this.props.keyboard && e.keyCode === 27 && this.props.toggle) {\n this.props.toggle(e);\n }\n }\n }, {\n key: 'init',\n value: function init() {\n try {\n this._triggeringElement = document.activeElement;\n } catch (err) {\n this._triggeringElement = null;\n }\n this._element = document.createElement('div');\n this._element.setAttribute('tabindex', '-1');\n this._element.style.position = 'relative';\n this._element.style.zIndex = this.props.zIndex;\n this._originalBodyPadding = (0, _utils.getOriginalBodyPadding)();\n\n (0, _utils.conditionallyUpdateScrollbar)();\n\n document.body.appendChild(this._element);\n if (Modal.openCount === 0) {\n document.body.className = (0, _classnames2.default)(document.body.className, (0, _utils.mapToCssModules)('modal-open', this.props.cssModule));\n }\n Modal.openCount += 1;\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n if (this._element) {\n document.body.removeChild(this._element);\n this._element = null;\n }\n\n if (this._triggeringElement) {\n if (this._triggeringElement.focus) this._triggeringElement.focus();\n this._triggeringElement = null;\n }\n\n if (Modal.openCount <= 1) {\n var modalOpenClassName = (0, _utils.mapToCssModules)('modal-open', this.props.cssModule);\n // Use regex to prevent matching `modal-open` as part of a different class, e.g. `my-modal-opened`\n var modalOpenClassNameRegex = new RegExp('(^| )' + modalOpenClassName + '( |$)');\n document.body.className = document.body.className.replace(modalOpenClassNameRegex, ' ').trim();\n }\n Modal.openCount -= 1;\n\n (0, _utils.setScrollbarWidth)(this._originalBodyPadding);\n }\n }, {\n key: 'renderModalDialog',\n value: function renderModalDialog() {\n var _classNames,\n _this2 = this;\n\n var attributes = (0, _utils.omit)(this.props, propsToOmit);\n var dialogBaseClass = 'modal-dialog';\n\n return _react2.default.createElement(\n 'div',\n _extends({}, attributes, {\n className: (0, _utils.mapToCssModules)((0, _classnames2.default)(dialogBaseClass, this.props.className, (_classNames = {}, _defineProperty(_classNames, 'modal-' + this.props.size, this.props.size), _defineProperty(_classNames, dialogBaseClass + '-centered', this.props.centered), _classNames)), this.props.cssModule),\n role: 'document',\n ref: function ref(c) {\n _this2._dialog = c;\n }\n }),\n _react2.default.createElement(\n 'div',\n {\n className: (0, _utils.mapToCssModules)((0, _classnames2.default)('modal-content', this.props.contentClassName), this.props.cssModule)\n },\n this.props.children\n )\n );\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.isOpen) {\n var _props = this.props,\n wrapClassName = _props.wrapClassName,\n modalClassName = _props.modalClassName,\n backdropClassName = _props.backdropClassName,\n cssModule = _props.cssModule,\n isOpen = _props.isOpen,\n backdrop = _props.backdrop,\n role = _props.role,\n labelledBy = _props.labelledBy,\n external = _props.external,\n innerRef = _props.innerRef;\n\n\n var modalAttributes = {\n onClick: this.handleBackdropClick,\n onMouseDown: this.handleBackdropMouseDown,\n onKeyUp: this.handleEscape,\n onKeyDown: this.handleTab,\n style: { display: 'block' },\n 'aria-labelledby': labelledBy,\n role: role,\n tabIndex: '-1'\n };\n\n var hasTransition = this.props.fade;\n var modalTransition = _extends({}, _Fade2.default.defaultProps, this.props.modalTransition, {\n baseClass: hasTransition ? this.props.modalTransition.baseClass : '',\n timeout: hasTransition ? this.props.modalTransition.timeout : 0\n });\n var backdropTransition = _extends({}, _Fade2.default.defaultProps, this.props.backdropTransition, {\n baseClass: hasTransition ? this.props.backdropTransition.baseClass : '',\n timeout: hasTransition ? this.props.backdropTransition.timeout : 0\n });\n\n var Backdrop = hasTransition ? _react2.default.createElement(_Fade2.default, _extends({}, backdropTransition, {\n 'in': isOpen && !!backdrop,\n cssModule: cssModule,\n className: (0, _utils.mapToCssModules)((0, _classnames2.default)('modal-backdrop', backdropClassName), cssModule)\n })) : _react2.default.createElement('div', { className: (0, _utils.mapToCssModules)((0, _classnames2.default)('modal-backdrop', 'show', backdropClassName), cssModule) });\n\n return _react2.default.createElement(\n _Portal2.default,\n { node: this._element },\n _react2.default.createElement(\n 'div',\n { className: (0, _utils.mapToCssModules)(wrapClassName) },\n _react2.default.createElement(\n _Fade2.default,\n _extends({}, modalAttributes, modalTransition, {\n 'in': isOpen,\n onEntered: this.onOpened,\n onExited: this.onClosed,\n cssModule: cssModule,\n className: (0, _utils.mapToCssModules)((0, _classnames2.default)('modal', modalClassName), cssModule),\n innerRef: innerRef\n }),\n external,\n this.renderModalDialog()\n ),\n Backdrop\n )\n );\n }\n\n return null;\n }\n }]);\n\n return Modal;\n}(_react2.default.Component);\n\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\nModal.openCount = 0;\n\nexports.default = Modal;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n className: _propTypes2.default.string,\n cssModule: _propTypes2.default.object\n};\n\nvar defaultProps = {\n tag: 'div'\n};\n\nvar ModalBody = function ModalBody(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, ['className', 'cssModule', 'tag']);\n\n var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, 'modal-body'), cssModule);\n\n return _react2.default.createElement(Tag, _extends({}, attributes, { className: classes }));\n};\n\nModalBody.propTypes = propTypes;\nModalBody.defaultProps = defaultProps;\n\nexports.default = ModalBody;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n className: _propTypes2.default.string,\n cssModule: _propTypes2.default.object\n};\n\nvar defaultProps = {\n tag: 'div'\n};\n\nvar ModalFooter = function ModalFooter(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, ['className', 'cssModule', 'tag']);\n\n var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, 'modal-footer'), cssModule);\n\n return _react2.default.createElement(Tag, _extends({}, attributes, { className: classes }));\n};\n\nModalFooter.propTypes = propTypes;\nModalFooter.defaultProps = defaultProps;\n\nexports.default = ModalFooter;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n children: _propTypes2.default.node.isRequired,\n node: _propTypes2.default.any\n};\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n }\n }, {\n key: 'render',\n value: function render() {\n if (!_utils.canUseDOM) {\n return null;\n }\n\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n return _reactDom2.default.createPortal(this.props.children, this.props.node || this.defaultNode);\n }\n }]);\n\n return Portal;\n}(_react2.default.Component);\n\nPortal.propTypes = propTypes;\n\nexports.default = Portal;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.focusableElements = exports.defaultToggleEvents = exports.canUseDOM = exports.PopperPlacements = exports.keyCodes = exports.TransitionStatuses = exports.TransitionPropTypeKeys = exports.TransitionTimeouts = exports.targetPropType = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.getScrollbarWidth = getScrollbarWidth;\nexports.setScrollbarWidth = setScrollbarWidth;\nexports.isBodyOverflowing = isBodyOverflowing;\nexports.getOriginalBodyPadding = getOriginalBodyPadding;\nexports.conditionallyUpdateScrollbar = conditionallyUpdateScrollbar;\nexports.setGlobalCssModule = setGlobalCssModule;\nexports.mapToCssModules = mapToCssModules;\nexports.omit = omit;\nexports.pick = pick;\nexports.warnOnce = warnOnce;\nexports.deprecated = deprecated;\nexports.DOMElement = DOMElement;\nexports.isReactRefObj = isReactRefObj;\nexports.findDOMElements = findDOMElements;\nexports.isArrayOrNodeList = isArrayOrNodeList;\nexports.getTarget = getTarget;\nexports.addMultipleEventListeners = addMultipleEventListeners;\n\nvar _lodash = require('lodash.isfunction');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/js/src/modal.js#L436-L443\nfunction getScrollbarWidth() {\n var scrollDiv = document.createElement('div');\n // .modal-scrollbar-measure styles // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/scss/_modal.scss#L106-L113\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n}\n\nfunction setScrollbarWidth(padding) {\n document.body.style.paddingRight = padding > 0 ? padding + 'px' : null;\n}\n\nfunction isBodyOverflowing() {\n return document.body.clientWidth < window.innerWidth;\n}\n\nfunction getOriginalBodyPadding() {\n var style = window.getComputedStyle(document.body, null);\n\n return parseInt(style && style.getPropertyValue('padding-right') || 0, 10);\n}\n\nfunction conditionallyUpdateScrollbar() {\n var scrollbarWidth = getScrollbarWidth();\n // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.6/js/src/modal.js#L433\n var fixedContent = document.querySelectorAll('.fixed-top, .fixed-bottom, .is-fixed, .sticky-top')[0];\n var bodyPadding = fixedContent ? parseInt(fixedContent.style.paddingRight || 0, 10) : 0;\n\n if (isBodyOverflowing()) {\n setScrollbarWidth(bodyPadding + scrollbarWidth);\n }\n}\n\nvar globalCssModule = void 0;\n\nfunction setGlobalCssModule(cssModule) {\n globalCssModule = cssModule;\n}\n\nfunction mapToCssModules() {\n var className = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var cssModule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : globalCssModule;\n\n if (!cssModule) return className;\n return className.split(' ').map(function (c) {\n return cssModule[c] || c;\n }).join(' ');\n}\n\n/**\n * Returns a new object with the key/value pairs from `obj` that are not in the array `omitKeys`.\n */\nfunction omit(obj, omitKeys) {\n var result = {};\n Object.keys(obj).forEach(function (key) {\n if (omitKeys.indexOf(key) === -1) {\n result[key] = obj[key];\n }\n });\n return result;\n}\n\n/**\n * Returns a filtered copy of an object with only the specified keys.\n */\nfunction pick(obj, keys) {\n var pickKeys = Array.isArray(keys) ? keys : [keys];\n var length = pickKeys.length;\n var key = void 0;\n var result = {};\n\n while (length > 0) {\n length -= 1;\n key = pickKeys[length];\n result[key] = obj[key];\n }\n return result;\n}\n\nvar warned = {};\n\nfunction warnOnce(message) {\n if (!warned[message]) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined') {\n console.error(message); // eslint-disable-line no-console\n }\n warned[message] = true;\n }\n}\n\nfunction deprecated(propType, explanation) {\n return function validate(props, propName, componentName) {\n if (props[propName] !== null && typeof props[propName] !== 'undefined') {\n warnOnce('\"' + propName + '\" property of \"' + componentName + '\" has been deprecated.\\n' + explanation);\n }\n\n for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return propType.apply(undefined, [props, propName, componentName].concat(rest));\n };\n}\n\nfunction DOMElement(props, propName, componentName) {\n if (!(props[propName] instanceof Element)) {\n return new Error('Invalid prop `' + propName + '` supplied to `' + componentName + '`. Expected prop to be an instance of Element. Validation failed.');\n }\n}\n\nvar targetPropType = exports.targetPropType = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func, DOMElement, _propTypes2.default.shape({ current: _propTypes2.default.any })]);\n\n/* eslint key-spacing: [\"error\", { afterColon: true, align: \"value\" }] */\n// These are all setup to match what is in the bootstrap _variables.scss\n// https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss\nvar TransitionTimeouts = exports.TransitionTimeouts = {\n Fade: 150, // $transition-fade\n Collapse: 350, // $transition-collapse\n Modal: 300, // $modal-transition\n Carousel: 600 // $carousel-transition\n};\n\n// Duplicated Transition.propType keys to ensure that Reactstrap builds\n// for distribution properly exclude these keys for nested child HTML attributes\n// since `react-transition-group` removes propTypes in production builds.\nvar TransitionPropTypeKeys = exports.TransitionPropTypeKeys = ['in', 'mountOnEnter', 'unmountOnExit', 'appear', 'enter', 'exit', 'timeout', 'onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'];\n\nvar TransitionStatuses = exports.TransitionStatuses = {\n ENTERING: 'entering',\n ENTERED: 'entered',\n EXITING: 'exiting',\n EXITED: 'exited'\n};\n\nvar keyCodes = exports.keyCodes = {\n esc: 27,\n space: 32,\n enter: 13,\n tab: 9,\n up: 38,\n down: 40\n};\n\nvar PopperPlacements = exports.PopperPlacements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\nvar canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction isReactRefObj(target) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object') {\n return 'current' in target;\n }\n return false;\n}\n\nfunction findDOMElements(target) {\n if (isReactRefObj(target)) {\n return target.current;\n }\n if ((0, _lodash2.default)(target)) {\n return target();\n }\n if (typeof target === 'string' && canUseDOM) {\n var selection = document.querySelectorAll(target);\n if (!selection.length) {\n selection = document.querySelectorAll('#' + target);\n }\n if (!selection.length) {\n throw new Error('The target \\'' + target + '\\' could not be identified in the dom, tip: check spelling');\n }\n return selection;\n }\n return target;\n}\n\nfunction isArrayOrNodeList(els) {\n if (els === null) {\n return false;\n }\n return Array.isArray(els) || canUseDOM && typeof els.length === 'number';\n}\n\nfunction getTarget(target) {\n var els = findDOMElements(target);\n if (isArrayOrNodeList(els)) {\n return els[0];\n }\n return els;\n}\n\nvar defaultToggleEvents = exports.defaultToggleEvents = ['touchstart', 'click'];\n\nfunction addMultipleEventListeners(_els, handler, _events) {\n var els = _els;\n if (!isArrayOrNodeList(els)) {\n els = [els];\n }\n\n var events = _events;\n if (typeof events === 'string') {\n events = events.split(/\\s+/);\n }\n\n if (!isArrayOrNodeList(els) || typeof handler !== 'function' || !Array.isArray(events)) {\n throw new Error('\\n The first argument of this function must be DOM node or an array on DOM nodes or NodeList.\\n The second must be a function.\\n The third is a string or an array of strings that represents DOM events\\n ');\n }\n events.forEach(function (event) {\n els.forEach(function (el) {\n el.addEventListener(event, handler);\n });\n });\n return function removeEvents() {\n events.forEach(function (event) {\n els.forEach(function (el) {\n el.removeEventListener(event, handler);\n });\n });\n };\n}\n\nvar focusableElements = exports.focusableElements = ['a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'object', 'embed', '[tabindex]:not(.modal)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'];","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $floor = GetIntrinsic('%Math.floor%');\n\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(fn, 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(fn, 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","var e,t,n,i,r=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:\"v2-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12)}},a=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if(\"first-input\"===e&&!(\"PerformanceEventTiming\"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},o=function(e,t){var n=function n(i){\"pagehide\"!==i.type&&\"hidden\"!==document.visibilityState||(e(i),t&&(removeEventListener(\"visibilitychange\",n,!0),removeEventListener(\"pagehide\",n,!0)))};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)},u=function(e){addEventListener(\"pageshow\",(function(t){t.persisted&&e(t)}),!0)},c=function(e,t,n){var i;return function(r){t.value>=0&&(r||n)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},f=-1,s=function(){return\"hidden\"===document.visibilityState?0:1/0},m=function(){o((function(e){var t=e.timeStamp;f=t}),!0)},v=function(){return f<0&&(f=s(),m(),u((function(){setTimeout((function(){f=s(),m()}),0)}))),{get firstHiddenTime(){return f}}},d=function(e,t){var n,i=v(),o=r(\"FCP\"),f=function(e){\"first-contentful-paint\"===e.name&&(m&&m.disconnect(),e.startTime-1&&e(t)},f=r(\"CLS\",0),s=0,m=[],v=function(e){if(!e.hadRecentInput){var t=m[0],i=m[m.length-1];s&&e.startTime-i.startTime<1e3&&e.startTime-t.startTime<5e3?(s+=e.value,m.push(e)):(s=e.value,m=[e]),s>f.value&&(f.value=s,f.entries=m,n())}},h=a(\"layout-shift\",v);h&&(n=c(i,f,t),o((function(){h.takeRecords().map(v),n(!0)})),u((function(){s=0,l=-1,f=r(\"CLS\",0),n=c(i,f,t)})))},T={passive:!0,capture:!0},y=new Date,g=function(i,r){e||(e=r,t=i,n=new Date,w(removeEventListener),E())},E=function(){if(t>=0&&t1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,t){var n=function(){g(e,t),r()},i=function(){r()},r=function(){removeEventListener(\"pointerup\",n,T),removeEventListener(\"pointercancel\",i,T)};addEventListener(\"pointerup\",n,T),addEventListener(\"pointercancel\",i,T)}(t,e):g(t,e)}},w=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(t){return e(t,S,T)}))},L=function(n,f){var s,m=v(),d=r(\"FID\"),p=function(e){e.startTimeperformance.now())return;n.entries=[t],e(n)}catch(e){}},\"complete\"===document.readyState?setTimeout(t,0):addEventListener(\"load\",(function(){return setTimeout(t,0)}))};export{h as getCLS,d as getFCP,L as getFID,F as getLCP,P as getTTFB};\n"],"names":["setRTL","isRTL","_rtl","getRTL","undefined","document","documentElement","getAttribute","getStyleOptions","rtl","_stylesheet","InjectionMode","REUSE_STYLE_NODE","navigator","test","userAgent","_global","window","config","_rules","_preservedRules","_rulesToInsert","_counter","_keyToClassName","_onResetCallbacks","_classNameToArgs","this","_config","injectionMode","defaultPrefix","namespace","cspSettings","classNameCache","getInstance","_lastStyleElement","ownerDocument","fabricConfig","FabricConfig","Stylesheet","mergeStyles","setConfig","onReset","callback","push","getClassName","displayName","cacheClassName","className","key","args","rules","classNameFromKey","getClassNameCache","argsFromClassName","entry","insertedRulesFromClassName","insertRule","rule","preserve","element","_getStyleElement","sheet","cssRules","length","e","appendChild","createTextNode","onInsertRule","getRules","includePreservedRules","join","reset","forEach","resetKeys","_styleElement","_createStyleElement","requestAnimationFrame","head","styleElement","createElement","nodeToInsertBefore","setAttribute","nonce","nextElementSibling","placeholderStyleTag","_findPlaceholderStyleTag","childNodes","insertBefore","contains","querySelector","concatStyleSets","styleSets","subComponentStyles","mergedSet","workingSubcomponentStyles","currentSet","prop","hasOwnProperty","currentComponentStyles","subCompProp","mergedValue","currentValue","Array","isArray","Object","keys","mergedSubStyles","styleProps","map","styleFunctionOrObject","fontFace","font","_vendorSettings","autoPrefixNames","prefixRules","rulePairs","index","vendorSettings","doc","nav","toLowerCase","isWebkit","style","isMoz","indexOf","isOpera","isMs","getVendorSettings","name","value","NON_PIXEL_NUMBER_PROPS","provideUnits","isNonPixelProp","isVariableOrPrefixed","unit","LEFT","RIGHT","NAME_REPLACEMENTS","VALUE_REPLACEMENTS","rtlifyRules","options","replace","String","parts","split","flipQuad","partIndex","numberVal","parseInt","negateNum","getDisplayName","rootStyle","globalSelectorRegExp","expandSelector","newSelector","currentSelector","extractSelector","selector","__order","extractRules","selectorWithGlobals","replacementInfo","findGlobal","match","exec","v","trim","reverse","reduce","matchIndex","matchEndIndex","replacement","slice","expandCommaSeparatedGlobals","s","separatedSelector","stylesheet","currentRules","arg","expandedRules","propValue","selectors","expandQuads","getKeyForRules","serialized","hasProps","rulesForSelector","propName","repeatString","target","count","serializeRuleEntries","ruleEntries","allEntries","i","charAt","splice","styleToRegistration","registration","rulesToInsert","applyRegistration","specificityMultiplier","processedRule","hiddenContentStyle","position","width","height","margin","padding","border","overflow","_getGlobalClassNames","classNames","disableGlobalClassNames","styleSheet","acc","getGlobalClassNames","theme","HighContrastSelector","getEdgeChromiumNoHighContrastAdjustSelector","forcedColorAdjust","MsHighContrastAdjust","keyframes","timeline","rulesArray","packagesCache","_win","setVersion","packageName","packageVersion","packages","__packages__","_theme","_onThemeChangeCallbacks","ThemeSettingName","initializeThemeInCustomizations","win","getWindow","legacyTheme","depComments","palette","semanticColors","effects","lines","fonts","fontName","toUpperCase","_loadFonts","Customizations","applySettings","loadTheme","getSettings","props","state","isRendered","componentDidMount","delay","_timeoutId","setTimeout","setState","componentWillUnmount","clearTimeout","render","only","children","defaultProps","extractStyleParts","classes","objects","_processArgs","argsList","translatedArgs","mergeCssSets","classNameSet","concatenatedStyleSet","registrations","styleSetArea","concat","_isRTL","RTL_LOCAL_STORAGE_KEY","savedRTL","persistSetting","getDocument","body","_memoizedClassNames","retVal","classNamesFunction","Map","styleCalcCount","getClassNamesCount","currentMemoizedClassNames","useStaticStyles","__noStyleOverride__","current","disableCaching","_traverseMap","cacheSize","enableClassNameCacheFullWarning","console","warn","trace","clear","_traverseEdge","_normalizeValue","has","set","get","inputs","__cachedInputs__","getValue","defaultValue","globalSettings","_getGlobalSettings","setValue","callbacks","oldValue","changeDescription","id","addChangeListener","cb","__id__","_getCallbacks","removeChangeListener","globalObj","NO_CUSTOMIZATIONS","settings","scopedSettings","inCustomizerContext","_allSettings","GlobalSettings","_events","_raiseChange","applyScopedSettings","scopeName","properties","localSettings","localScopedSettings","globalScopedSettings","property","applyBatchedUpdates","code","suppressUpdate","_suppressUpdates","observe","onChange","unobserve","filter","rootElement","el","_window","defaultView","_isSSR","_language","STORAGE_KEY","getLanguage","persistenceType","savedLanguage","result","localStorage","getItem","_initializedStylesheetResets","_resetCounter","_emptyObject","empty","_dictionary","_weakMap","WeakMap","resetMemoizations","memoizeFunction","maxCacheSize","ignoreNullOrUndefinedResult","rootNode","localResetCounter","currentNode","_createNode","_normalizeArg","val","merge","_merge","source","circularReferences","isCircularReference","pop","toObjectMap","items","item","baseElementEvents","baseElementProperties","htmlElementProperties","audioProperties","buttonProperties","divProperties","getNativeProps","allowedPropNames","excludedPropNames","sessionStorage","setItem","data","CustomizerContext","customizations","useCustomizationSettings","forceUpdate","DefaultFields","styled","Component","baseStyles","getProps","customizable","pure","scope","fields","Wrapped","forwardedRef","styles","dir","additionalProps","cache","customizedStyles","concatenatedStyles","allStyles","concatStyleSetsWithProps","ref","rest","pureComponent","mode","QR8bitByte","MODE_8BIT_BYTE","prototype","getLength","buffer","write","put","charCodeAt","module","exports","QRBitBuffer","bufIndex","Math","floor","num","putBit","getLengthInBits","bit","L","M","Q","H","math","QRPolynomial","shift","Error","offset","multiply","j","gexp","glog","mod","ratio","BitByte","RSBlock","BitBuffer","util","Polynomial","QRCode","typeNumber","errorCorrectLevel","modules","moduleCount","dataCache","dataList","proto","addData","newData","isDark","row","col","getModuleCount","make","rsBlocks","getRSBlocks","totalDataCount","dataCount","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","r","c","minLostPoint","pattern","lostPoint","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","y","x","beginFill","moveTo","lineTo","endFill","pos","getPatternPosition","bits","getBCHTypeNumber","getBCHTypeInfo","inc","bitIndex","byteIndex","dark","getMask","PAD0","PAD1","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","max","rsPoly","getErrorCorrectPolynomial","modPoly","modIndex","totalCodeCount","ECL","QRRSBlock","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","list","QRMath","n","LOG_TABLE","EXP_TABLE","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","Mode","QRMaskPattern","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","d","getBCHDigit","digit","errorCorrectLength","a","type","qrCode","sameCount","darkCount","abs","_typeof","obj","Symbol","iterator","constructor","_extends","assign","arguments","call","apply","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","configurable","writable","_createClass","protoProps","staticProps","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_inherits","subClass","superClass","create","_setPrototypeOf","p","React","QRCodeImpl","ErrorCorrectLevel","convertStr","str","out","charcode","fromCharCode","DEFAULT_PROPS","size","level","bgColor","fgColor","includeMargin","generatePath","ops","start","cell","excavateModules","excavation","h","w","getImageSettings","cells","imageSettings","numCells","defaultSize","scale","excavate","floorX","floorY","ceil","SUPPORTS_PATH2D","Path2D","addPath","QRCodeCanvas","_React$PureComponent","_getPrototypeOf2","_this","_len","_key","imgLoaded","_image","complete","handleImageLoad","update","nextProps","_this$props$imageSett","_nextProps$imageSetti","src","_this$props","qrcode","_canvas","canvas","ctx","getContext","calculatedImageSettings","pixelRatio","devicePixelRatio","fillStyle","fillRect","fill","rdx","cdx","drawImage","_this2","_this$props2","otherProps","canvasStyle","img","imgSrc","display","onLoad","_ref","Fragment","_ref2","PureComponent","QRCodeSVG","_React$PureComponent2","_this$props3","image","xlinkHref","preserveAspectRatio","fgPath","shapeRendering","viewBox","renderAs","extendStatics","__extends","b","__","__assign","t","__rest","__importStar","__esModule","k","__importDefault","fast_deep_equal_1","PropTypes","normalizeHtml","ContentEditable","_super","lastHtml","html","innerRef","createRef","getEl","emitChange","originalEvt","innerHTML","evt","_a","tagName","onInput","onBlur","onKeyUp","onKeyDown","contentEditable","disabled","dangerouslySetInnerHTML","__html","shouldComponentUpdate","default","componentDidUpdate","isTargetFocused","activeElement","nodeValue","sel","getSelection","range","createRange","setStart","collapse","removeAllRanges","addRange","HTMLElement","focus","replaceCaret","propTypes","string","isRequired","func","bool","oneOfType","keyList","hasProp","equal","arrA","arrB","dateA","Date","dateB","getTime","regexpA","RegExp","regexpB","toString","l","m","message","encodeURIComponent","for","aa","ba","ca","da","ea","fa","A","ha","ia","ja","ka","B","$$typeof","_status","_result","C","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","la","D","_threadCount","_currentValue2","E","Uint16Array","G","na","oa","pa","qa","ra","I","f","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","J","K","ua","substring","va","sa","isNaN","ta","N","O","P","R","T","U","V","wa","memoizedState","queue","next","W","xa","ya","za","dispatch","delete","action","last","Aa","bind","Ba","X","Ca","readContext","useContext","useMemo","useReducer","useRef","useState","useLayoutEffect","useCallback","useImperativeHandle","useEffect","useDebugValue","useResponder","responder","Da","Ea","Fa","area","base","br","embed","hr","input","keygen","link","meta","param","track","wbr","Ga","menuitem","Y","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Ha","Ia","Ja","Z","Children","toArray","Ka","La","listing","pre","textarea","Ma","Na","Oa","Qa","Ra","suppressContentEditableWarning","suppressHydrationWarning","Sa","Ta","isReactComponent","g","contextType","contextTypes","ma","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","getDerivedStateFromProps","context","updater","UNSAFE_componentWillMount","componentWillMount","q","u","getChildContext","childContextTypes","S","isValidElement","child","Ua","domNamespace","childIndex","footer","threadID","stack","exhausted","currentSelectValue","previousWasTextNode","makeStaticMarkup","suspenseDepth","contextIndex","contextStack","contextValueStack","destroy","clearProviders","pushProvider","_context","popProvider","read","F","fallbackFrame","renderDOM","defaultChecked","checked","Pa","selected","z","is","Va","renderToString","Infinity","renderToStaticMarkup","renderToNodeStream","renderToStaticNodeStream","version","Wa","Xa","url","allowFullScreen","onMouseOver","onMouseOut","scrolling","frameBorder","ariaHidden","sandbox","allow","title","ariaLabel","ariaLabelledby","loading","importance","referrerpolicy","allowpaymentrequest","currentAllow","_react","_react2","_interopRequireDefault","_propTypes2","_reactDom","_eventlistener","_lodash2","_lodash4","_parentScroll2","_inViewport2","LazyLoad","_Component","lazyLoadHandler","throttle","debounce","visible","_mounted","eventNode","getEventNode","flush","add","_nextProps","nextState","cancel","detachListeners","findDOMNode","_props","offsetVertical","offsetHorizontal","offsetTop","offsetBottom","offsetLeft","offsetRight","_offsetAll","threshold","_offsetVertical","_offsetHorizontal","top","bottom","left","right","getOffset","node","onContentVisible","remove","_props2","elStyles","elClasses","elementType","number","rect","getBoundingClientRect","pageYOffset","pageXOffset","inViewport","container","customOffset","offsetParent","isHidden","innerHeight","innerWidth","containerPosition","_getElementPosition2","offsetHeight","offsetWidth","elementPosition","_getElementPosition","getComputedStyle","getPropertyValue","parent","parentNode","componentWillReceiveProps","prevState","componentWillUpdate","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","Manager","_temp","_setTargetNode","_targetNode","_getTargetNode","popperManager","setTargetNode","getTargetNode","tag","restProps","Target","_props$component","component","targetRef","targetProps","componentProps","placements","Popper","_setArrowNode","_arrowNode","_getOffsets","offsets","_isDataDirty","JSON","stringify","_updateStateModifier","enabled","fn","_getPopperStyle","_popper","popper","pointerEvents","_getPopperPlacement","placement","_getPopperHide","hide","_getArrowStyle","arrow","_this$state$data$offs","_handlePopperRef","_popperNode","_createPopper","_destroyPopper","_scheduleUpdate","scheduleUpdate","setArrowNode","getArrowStyle","lastProps","eventsEnabled","positionFixed","modifiers","applyStyle","updateState","popperStyle","popperPlacement","popperHide","popperProps","Element","clientWidth","clientHeight","Arrow","arrowRef","arrowStyle","arrowProps","_interopDefault","ex","React__default","shallowEqual","canUseDOM","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","WrappedComponent","mountedInstances","SideEffect","peek","rewind","recordedState","_proto","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","newObj","desc","_interopRequireWildcard","_reactLifecyclesCompat","Transition","_React$Component","initialStatus","parentGroup","transitionGroup","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","status","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","timeout","mounting","performEnter","performExit","appearing","timeouts","enterTimeout","onEnter","safeSetState","onEntering","onTransitionEnd","onEntered","_this3","onExit","onExiting","onExited","setNextCallback","_this4","active","event","handler","doesNotHaveTimeoutOrListener","addEndListener","childProps","cloneElement","noop","_default","classNamesShape","timeoutsShape","_classnames2","_utils","inverse","color","block","deprecated","outline","cssModule","Card","Tag","attributes","mapToCssModules","CardBody","CardHeader","_transitionStatusToCl","_Transition2","isOpen","arrayOf","navbar","TransitionTimeouts","Collapse","transitionStatusToClassHash","TransitionStatuses","getHeight","scrollHeight","isAppearing","transitionProps","pick","TransitionPropTypeKeys","omit","collapseClass","getTransitionClass","baseClass","baseClassActive","Fade","isActive","_Portal2","_Fade2","FadePropTypes","shape","autoFocus","centered","toggle","keyboard","role","labelledBy","backdrop","oneOf","onOpened","onClosed","wrapClassName","modalClassName","backdropClassName","contentClassName","external","fade","backdropTransition","modalTransition","propsToOmit","Modal","_element","_originalBodyPadding","getFocusableChildren","handleBackdropClick","handleBackdropMouseDown","handleEscape","handleTab","init","setFocus","_isMounted","_dialog","querySelectorAll","focusableElements","currentFocus","focusableChildren","err","_mouseDownElement","stopPropagation","which","totalFocusable","getFocusedChild","focusedIndex","shiftKey","preventDefault","keyCode","_triggeringElement","getOriginalBodyPadding","conditionallyUpdateScrollbar","openCount","removeChild","modalOpenClassName","modalOpenClassNameRegex","setScrollbarWidth","_classNames","dialogBaseClass","modalAttributes","onClick","onMouseDown","tabIndex","hasTransition","Backdrop","renderModalDialog","ModalBody","ModalFooter","_reactDom2","any","Portal","defaultNode","createPortal","defaultToggleEvents","PopperPlacements","keyCodes","targetPropType","getScrollbarWidth","isBodyOverflowing","scrollbarWidth","fixedContent","bodyPadding","paddingRight","setGlobalCssModule","globalCssModule","omitKeys","pickKeys","warnOnce","propType","explanation","DOMElement","isReactRefObj","findDOMElements","isArrayOrNodeList","getTarget","els","addMultipleEventListeners","_els","events","addEventListener","removeEventListener","scrollDiv","warned","error","Carousel","esc","space","tab","up","down","selection","GetIntrinsic","define","hasDescriptors","gOPD","$TypeError","$floor","loose","functionLengthIsConfigurable","functionLengthIsWritable","objA","objB","compare","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","callBound","inspect","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","curr","prev","$wm","$m","$o","channel","assert","listGet","listHas","listSet","__decorate","decorators","Reflect","decorate","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","generator","Promise","resolve","reject","fulfilled","step","rejected","done","then","__generator","_","label","sent","trys","verb","op","__values","__read","ar","__spreadArrays","il","jl","root","nodeType","freeGlobal","global","punycode","maxInt","regexPunycode","regexNonASCII","regexSeparators","errors","stringFromCharCode","RangeError","array","mapDomain","ucs2decode","extra","output","counter","ucs2encode","digitToBasic","flag","adapt","delta","numPoints","firstTime","baseMinusTMin","decode","basic","oldi","baseMinusT","codePoint","inputLength","bias","lastIndexOf","encode","handledCPCount","basicLength","handledCPCountPlusOne","qMinusT","percentTwenties","Format","formatters","RFC1738","RFC3986","parse","formats","utils","defaults","allowDots","allowPrototypes","allowSparse","arrayLimit","charset","charsetSentinel","comma","decoder","delimiter","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictNullHandling","$0","numberStr","parseArrayValue","parseKeys","givenKey","valuesParsed","segment","chain","leaf","cleanRoot","0","parseObject","opts","isRegExp","normalizeParseOptions","tempObj","cleanStr","limit","skipIndex","part","bracketEqualsPos","maybeMap","encodedVal","combine","parseValues","compact","getSideChannel","arrayPrefixGenerators","brackets","prefix","indices","repeat","pushToArray","arr","valueOrArray","toISO","toISOString","defaultFormat","addQueryPrefix","encoder","encodeValuesOnly","format","formatter","serializeDate","date","skipNulls","sentinel","generateArrayPrefix","commaRoundTrip","sort","sideChannel","tmpSc","findFlag","isBuffer","objKeys","values","adjustedPrefix","keyPrefix","valueSideChannel","normalizeStringifyOptions","arrayFormat","joined","hexTable","arrayToObject","refs","compacted","compactQueue","strWithoutPlus","unescape","decodeURIComponent","defaultEncoder","kind","escape","mapped","mergeTarget","targetItem","Url","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","javascript","hostlessProtocol","slashedProtocol","http","https","ftp","gopher","file","querystring","urlParse","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","simplePath","substr","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","unshift","toASCII","ae","qm","relative","resolveObject","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","isAbsolute","getRandomValues","rnds8","Uint8Array","rng","crypto","msCrypto","uuid","byteToHex","buf","rnds","random","entries","now","PerformanceObserver","supportedEntryTypes","includes","getEntries","buffered","visibilityState","persisted","timeStamp","disconnect","startTime","firstHiddenTime","performance","getEntriesByName","hadRecentInput","takeRecords","passive","capture","entryType","cancelable","processingStart","once","getEntriesByType","timing","navigationStart","responseStart","readyState"],"sourceRoot":""}